基于微信公众平台的智能实验室管理系统设计与实现
2017-04-20王震黄坤彬苏嘉浩何文琪谢锋刘旭
王震+黄坤彬+苏嘉浩+何文琪+谢锋+刘旭帆
摘要:为了改善传统实验室的控制方式,设计了基于微信公众平台的物联网实验室管理系统。本系统基于ZigBee无线传感网络、ARM终端和微信公众平台设计,能够通过ZigBee无线传感网络采集环境数据并进行分析,根据当前环境的状况自动调节设备,实现远程控制以及管理功能;阐述了系统的硬件、软件设计及性能测试。实验结果表明,本系统能够实现便捷的智能实验室管理,并且设备简单、成本较低、易于扩展,具有较高的可行性和可靠性。
关键词:微信公众号;ARM;智能实验室
中图分类号:G471 文献标志码:A 文章编号:1674-9324(2017)14-0013-02
微信公众平台是运营者通过公众号为微信用户提供资讯和服务的平台。通过这个平台,个人、组织、企业甚至政府可以实现和微信用户的全方位沟通,达到方便快捷的效果。ZigBee是一种近距离无线通信技术,因为功耗低,支持的Zigbee节点多,比其他网络通信技术安全,常用于物联网系统作为传输的模块,传输传感器数据或一些简单的控制指令。实验室网关使用的是嵌入式arm开发板,相当于一台PC电脑,但是裁剪了很多没用的功能,把资源占用压缩到最小,不像个人电脑那么笨重,而且不稳定。而嵌入式Linux系统可以长时间开机不会崩溃,就是出现死机情况也有机制重启,保证程序可以长时间运行。通过以上技术设计出可以监控实验室环境数据,并控制实验室电器的功能。还有微信扫码自主借书、还书的实验室管理系统。
一、系统硬件设计
(一)系统总体设计
系统利用温湿度、烟雾、光敏传感器检测环境数据并通过Zigbee网络发送给主控来显示,主控还可以发送指令由Zigbee传输并控制对应的门锁、灯光、窗帘。
(二)硬件模块
1.传感器。传感器是采用北京赛佰特科技有限公司推出的全功能物联网教学科研平台(标准版)和Zigbee模块配套的传感器模块。分别有集成了Zigbee的数字温湿度传感器,集成了Zigbee的烟雾传感器,集成了Zigbee的光敏传感器。
2.Zigbee模块。本系统采用的无线模块是CC2530型号的Zigbee模块,该模块集成了增强型的8051cpu和RF收发器。易于开发,最突出的莫过于它的安全性和低功耗性能,安全性比常见的Wifi强,而且两节5号干电池就可以用上半年甚至一年。
3.ARM智能终端控制器。本系统采用的主控是基于CortexM-A8的S5PV210嵌入式微处理器,微处理器主频稳定运行在1GHz。可运行Linux 2.4.x和Linux 2.6.x内核,支持嵌入式QT、miniGUI等嵌入式图形界面,拥有丰富的接口资源和良好的可扩展性,满足研究和开发嵌入式系统的各个要求。
二、软件功能设计
(一)网关图形界面程序设计
1.开发环境。本项目的开发系统为Ubuntu14.10操作系统,Qt5.3.2 creator软件、编译器gcc 4.5.1(ctng-1.8.1-FA)、QtEmbedded-4.8.5-arm版本;开发板操作系统:linux-2.6.35、环境:Qt4.7/Qtopia2/Qtopia4。
2.交互界面设计。主要界面有5个子界面,分别是(1)主界面:显示各个分界面的功能以及实现与各个分界面的窗口切换;默认该界面可以直接刷卡,借出实验室物品。(2)环境监控界面:通过串口将Zigbee发送过来的环境数据进行处理,然后将处理后的数据显示到环境监控的界面上方便用户的查看。(3)温湿度折线图界面:将室内的温湿度的数据变化用折线图显示在界面上,有利于用户观察一天中室内温湿度的变化情况。(4)设备控制界面:通过串口将各个设备特定的字符串数据发送给Zigbee,Zigbee再将这些数据进行处理,最后得出是哪个设备需要执行哪种功能,然后对设备进行控制。(5)借还书籍界面:实现和Web服务器的通信,然后将添加、删除、借设备、还设备的sql语句通过post请求发送到Web服务器,最后由服务器那边进行数据库的处理。同时借还书籍界面中还有预定书籍的验证功能,可以通过手机预定书籍,然后到预定验证界面输入验证码进行借书籍。
3.服务器通信功能。智能网关和Web服务器之间的通信采用的是http协议,通过发送get和post请求实现:先用Qt的QNetworkAccessManager类实现与WebService建立连接;然后用QNetworkReply类实现与WebService的通信,当然这种通信只是异步流的通信,你会收到WebService的整个xml网页的内容;接着就是根据自己的规则进行解析网页上的信息,根据这些规则进行与WebService通信;最后把自己写好的请求(post请求或get请求)进行串行化,发给WebService。
4.串口通讯功能。先上网下载串口的第三方类,因为下载的文件中有很多,主要有Windows与linux的版本的串口类,我们下载linux版本的文件。经过上面一系列的编写,Qt方面已经有了接收和发送数据的功能,只要Zigbee串口也写好接收和发送功能,那么Qt和Zigbee就可以利用串口用一些指定的命令数据进行通信了。
三、微信公众号搭建与设计
(一)开发人员测试号申请
1.打开任意浏览器。输入http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login
2.下载微信客户端后登录自己的微信帐号,使用其中的扫一扫功能,扫描第一步打开的网页中的二维码。
3.在手机上会出现验证界面。点击“确认登录”按钮,回到电脑的网页,网页将自动跳转,填写微信帐号连接的URL网址,这里我采用的是花生壳固定域名绑定动态IP。
(二)服務器搭建
操作系统:win7/8.1;软件:花生壳、WampServer。简介:①花生壳是一个动态域名转固定IP的动态域名解析软件,无论您在任何网络环境下、连接获得的IP属于动态还是静态,花生壳都可以生成一个固定的域名,自己电脑作为服务器,方便调试,除了每个月限制1G流量外,基本上可以取代各种云服务器。我们使用的版本:2.4.0.2341 Beta。②WampServer在Windows下将PHP+Mysql+Apache集成环境,无需我们自己再一个一个安装和配置,Wamp一键帮你搞定。我们使用的版本:WampServer 2.2。
(三)公众测试号功能设计
微信公众平台是一对多的媒体性行为活动开放应用平台,提供群发推送、自动回复、二维码订阅等功能,并为开发者提供测试号进行微信公众号开发。该测试号公开了一般订阅号没有的接口,开发者开发与自己想要的功能,而无须申请高级的企业号。
本课题采用微信公众测试号进行测试,其优势在于每个微信号有一个唯一的ID码,方便开发者记录用户的信息及对用户提供服务。
智能化的实验室管理是一项比较复杂的技术,发展和完善需要不少的时间。本项目完成了基于微信公众平台的智能实验室管理系统,通过手机即可对实验室的设备进行管理和控制,为实验室管理提供了方便快捷的方法。希望本项目能为智能实验室、智能家居等方面的研究起到一定的参考作用。
参考文献:
[1]王汝传,孙力娟.无线传感器网络技术及其应用[M].北京:人民邮电出版社,2011.
[2]王萍.公共微信开发消息接口的实现技术[J].电脑知识与技术,2015,(11):92-93.