微信智能家居控制系统设计

2017-09-07 20:24周桥梁
数字技术与应用 2017年5期
关键词:微信公众平台智能家居

周桥梁

摘要:本系统使用了基于单片机教学而设计的微型电脑主板Raspberry Pi作为主控制系统,通过Python编程语言,web.py应用框架和微信公众平台。实现了灯光智能控制,家庭视频监控,智能安全预警等功能。具有开发成本低,可移植性强,结构简单,使用便捷等优点,具有很大的推广和教研价值。

关键词:Raspberry Pi;智能家居;家庭安防;微信公众平台

中图分类号:TP368 文献标识码:A 文章编号:1007-9416(2017)05-0158-01

1 前言

根据《中国智能家居设备行业发展环境与市场需求预测分析报告前瞻》分析,目前我国智能家居产品与技术的百花齐放,市场开始明显出现低、中、高不同产品档次的分水岭,行业进入快速成长期。微信公众平台提供了多种事件的推送,如普通文本消息、自定义菜单、新闻等,本项目主要用到自定义菜单。

2 功能设计

本系统是由微信公众号的用户向公众号发出指令,指令到达微信服务器后再由微信服务器转发到Raspberry Pi上,Raspberry Pi再对数据进行处理执行相应的操作然后将反馈送给微信服务器进而让用户接收到返回的信息。同时,在开启了入侵报警和可燃气体泄露报警后,当连接到Raspberry Pi上的传感器感应到报警信息时,Raspberry Pi会主动向指定的用户发送相關的告警信息。也可以在制定的web页面上看到实时视频监控及整个系统的运行状态。

3 软件设计

本系统是以Raspberry Pi为中心,软件设计由以下几个部分组成:传感器的数据收发及处理、与微信服务器进行对接,被动回复消息、主动向微信服务器发送消息、向微信发送图片、web页面查看监控及状态信息这几个部分组成。

微信公众号与Raspberry Pi首次连接时需要进行一次验证,微信服务器将发送GET请求到Raspberry Pi上,并且带有(signature、timestamp、nonce、echostr)四个标签数据,在Raspberry Pi端通过对signatur的效验,来判断此消息是否为来自微信服务器的请求。

当这个系统传感器检测到异常信息(比如有人闯入)时,需要主动向微信用户发送消息。向微信服务器发送消息,首先要根据微信公众平台提供的appID和appsecret来获取一个access_token。这个access_token可以使用7200秒,超时之后需要重新获取。对于图片消息,首先需要上传图片到微信服务器,微信服务器会返回一个media_id,然后需要将包含这个media_id的消息发送给用户。

4 微信功能测试

首先需要在微信公众号管理页面填写服务器的URL地址和设置一个用来验证的Token。然后在Raspberry Pi上运行对接的python程序,如果成功对接,会提示配置成功,Raspberry Pi即可和玩微信服务器正常通信。

对接完成后需要进行微信自定义菜单的创建,本项目中使用的自定义菜单附带有三个参数(菜单名称name、菜单类型type、键值key或者url)。菜单名称即为在客户端显示的菜单名,菜单类型本项目用到click型和view型,用户点击click型菜单时会向Raspberry Pi发送一个在代码中设定的键值key(一个字符串)。用户点击view型菜单会自动跳转到设定的url。写好代码并在微信公众平台管理页面提交后在微信客户端显示如图1所示。

5 结果分析

根据调试结果,整个系统运行正常,返回的数据正确。传感器的灵敏度需要根据实际情况做出响应调整,整套系统在美观程度上也需要通过制作专用电路板和封装外壳得以改善,如果进一步进行优化可以应用到实际家居中,并具有一定的教研价值。

参考文献

[1]刘婵媛.基于物联网的智能家居系统研究与实现[D].北京:北京邮电大学,2012.

[2]Lindsey Kratochwill.树莓派引发制造革命[N].北京科技报,2015-07-06.endprint

猜你喜欢
微信公众平台智能家居
基于PLC的智能家居控制系统研究
智能家居发展或将实现弯道超车
基于微信公众平台的高校综合素质社团建设
基于微信公众平台的阅读推广案例研究
基于微信的大学生微型学习平台的设计与实现
基于微信公众平台的碎片化学习研究
关于智能家居真正需求的探讨
基于LD3320的智能家居控制