查看: 8361|回复: 10
收起左侧

[项目方案] 使用gtalk来控制内网的派

2012-12-1 16:35:22 | 显示全部楼层 |阅读模式
对于像我这样没有外网ip的童鞋来说.如果你有一台外网的linux服务器还能控制..如果一点外网资源都没有的情况下.怎样来远程控制树莓派呢?答案是使用gtalk...
优点是随便找一个gtalk客户端就能控制树莓派并且不用外网IP的哦....
start....

1. 依赖包:xmpppy和pydns
http://xmpppy.sourceforge.net/
http://pydns.sourceforge.net/
下载完以后。安装
python setup.py install
2. 附件解压出来有三个文件
HomeCenter.py processmsg.py PyGtalkRobot.py
只需要打开HomeCenter.py 修改开头的
gtalk_account = 'username@gmail.com'
gtalk_password = 'password'
为你的gtalk账号密码
3. 修改管理员的gtalk账户
修改可以发送命令的管理员gtalk账户
processmsg.py文件中.找到164行上下...把hackers365@gmail.com 修改为你的可以控制的gtalk账户.这个账户发送的命令会被执行.

    def command_999_default(self, user, message, args):
        """(.*?)(?s)(?m)"""
        if user.getStripped() == 'hackers365@gmail.com':
            self.execute_cmd(user, message, message)


4. 运行
如果安装了screen则把它丢进screen执行
screen -dmS robot python HomeCenter.py
没有安装screen 则直接运行
python HomeCenter.py &




5. 扩展
如果你想扩展自己的功能.只需要修改processmsg.py文件

    def command_999_default(self, user, message, args):
        """(.*?)(?s)(?m)"""
        if user.getStripped() == 'hackers365@gmail.com':
            self.execute_cmd(user, message, message)

下边添加以'command_优先级_名称'命名的方法名称.在文件字符串中修改要匹配的正则表达式就OK了.
例:
    def command_100_new_test(self, user, message, args):
        '''^\s*/[dD]\s+(\S+)\s*$'''
        if user.getStripped() == 'hackers365@gmail.com':
            self.execute_cmd(user, message, message)
这是匹配
/d /tmp/1.txt
的正则.你就可以在gtalk中发送/d /tmp/1.txt 然后做你想要的处理了...


附件: homecenter.rar (7 KB, 下载次数: 18)
回复

使用道具 举报

2013-1-22 14:43:42 | 显示全部楼层

使用gtalk来控制内网的派

这个怎没人交流呢?
回复 支持 反对

使用道具 举报

2013-1-22 23:31:33 | 显示全部楼层

使用gtalk来控制内网的派

很牛
回复 支持 反对

使用道具 举报

2013-1-28 11:38:41 | 显示全部楼层

使用gtalk来控制内网的派

如果你能控制路由器的话,人是可以动态ip转为静态域名的。
当然Gtalk也是一种非实时控制方法
回复 支持 反对

使用道具 举报

2013-2-8 11:33:22 | 显示全部楼层

使用gtalk来控制内网的派

GTalk在国内似乎十分容易不好用。。。
回复 支持 反对

使用道具 举报

2013-2-10 00:52:47 | 显示全部楼层

使用gtalk来控制内网的派

这么牛?!!!!!!!
回复 支持 反对

使用道具 举报

2013-2-23 00:40:56 | 显示全部楼层

使用gtalk来控制内网的派

看不太懂。。。能不能写的详细点?
回复 支持 反对

使用道具 举报

2013-2-28 20:22:13 | 显示全部楼层

使用gtalk来控制内网的派

感谢楼主分享
回复 支持 反对

使用道具 举报

2013-8-7 18:08:38 | 显示全部楼层

使用gtalk来控制内网的派

那按这种思路,可以做一个WebQQ的客户端在 pi上跑着, 登陆一个自己的QQ,
然后在自己的另一个QQ上给这个QQ发消息,  pi收到消息之后,做相应的动作...
而且不用GTalk,不更稳定嘛.   
回复 支持 反对

使用道具 举报

2014-11-25 19:17:30 | 显示全部楼层
很实用的教程,适合没有公网ip的用户。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

热点推荐

关注我们,了解更多

官方微信

服务时间:10:00-16:00

13714503811

公司地址:深圳市龙岗区南湾街道东门头路8号

Copyright © 2012-2020 Powered by 树莓派论坛 2019.4  粤ICP备15075382号-1
快速回复 返回列表 返回顶部