Galileo开发板+opencv+微信公众平台实现简单的物联网家庭监控(2)

紧接上篇文章(《Galileo开发板+微信公众平台实现简单的物联网家庭监控》( http://blog.jcix.top/2015-11-27/galileo_wechat/ ) ),
以下功能做了改进:
* 实现了Galileo开发板上用USB摄像头+python版opencv监控并通过微信公众平台进行异常报警的功能。
* 通过connman实现了wifi网络的自动连接和随时修改功能。
* 通过post到服务器,实现了微信控制led灯亮、灭或者光控的功能。

视频监控功能的实现

(完整代码在github: https://github.com/zhangjaycee/galileo_pys/blob/master/cam_wechat.py )

1.图像采集

galileo支持python的opencv库,这给简单的图像处理提供了极大的便利。
图像采集:

2.图像处理

我们要做键控,所以可以记录第一帧,然后通过帧间差别进行报警。

3.报警机制和图像上传

参考:

《用树莓派 + Python + OpenCV 实现家庭监控和移动目标探测(下》( http://python.jobbole.com/81645/ )

connman wifi功能的详细配置

这个过程我写在了下边这篇博客里:
《Intel Galileo开发版PCI-e无线网卡wifi配置》( http://blog.jcix.top/2015-12-10/galileo_connman/ )

实现led灯的亮灭或者光控功能

这个很简单,只要一个post,在服务器端进行相应控制即可。
代码

最终功能

只要Intel Galileo开发板自动连接了家中的WiFi,就开始和我们所搭建的云服务器进行通信,进而通过微信公众号和主人进行双向通信,实现智能家庭监控的一系列功能:
1. 在微信中回复“温度”,查询当前室温。
2. 回复“开灯”,自动打开Galileo开发板所控制的灯(本次设计采用LED代替演示);回复关闭,则自动关闭;回复“光控”,则开发板根据光线传感器采集的室内亮度信息自动开或者关灯。
3. 回复“状态”,返回一张实时的家中照片。
4. 回复“打开监控”,开发板通过所连接的USB摄像头开始进行视频监控,若检测到有异常情况发生,自动通过微信向主人报警,并返回一张标记有异常目标和具体时间的监控照片;回复“关闭监控”,会暂停监控和报警。

功能展示

show0

show1

show2

发表评论

电子邮件地址不会被公开。 必填项已用*标注