冯 伟,彭 力
(江南大学 物联网工程学院,江苏 无锡 214122)
公共实验室属于开展教学与科研活动的核心场地,实验室中不仅存在很多类型操作仪器,还存在大量易燃易爆等安全性较低的物品,且实验室流动人口较多,经常出现火灾、污染等情况[1-2]。
怎样保护公共实验室安全是目前各个公共实验室管理人员正在努力解决的问题[3]。本文围绕此问题进行深入探究,按照实用、可靠、有效的原则,使用近几年新出的无线通信技术——ZigBee 技术,构建基于ZigBee 技术的公共实验室远程监控系统,使用ZigBee 技术建立无线通信网络,完成公共实验室环境的全面覆盖,使用ZigBee 传感器采集公共实验室环境数据,实现公共实验室远程监控。
基于ZigBee 技术的公共实验室远程监控系统的整体结构如图1 所示。基于ZigBee 技术的公共实验室远程监控系统中两个核心模块是ZigBee 传感器模块、协调器模块。ZigBee 传感器模块可采集公共实验室安全数据,采集后通过协调器模块传输至PC 机,PC 机将ZigBee 传感器模块采集的公共实验室安全监控数据向用户展示,公共实验室中温湿度信息、烟雾信息、红外信息以及电流信息[4-6]。
图1 基于ZigBee 技术的公共实验室远程监控系统的整体结构
系统中ZigBee传感器模块、协调器模块统称为ZigBee网络节点功能子系统,ZigBee 网络节点功能子系统由协调器节点、路由器节点以及采集节点三种器件构成[7]。协调器节点、路由器节点以及采集节点的硬件框图分别如图2~图4 所示。
图2 协调器节点硬件框图
图3 路由器节点硬件框图
图4 采集节点硬件框图
1)协调器节点是ZigBee 网络的核心,属于ZigBee网络的管理节点[8-9]。采集节点所获取的公共实验室环境数据通过路由节点集合转发至协调器节点中,通过它和PC 机实施通信。协调器节点包含CC2530 数据处理单元、射频单元、RS 232 通信单元、电源、电压转换单元、按键电路、时钟、LCD 显示单元、LED 单元。CC2530数据处理单元可管理数据与节点,RS 232 通信单元属于协调器和PC 机沟通的载体,该单元的核心网络通信技术为ZigBee 技术。电源可实现电压转换,保证系统电压平稳。按键电路可管理节点的导入与去除。LCD 显示单元能够显示节点目前的运行状况和其他信息。LED 单元属于LED 灯开关管理单元。
2)路由器节点由CC2530 数据处理单元、射频单元、电源、时钟、电压转换单元、按键电路以及LED 单元组成。路由器节点是协调器节点的精简版,属于协调器节点的附属节点,硬件结构功能与协调器节点的对应单元功能一致。
3)采集节点中包含CC2530 数据处理单元、SHT11温湿度传感器单元、射频单元、按键电路以及LED 单元。时钟、LED 单元、按键电路、射频单元和协调器节点中的功能具有一致性,此节点主要为了采集公共实验室的环境数据[10]。
1.2.1 簇的详细划分
基于ZigBee 技术的公共实验室远程监控系统中,协调器节点的能量不存在约束,基于ZigBee 技术的分簇算法通过集中式方法实现ZigBee 网络节点分簇和簇头选择,在ZigBee 网络初始化进程里,协调器节点以集中式模式将所有网络区域根据对应的规则实施分簇[11-12]。分簇规则为:围绕协调器为中心,构建二维坐标轴,在坐标轴两侧设置ZigBee 网络参考节点,各个参考节点位置需要实施固化,按照监控范围大小设置。将监控范围看作一个圆形,圆形范围半径设成r,定位各个ZigBee 网络节点的坐标,定位方法是基于RSSI 测距的三边定位法:
式中RSSI 为ZigBee 网络节点坐标。
各个ZigBee 网络节点距离d 的大小为:
式中:A 是监测的环境信号强度;n 属于常数,表示信号传输和环境间的关联性。运算ZigBee 网络节点间距后,使用三边定位算法可获取节点坐标值。
分簇后,ZigBee 网络初始状态中协调器坐标位置是(0,0),将信标节点位置设成( x1,y1),( x2,y2),( x3,y3),三个信标节点至未知节点的距离依次是d1,d2,d3,那么:
未知节点坐标为:
使用上述方法能获取全部ZigBee 网络节点坐标。把网络分为相同的n 个簇,各簇的扇形角度θ 为:
设置y 轴正半轴区域和x 轴正半轴夹角θ 的范围是簇1,ZigBee 网络里节点坐标设成( x,y ),那么它和x 轴的夹角是θ′。
式中sin θ′表示正弦角值。
式中round 是Excel 中的一个基本函数。
1.2.2 簇头节点选择
簇头属于ZigBee 网络分簇里的核心,本文使用ZigBee 网络节点加权值选择簇头节点[13]。选择过程需注意每个ZigBee 网络节点至协调器的距离。
使用RSSI 值描述两个ZigBee 网络节点间距,RSSI使用链路质量LQI 变换获取,变换方法如下:
RSSI 与LQI 能够在CC2530 数据处理单元中获取,两个值都属于二进制补码,在CC2530 数据处理单元获取数值后,必须实施变换才能获取RSSI 值,将节点间距接收值RSSIdec和128 进行对比,若高于128,实际ZigBee网络节点间距RSSI 值为:
若低于128,其值为:
式中RSSIoffset属于ZigBee 网络节点间距经验值,代表增益值。
ZigBee 网络节点剩余能量为:
式中,Zig Bee 网络节点i 的剩余能量是fi( s );ZigBee 网络节点i在第j簇里全部的节点能量均值为fi,j( s )。
式中,Ni,j表示第j簇中存在i个ZigBee 网络节点的状态。
1.2.3 簇的轮转
ZigBee 网络簇头节点工作一段时间后,剩余能量变小,若仍作为簇头节点,将致使其生命周期耗尽,出现监控信息丢包率较大的情况。为处理此问题,本文使用簇头节点轮转方法,再次选取簇头节点优化ZigBee 网络数据传输质量[14-15]。
ZigBee 网络簇头节点轮转方式主要通过协调器下达轮转指令,此轮转耗时不具有固定性,轮转耗时和丢包率存在直接联系。分簇轮转时,协调器将下达指令:在ZigBee 网络各个节点已有角度中引入α°,通过式(8)分辨自身所在簇,实现簇的轮转,降低ZigBee 网络节点耗损度,优化ZigBee 网络数据传输质量。
将本文系统应用在某医学院实训节能中心2 层,此层公共实验室一共18个。实验环境是:走廊全长100 m,走廊左侧分别是201 室、202 室、203 室、204 室、205 室、206室、207室、208室、209室、210室;右侧分别是211室、212 室、213 室、214 室、215 室、216 室、217 室、218 室。把PC 机与协调器放在该学院某个屋子内,将路由器节点放在走廊中,把采集节点放在剩余屋子内,采集节点将采集获取的环境温度数据传输至路由器节点,通过路由器节点传输至协调器节点,协调器和PC 机通过ZigBee网络实现通信,在PC 机中可清晰看到该学院公共实验室环境温度、湿度、烟雾、红外图像、电流信息。实验使用的硬件分别是PC 机CC2530 实验开发板、仿真器、串口线。使用的软件分别是串口助手、IAR EW for 8051。
1)丢包率计算
为了计算本文系统中ZigBee 网络丢包率,设定两个测试方案为:
方案一:排除路由器,主要通过PC 机和协调器通信;
方案二:在走廊里设置路由器转发监测数据。
测试两种方案下,公共实验室远程监控时数据丢包率。丢包率计算方法为:
式中Rc,Tc分别是接收的温度数据包数量、实际温度数据包数量。
两种情况下,温度、湿度、烟雾、红外图像、电流信息的丢包率计算结果如图5,图6 所示。
图5 方案一丢包率计算结果
图6 方案二丢包率计算结果
对比图5 与图6 可知:方案二中,对该公共实验室温度、湿度、烟雾、红外图像、电流信息的监控丢包率均低于方案一,由此可知本文系统中加入路由器节点转发监测数据可提高监测数据精准性。
基于ZigBee 技术的分簇算法中,簇头轮转可均衡ZigBee 网络的能量消耗情况,而轮转时间t 十分关键,如果轮转时间较长,ZigBee 网络中某个簇头节点能量消耗量较多,剩余簇能量消耗量较少,簇的节点能量将出现不均衡情况,ZigBee 网络在传输监控数据时丢包率将较大。为此,本文系统需要设置合理的轮转时间,不同轮转时间下,丢包率测试结果如图7 所示。
图7 不同轮转时间下丢包率计算结果
由图7 可知,当轮转时间是10 s 时,本文系统对公共实验室环境信息监控丢包率最小,为0.005,此时系统监控性能最佳,为此在实际应用与下文实验中,簇头轮转时间设成10 s。
2)监控精度计算
以205室为例,使用本文系统对该室2019年5月15日10:00,11:00,12:00,13:00,14:00,15:00 的温度、湿度进行监控。监控结果如图8 所示。
分析图8可知,本文系统对该公共实验室2019年5月15 日6 个时间段中温度监控误差为0.2 ℃,湿度监控误差是0.5%RH,误差较小,不影响整体监控精度。由此可见本文系统可准确监控公共实验室温湿度信息。
为了优化公共实验室远程监控效果,设计了基于ZigBee 技术的公共实验室远程监控系统,并在实验中验证其可有效监控公共实验室环境情况,且监控过程中,监控信息丢包率较低。但本文系统所采用的CC2530 数据处理单元属于8 位处理器,数据处理速度有待提升,所以,在后续的测试应用中,可将其换成32 位的ARM主控芯片,以此可提升本文系统监控时数据传输速度。
图8 温湿度监控精度测试结果
系统软件中所采用的基于ZigBee 技术的分簇算法,虽然可以优化监控数据质量,但是此算法的导入将提升系统应用成本,在未来的研究工作中,将围绕此问题进行深入研究,对本文系统的使用效果和使用成本进行优化。