计算机系统应用  2019, Vol. 28 Issue (4): 236-241   PDF    
基于无线传感网络的环境监控系统
李少伟, 王喜喜, 傅诗     
江汉大学 数学与计算机科学学院, 武汉 430056
摘要:为了实现对环境系统的动态远程监控, 设计了一种基于Zigbee的无线传感网络监控系统. Zigbee无线数传终端模块通过内置的单片机系统, 实现了不同传感器的接口协议, 并对传感器数据进行了实时读取、编码与发送; 系统中的协调器实现对数据包的接收、解码、验证并将正确的数据转发数据至服务器; 无线传感网络中引入了ZStack协议, 从而实现了对无线终端与协调器节点的动态增删; 监控终端分为桌面与移动端, 通过无线网络访问服务器中存储的数据, 实现对环境系统的远程实时监控.
关键词: 监控    传感网络    ZStack协议    服务器    移动端    
Monitoring System for Environment Based on Wireless Sensor Network
LI Shao-Wei, WANG Xi-Xi, FU Shi     
School of Mathematics and Computer Science, Jianghan University, Wuhan 430056, China
Foundation item: Scientific Research Guidance Program of Education Bureau, Hubei Province (B2018254); Start-up Fund for Ph.D. Student of Jianghan University (1008-06600001)
Abstract: In order to realize the dynamic remote monitoring of the environmental system, a Zigbee-based wireless sensor network monitoring system is designed. The Zigbee wireless data transmission terminal module realizes the interface protocol of different sensors through the built-in single-chip microcomputer system, and reads, encodes, and transmits the sensor data in real-time; the coordinator in the system realizes receiving, decoding, and verifying the data packet. The correct data is forwarded to the server; the ZStack protocol is introduced in the wireless sensor network, thereby realizing the dynamic addition and deletion of the wireless terminal and the coordinator node; the monitoring terminal is divided into a desktop and a mobile terminal, and the remote real-time monitoring of the environment system is realized by visiting the data stored in the server through the wireless network.
Key words: monitoring     sensor networks     ZStack protocol     server     mobile client    

环境监控系统广泛应用于实验室、工厂、农业以及军工等各个领域. 设计完善的环境监控系统可以大大减少灾难事故的发生, 从而间接提高安全生产效率. 文献[1]提出了一种基于Android和Zigbee的农业环境监控系统, 可以实现移动端对环境的实时监控. 但由于其所使用的传感器与单片机之间采用固定的RS232接口连接, 因此整个系统的可扩展性较差; 梁灼永、佟伟等人在论文中介绍了若干专用环境监控系统[2,3], 其最大的特点就是针对特定的系统有完善的监控功能. 但由于系统专用性强, 无法实现大范围推广, 同时不具备远程访问能力; 文献[4,5]将WIFI及网络技术引入系统中, 但最终仅仅实现了局域网内的访问, 同时传感器数据接口采用了与文献[1]相似的方法, 因此扩展性较差; 文献[6]采用了数据库技术, 将传感器节点数据存放于数据库中, 可以方便对数据的各种操作. 但是该文中将传感器直接与服务器连接, 这种做法在工程实践中几乎没有实用性; 文献[7]中魏访将Zigbee技术与传感器相结合, 解决了传感器部署的难题. 但由于该系统仅仅实现了温湿度监控, 而且没有引入必要的通信协议, 导致无法形成复合传感器网络, 降低了系统可扩展性, 同时其监控端布置于PC机, 无法实现远程监控.

综合考虑以上系统中存在的不足, 本文提出了一种基于Zigbee无线传感网络与移动数据访问技术的环境监控系统. 为了实现在不增加接口硬件的情况下对不同传感模块的读写, 该系统利用Zigbee模块内置的51单片机系统模拟不同传感网络的接口协议, 从实现对传感模块的数据读取, 提高了系统的可扩展性; 在系统的设计过程中引入了ZStack协议栈以及移动端访问技术, 实现了对环境的温湿度、烟雾、漏水检测等六个方面的监控; 利用数据库技术强大的存储能力, 将获得的数据存储于其中, 方便任意网络设备对环境系统的远程监控. 该系统在提高系统集成度的同时, 简化了传感器的部署, 提高了系统可扩展性, 实现了移动端对监控系统的远程访问.

1 系统模型

图1所示为环境监控系统的结构框图.

图 1 系统结构框图

图1可知, 整个系统由Zigbee无线传感网络、网关、数据库服务器以及客户端组成, 其组成与功能如下:

