回答

收藏

[大赛作品提交] 【进阶三】基于微信itchat与ROS的树莓派物联网服务器实现

Raspberry Pi Raspberry Pi 3905 人阅读 | 0 人回复 | 2017-12-16

本帖最后由 ky123 于 2018-1-31 14:15 编辑

感谢e络盟官方提供的比赛赞助基金。本次实验将使用itchat与ros机器人操作系统实现简单的室内监控服务器,微信手机APP作为客户端.

硬件:树莓派3B
软件:微信APP,itchat,ros-kinetic
-1-
什么是itchat?
itchat官网地址:http://itchat.readthedocs.io/zh/latest/
itchat 是一个开源的微信个人公众号接口,支持 py2 和 py3。itchat 在用户本机运行,除了调用微信接口外,不会向外界发送其他信息,并且源代码都是公开的。所以在使用过程中不必担心会有隐私泄露。
本次实验,将使用itchat的远程通信功能实现室内监控.

-2-
itchat使用
1) 安装 itchat
  1. pip install itchat
复制代码
因为itchat是基于python,所以编程很简单,如果你想要给文件传输助手发一条信息,只需要这样:
  1. import itchat
  2. itchat.auto_login()
  3. itchat.send('Hello, filehelper', toUserName='filehelper')
复制代码
2) itchat的API接口
微信 python 接口 -- itchat 文档
http://www.cnblogs.com/yanjingnan/p/6831464.html

-3-
ubuntu mate 16.04 ROS使用
1) ROS版本选择
因为习惯了ubuntu,所以感觉树莓派原生系统RASPBIAN不怎么好用,安装opencv,ros软件包等都有限制,影响开发.所以选择了ubuntu mate系统,因为是树莓派3B,所以只能安装ubuntu mate 16.04版本的,这就导致不能安装ros indigo,只能安装ros kenitic以上版本.
本次安装的是ROS-Comm(官方推荐),里面仅包含了基本必备内容,没有GUI等工具;
安装教程参考了:http://www.ncnynl.com/archives/201612/1147.html

2) 安装cv_bridge
因为需要将ros格式的image消息转换成opencv所用的mat格式,故需要安装cv_bridge
  1. sudo apt-get install cv-kinetic-cv-bridge
复制代码
由于cv_bridge内部集成了opencv3.3版本,所以需要安装还需要在树莓派上安装opencv3.3
安装教程参考了:http://blog.csdn.net/u010925447/article/details/72190185

-4-
搭建物联网平台
以上步骤全部完成后,即可实现基于ros和itchat的物联网平台
1) 使用VNC远程到树莓派,运行以下指令,talker.py为使用ros编写的一个节点,负责监听手机微信发来的指令以及向手机微信发送消息.
  1. rosrun beginner_tutorials talker.py
复制代码
初始化,然后扫描二维码登录即可


通过设置
  1. itchat.auto_login(hotReload=True)
复制代码
即使程序关闭,一定时间内重新开启也可以不用重新扫码.

2) 远程通信测试
itchat登录成功,将会向微信发送"初始化完成!"


使用微信向服务器发送消息,服务器收到后在终端打印


3) 远程监控实现
微信向服务器发送"look"指令,服务器将会调用树莓派上的摄像头拍一张照片返回给微信,如图所示:


4) 使用rqt_graph查看各节点消息订阅关系如下


<本次更新完>


关注下面的标签,发现更多相似文章
分享到:
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条