陈章余, 姚正武
(江苏省南京工程高等职业学校, 江苏 南京 211135)
近年来,空气质量问题愈发严重,同时,人们也越来越关注环境问题对自身健康所造成的影响,开始重视改善周围的环境质量。随着互联网技术的成熟以及与传统工业升级的结合,新的物联网技术呼之欲出,诸多的物联网终端产品开始推出,这将深刻的改变每个人的生活[1-3]。ZigBee技术作为低功耗双向通信关键技术被广泛地应用于各种物联网应用。基于linux系统的开源硬件RaspberryPi极易扩展,其作为家庭网关也已经广泛应用于各种智能家居场景。
本文研究实现了一种基于ZigBee和RaspberryPi物联网技术的新型的智能楼宇灰尘控制系统[4,5]。利用ZigBee强大的组网通信能力和RaspberryPi便捷的控制与网络服务功能,该系统可以快速地组建楼宇灰尘浓度监控网络,并通过Android和Web客户端等多种终端实时地监测和调节楼宇灰尘浓度。
如图1所示,本文设计的多终端智能楼宇灰尘监控系统由客户端、服务器、ZigBee协调器、空气传感器,空气净化设备五部分组成。该系统以RaspberryPi微型电脑作为智能控制中心,采用ZigBee技术组建了适应楼宇特点的星形拓扑WSN灰尘监控网络,利用TCP/IP协议连接服务器实现了安卓设备和Web客户端对楼宇空气质量的实时远程管理和控制。
考虑到楼宇内办公室及房间分布相对集中的特点,本文采用单一 ZigBee协调器作为中央调制设备,利用众多的RFD终端将灰尘浓度传感器与空气净化设备连入星形拓扑WSN,利用ZigBee灵活的自组网特性,通过简单修改终端ZigBee设备ID的方式便捷地将终端设备批量部署到目标场景中。
RaspberryPi微型电脑作为系统的控制中心,一方面通过USB方式实现中心节点与ZigBee协调器实时的数据交互,另一方面负责主要的空气质量监控算法的实现,与此同时其作为代理服务器负责实现多个网络客户端与服务器的通信。
最后,利用TCP/IP和CGI接口,本文为监控系统设计了Android和Web客户端,通过登录相应终端设备,本系统可以远程实时监控楼宇空气质量,在空气质量不达标时及时给出警告及调控措施,适应了移动互联网时代物联网的监控需求。
图1 系统整体结构图Fig. 1 System overall structure diagram
本文设计的智能楼宇灰尘监控系统硬件部分主要包括中心服务器节点硬件和终端监控节点硬件两部分。
如图2所示,为满足终端设备灵活的部署需求,本文中传感器节点采用自备电源供电,另外ZigBee终端节点采用了休眠模式,使得ZigBee 节点非常省电,本文中所用的碱性电池理论上可以使用2-5年,满足了一次部署永久使用的需求[8-12]。
图2 终端节点硬件结构Fig. 2 Terminal node hardware structure
空气质量检测终端节点负责采集终端空气质量并通过Zigbee发送给控制中心。本文选用的传感器为夏普公司的GP2Y1014AU粉尘浓度传感器,该传感器具有极低的电流消耗(最大电流20mA),正常工作时,其输出的是一个正比于所测得的粉尘浓度的模拟电压,其敏感度为0.5V/0.1mg/m3。本文选用的ZigBee终端是TI 公司的CC2530,其内部集成了高性能射频收发器、 工业标准增强型 8051 MCU内核、265 kB Flash ROM 和 8 kB RAM。最重要的是其拥有12位片内ADC,传感器输出的模拟电压直接经过其内部A/D模块转换为数字量后经过射频模块发射而无需外接其他电路模块[6]。
GP2Y1014AU粉尘浓度传感器为5脚封装,为满足室内检测需求使用时需外接电阻与电容,其电路连接如图3所示,其中引脚5为输出端,接至CC2530的AD采样端口。
图3 粉尘浓度传感器电路Fig. 3 Dust concentration sensor circuit
为调节楼宇内PM2.5,本文空气质量控制终端节点采用科力鑫家用单向流风机,该风机采用交流电驱动,其风速与输入电压正相关。可控硅可以实现交流电的无触点控制,以小电流控制大电流,动作快寿命高,本文选用光控可控硅集成芯片MOC3022作为风扇驱动电路,其电路结构如图4所示。终端节点收到控制信号后,在同步信号产生一定延时输出PWM脉冲到L1_D,利用调节可控硅导通角原理实现输出电压的调节,最终完成风扇的智能调速[9]。
如图5所示,本文选用的控制节点RaspberryPi是一款基于Linux系统的单板机电脑,它配备一枚700MHz博通出产的ARM架构BCM2835,拥有一个Ethernet,两个USB接口,可以方便的与ZigBee协调器及以太网连接[7]。相比传统控制中心,RaspberryPi价格低廉,接口丰富,功能强大,支持嵌入式Linux系统,在满足应用需求的前提下,应用开发简单,运行功耗低,极大的降低了开发和应用成本[13]。
图4 风机驱动电路Fig 4 Fan drive circuit
空气质量监控系统的软件设计主要包括Android客户端应用程序,树莓派代理服务器端程序,以及ZigBee端的数据处理和通信服务程序三个相对独立的模块。
服务器作为系统核心模块其程序主要完成三个任务:
(1) 完成和ZigBee串口协调器的通信,数据读写和校验;
(2)提供TCP/IP服务,Android客户端会通过此服务通信;
(3)提供Web服务,为了实现多终端访问
RaspberryPi服务器端代码结构如图6所示。服务端在启动后,会先初始化串,得到串口文件句柄,然后开启TCP/IP服务,准备接收TCP/IP请求,然后进入天气更新循环,天气数据包括当天实时的网络天气预报和空气质量预报数据,用作空气质量监控的参考值,通过Python爬虫获取。当TCP/IP请求到达时,服务端则会新开启一个线程去处理此请求,包括传感器和风扇状态数据读取和控制指令下发,还有查询天气数据,线程内完成数据准备和校验后将数据返回给此请求端,如果是短链接就结束任务,线程退出,若是长链接就保持线程活跃,等待下一次查询数据到达。由于服务端需要支持多终端同时登陆操作,而ZigBee串口属于临界资源,所以需要加上全局信号量,在一个线程进入临界区后,自阻塞正在请求访问此资源的其他线程,等到当前正在访问串口的设备结束操作,退出临界区,释放资源后,当前等候的线程中的随机一个获准进入临界区,然后立刻上锁。服务器通过RESTful APIs提供基于HTTP的应用服务,后端采用轻量级的Flask框架,接收Web客户端的查询和控制请求,并通过本地回环(127.0.0.1)调用本地的TCP/IP服务,实现完整的查询和控制功能。Web端和Android客户端的轮询周期是1秒,这个时间粒度对于空气质量的变化监测来说,已经足够细了。
图5 RaspberryPi服务器Fig. 5 Raspberry pi server
本系统终端节点主要包含传感器和风机两类设备,两类设备均使用CC2530作为控制器。在传感器节点,控制器以5Hz的频率采样传感器的检出,通过判断输出电压的变化判定检出物浓度与种类。一般而言,小颗粒烟尘密度较高,会使输出端持续性高电压,粗粒度灰尘密度低,断断续续进入监测区域,使输出端表现出间歇性高电平。在获取节点检出物浓度与种类后,控制器以10s间隔将空气质量情况发送给协调器进而通过服务器分享到多个客户端。
在风机节点,控制器实际控制的对象是50Hz的正弦交流信号,如图8所示,该节点通过同步信号检测电路,将同步信号送至单片机的中断口。单片机接收到同步信号后就启动一个延时程序,延时的具体时间由服务器发送过来的控制算法决定。延时结束后,单片机立即产生触发信号。触发信号可使可控硅导通,电流经过可控硅驱动风扇,延时越长,电流通过的时间就越短,风扇转速就越慢。
图6 服务器软件架构图Fig. 6 Server software architecture diagram
在完成硬件平台搭建,软件调试之后,对整个系统进行了实地测试,部署了两个传感器节点和一个风机共三个ZigBee节点,结果表明终端节点不仅可以在协调器上电后快速、顺利地接入ZigBee网络,而且客户端可以快速读取到当前实时传感器数值、风扇档位以及天气预报数据,如图8所示,同时系统可根据当前空气状态下发风扇档位控制指令(停止,低速,中速,全速,自动共五个档位)。存储于Raspberry-Pi服务器中的灰尘种类与浓度结果经Matlab处理后如图9.1和9.2所示,与理论基本一致。
测试表明,风扇不工作时,ZigBee终端加上灰尘传感器的功耗非常低,只有100mW。系统连续运行一周,服务端CPU占用始终在3%上下,平台没有退服,基本稳定可靠。
图7 风机软件流程Fig. 7 Fan software flow
图8 监控系统Web客户端Fig. 8 Monitoring system web client
图9.1 小颗粒粉尘测试结果Fig. 9.1 Small particle dust test results
图9.2 大颗粒粉尘测试结果Fig 9.2 Large particle dust test results
测试表明,本文设计的基于物联网技术的智能楼宇灰尘监控系统功能正确,可靠,实用。该系统基于Raspberry-Pi和ZigBee技术,采用C和Python语言作为开发工具,开发过程简单便捷,项目运行稳定,可以进入到消费产品市场甚至是工业应用环境中。此外该系统预留资源充足,可供将来升级扩展更多功能。
[1] 钱志鸿,王义君. 物联网技术与应用研究[J]. 电子学报. 2012(05): 1023-1029.QIAN Zhi-hong, WANG Yi-jun. Research on technology and application of the Internet of things [J]. electronic journal. 2012 (05): 1023-1029.
[2] 王保云. 物联网技术研究综述[J]. 电子测量与仪器学报. 2009(12): 1-7.WANG Bao-yun. Overview of the technical research on the Internet of things [J]. Journal of electronic measurement and instrumentation.2009 (12): 1-7.
[3] 李志宇. 物联网技术研究进展[J]. 计算机测量与控制. 2012(06): 1445-1448.LI Zhi-yu. Advances in the research of the technology of the Internet of things [J]. computer measurement and control. 2012 (06): 1445-1448.
[4] 黄迪. 物联网的应用和发展研究[Z]. 北京邮电大学, 2011: 硕士, 64.HUANG Di. Research on the application and development of the Internet of things [Z]. Beijing University of Posts and Telecommunications,2011: master, 64.
[5] 刘元安,叶靓,邵谦明,等. 无线传感器网络与TCP/IP网络的融合[J]. 北京邮电大学学报. 2006(06): 1-4.LIU Yuan-an, YE Liang, SHAO Qian-ming, et al. Fusion of wireless sensor networks and TCP/IP networks [J]. Journal of Beijing University of Posts and Telecommunications. 2006 (06): 1-4.
[6] 刘继元. 基于树莓派的物联网应用[J]. 电子世界. 2016(08): 24-25.LIU Ji-yuan. Based on the raspberry - based Internet of things, the [J]. electronic world. 2016 (08): 24-25.
[7] 李文胜. 基于树莓派的嵌入式Linux开发教学探索[J]. 电子技术与软件工程. 2014(09): 219-220.LI Wen-sheng. Based on the embedded Linux development teaching of raspberry school [J]. electronic technology and software engineering.2014 (09): 219-220.
[8] Leccese F, Cagnetti M, Trinca D. A smart city application: a fully controlled street lighting isle based on Raspberry-Pi card, a ZigBee sensor network and WiMAX[J]. Sensors (Basel). 2014, 14(12): 24408-24424.
[9] 李杨,郭培源,刘波,等. 基于嵌入式技术的居室健康环境监测系统[J]. 电子技术应用. 2014(08): 24-26.LI Yang, GUO Pei-yuan, LIU Bo, et al. The application of [J]. electronic technology for living room health monitoring system based on embedded technology. 2014 (08): 24-26.
[10] 董亚超. 基于ZigBee技术的无线环境监测网络的开发[Z]. 大连理工大学, 2008: 硕士, 91.DONG Ya-chao. Development of wireless environmental monitoring network based on ZigBee technology [Z]. Dalian University of Technology, 2008: master, 91.
[11] 崔文华. ZigBee协议栈的研究与实现[Z]. 华东师范大学, 2007: 硕士, 88.CUI Win-hua.Research and implementation of ZigBee protocol stack [Z]. East China Normal University, 2007: master, 88.
[12] 马菁菁. Zigbee无线通信技术在智能家居中的应用研究[Z]. 武汉理工大学, 2007: 硕士, 67.MA Jing-jing.Research on the application of Zigbee wireless communication technology in smart home [Z]. Wuhan University of Technology, 2007: master, 67.
[13] 宁炳武. Zigbee网络组网研究与实现[Z]. 大连理工大学, 2007: 硕士, 84.NING Bing-wu.Research and implementation of Zigbee network networking [Z]. Dalian University of Technology, 2007: master, 84.