(1) Zigbee无线传感网络包含节点传感器与协调器. 其中的节点传感器由传感器模块与基于CC2530的Zigbee无线数传模块组成. CC2530模块中内建有51单片机系统, 可以实现对传感器数据的采集与打包, 并通过其中的无线Zigbee模块定时发送至协调器; 协调器则接收来自传感器的数据, 并将数据传送至网关. 由于ZStack协议栈的存在, 因此节点传感器的数量可动态增减.

(2) 基于Cortex A8的网关上运行有一套Linux操作系统. 该系统一方面通过串口接口来自协调器的数据, 另一方面则将数据通过网络发送至数据库服务器.

(3) 数据库服务器首先接收来自网关的传感器数据, 然后通过特定的协议对数据包进行解析并标以时间标签, 最后将数据存储于表中, 供远程客户端访问.

(4) 客户端程序通过TCP/IP协议连接到数据库服务器上的数据服务程序, 实时获取当前环境信息.

2 系统关键技术研究

为了简化软硬件设计上的难度, 本系统中所有的无线数传模块均具有相同的硬件结构, 同时引入ZStack协议, 并对数据传输格式进行了定义, 实现了基于Zigbee的无线传感网络. 如图2所示为基于CC2530的无线数据传输系统硬件电路图.

图2可知, CC2530模块共引出19个I/O引脚, 这些引脚可全部配置为通用I/O方式或者根据应用的需要, 将其中的部分配置为模拟输入引脚. 对于本系统而言, 所选用的传感器接口共分为三种, 分别是普通I/O口、IIC接口以及模拟数据接口. 因此, 我们可以利用CC2530模块中的单片机系统直接实现对I/O端口以及模拟数据的读取. 但是对于IIC接口, 则需要利用普通I/O口模拟实现IIC协议[8].

2.1 ZStack网络协议

由于本系统中引入了TI公司的ZStack协议栈技术, 因此Zigbee无线传感网络中的节点数传模块与协调器均具有相同的硬件结构以及相似的软件结构. 如表1所示为ZStack协议栈中用户需要修改的关键模块.

在编程实现表1中所有模块功能的前提下, 所有基于ZStack协议栈的节点传感器均可以动态加入或者撤出整个传感网络. 而且其传输过程对程序员而言完全透明, 大大降低了数传模块的软件开发难度.

2.2 模拟IIC总线

在CC2530模块中并未集成IIC接口, 因此需要利用普通I/O接口模拟IIC总线协议中的SCL和SDA接口, 从而实现对传感器数据的读取. 总体而言, IIC总线的工作流程包括以下几个方面:

图 2 基于CC2530无线数传模块

表 1 ZStack关键模块

(1) 起始和结束. 如图3所示为IIC总线的起始和结束时序图. 当总线处于空闲状态时, 且SCL处于高电平, SDA线上的下降沿表示起始信号; 当总线上的数据传输完成后, 且SCL处于高电平时, SDA线上的上升沿表示结束信号.

图 3 总线起始与结束

(2) 数据有效性. 如图4所示为总线上数据传输的时序图. 在数据传输过程中, 一旦SCL处于高电平状态, SDA上的数据则必须保持稳定.

图 4 总线数据有效性

(3) 应答. 当主机向从机发送完一个字节的数据后, 需要等待从机返回一个应答信号, 以确认从机是否成功接收到数据. 其中低电平0表示应答, 1表示非应答. 如图5所示.

图 5 应答信号时序

3 系统设计与实现 3.1 数据传输协议

根据上文所述, 本系统中实现了对六种不同种类传感器数据的读取与监控. 为了防止不同传感器数据在发送过程中由于产生冲突而出现的数据混乱以及丢失, 所有数据在发送前必须按照协议进行编码. 接收方在获取数据后, 则需要按照规则进行解码. 如表2所示为数据编码协议.

表2中有下划线的部分表示实时读取的传感器信息, 除协议结尾0x10为16进制外, 其余部分均采用ASCII码表示.

表 2 数据编码协议

3.2 数据库设计

本系统中所采用的服务器运行有Windows操作系统, 因此选择SQL Sever数据库软件来存储获取到的传感器数据信息. 由于所传输的数据较为简单, 因此数据库中仅建立有一张表, 如表3所示为表中的列.

表 3 数据表

3.3 软件设计

整个系统的软件设计分为四个部分, 分别是传感器节点(含协调器)、网关、服务器以及客户端. 各部分软件工作流程如图6所示.

4 系统应用与性能分析

为了验证该系统的实用性, 同时分析系统的运行效率, 在江汉大学交叉科学院与数学与计算机科学学院的协助下, 本系统最终部署于江汉大学高性能计算实验室. 如图7所示, 为传感器部署图. 其中圆圈内为传感器节点.

图7可知, 该实验室内部已安装部署有烟雾、温湿度等传感器节点用以监控室内环境. 但其采用有线的安装方式, 无疑会增加安装难度同时限制了其扩展性; 采用无线节点实现数据的读取与传输, 恰恰可以克服上述缺点, 同时能灵活实现节点数量及种类的改变.

4.1 系统性能分析

本系统无线部分由6个传感器节点以及一个路由节点组成. 为了测试整个网络的扩展性、抗干扰性及数据传输速率, 网关节点会将收到的信息如图8所示实时显示在屏幕上. 用户只需要观察收到的信息是否有序, 即可判断无线收发是否正常.

本文采用如表4所示的数据设定数据发送间隔(见表1). 得到的结果如表4右侧所示.

根据CC2530用户手册[8]可知, 该芯片最大传输速率约为30 kbps. 表2所列举的数据编码协议最长不超过21个字符, 即0.7 ms即可发送完毕. 但由于ZStack协议栈的存在占用了大量资源, 因此数据发送间隔不能太小.

图 6 系统工作流程

图 7 传感器部署图

图 8 网关数据

表 4 速率测试数据表(单位: ms)

4.2 系统运行

图9所示为基于Android的移动客户端监控软件. 软件运行后会提醒用户输入服务器IP地址以及数据转发软件所占用的端口号, 以便与数据转发软件建立连接, 从而获取传感器数据. 由于当前系统主要用于内网测试, 因此并没有加入身份验证功能.

图 9 软件登录

若上述信息输入正确, 则软件跳转进入如图10所示的运行界面. 在运行界面中, 弧形进度条表示当前粉尘量, 同时辅以优、良、差的文字进行描述; 云朵下方的雨滴图形表示是否漏水有雨滴渗入; 云朵图案右方为烟雾状态; 温度和湿度采用文字的形式告知用户.

图 10 软件运行界面

5 结论与展望

本文提出了一种基于CC2530模块的Zigbee无线环境监控系统. 该系统利用CC2530内部的51单片机作为主控芯片, 模拟外部传感器的接口协议, 从而在不增加接口器件的情况下, 适应不同传感设备的读写需求, 增强了整个系统的扩展性; 在完成对数据的采集后, 该主控芯片对环境信息进行采集、编码以及传输, 同时引入了ZStack协议, 降低了传感网络中控制软件的复杂程度; 通过数据库服务器的建立, 实现了对数据的动态、远程访问. 与现有技术相比, 该系统在网络动态布局、扩展性以及软件灵活性方面有了一定的改善. 在下一步的工作中, 可以尝试对多个场所的监控系统进行互联, 建立多层次网络结构, 从而可以实现对更大范围的环境进行有效监控.

参考文献
[1]
徐立. 基于Android和Zigbee的农业温室环境监控系统设计. 南通职业大学学报, 2018, 32(2): 80-84.
[2]
梁灼勇, 冒杰, 江婕, 等. 智能变电站视频及环境监控系统研究. 机电工程技术, 2018, 47(7): 60-62, 79. DOI:10.3969/j.issn.1009-9492.2018.07.019
[3]
佟伟. 论机房环境监控系统的多功能化. 信息记录材料, 2018, 19(8): 146-148.
[4]
段顼, 黄同成, 张思阳. 基于WiFi大棚种植环境无线监控系统设计. 邵阳学院学报(自然科学版), 2018, 15(4): 32-37. DOI:10.3969/j.issn.1672-7010.2018.04.005
[5]
张晓培, 梁文海. 基于移动端的温室环境监控系统设计. 农机化研究, 2018, 40(6): 215-219. DOI:10.3969/j.issn.1003-188X.2018.06.041
[6]
魏访, 郑朝霞. 基于无线传感器网络的工业环境温湿度监测系统. 仪表技术与传感器, 2018(5): 55-57, 82. DOI:10.3969/j.issn.1002-1841.2018.05.014
[7]
杜芬芳. 华数传媒机房集中监控系统的设计与实现[硕士学位论文]. 杭州: 浙江工业大学, 2015.
[8]
TI. A true system-on-chip solution for 2.4-GHz IEEE 802.15.4 and ZigBee Applications. http://www.ti.com/cn/lit/gpn/cc2530. [2009-04].