基于ZigBee技术的粮库环境监测系统设计
扫描二维码
随时随地手机看文章
引言
基于ZigBee技术的无线传感器网络具有低功耗、低复杂度、自组织、低成本、高安全等特性,是专为低速传感器和控制网络设计的无线网络协议,非常适合于自动控制和远程控制领域。将ZigBee技术应用于粮库环境监测,能够在很大程度上提高粮库监测的范围及准确性,解决了传统粮库布线困难、组网复杂、系统不易维护等缺点。
1系统功能与总体结构
1.1系统功能
粮库环境监测系统可以实现对粮库温湿度信息的采集、处理和传输,用户可以通过上位机监测粮库的温湿度信息和采集节点的工作电压,同时可以通过上位机输入相应的指令去控制采集节点的开启、关闭及采集的时间间隔。当温湿度超过所设定的报警值时,上位机监测系统将会发出报警,提醒用户采取相应安全措施对粮库进行管理。
1.2系统总体结构
粮库环境监测系统主要由ZigBee无线传感网络、上位机监测中心两部分组成,ZigBee组网采用了网状拓扑结构,建立了协调器、路由器和终端三类节点。上电后,采集节点自动组建ZigBee无线传感网络,将定时采集的粮库环境数据以多跳形式汇聚到网络协调器,最终通过USB接口将数据发送到上位机监控中心。监控中心实时显示采集到的粮库温湿度信息和节点电压信息,并具有报警提示功能。
2系统硬件设计
系统硬件部分主要包括传感器模块、CC2530无线传输模块、电源模块等。采用数字温湿度传感器DHT11设计一个传感器模块,用于采集温湿度信息,传感器外围电路如图1所示。无线传输模块包含协调器、路由器、终端三类节点,用来对传感器采集到的数据进行处理和传输,CC2530外围电路如图2所示。ZigBee模块可选用两种供电方式:USB总线供电,2节5号干电池供电,并由LED显示供电状态,电源电路如图3所示。
3系统软件设计
系统软件设计主要包括ZigBee组网系统软件设计和上位机监测界面软件设计两部分。
3.1ZigBee组网系统软件设计
ZigBee组网系统软件设计包括传感器节点软件设计和协调器节点软件设计。传感器节点主要完成对粮库环境温湿度参数的采集、处理和发送。当传感器节点收到外部中断时给DHT11发送查询指令,等待DHT11数据转换后进行数据发送,发送完毕后进入休眠状态,等待有请求时再次激活,传感器节点工作流程如图4(a)所示。协调器负责选择工作信道、发送网络信标、组建网络、管理网络节点与存储网络节点信息,且同监控中心交互数据,协调器节点工作流程如图4(b)所示。对ZigBee进行电源管理,使传感器节点能够在非工作状态下进入休眠状态,需要做两项准备工作。首先要在preprozessor里加入POWER_SAVINGo其次,将Tools->f8wConfig.cfg中-DPOLL_RATE、-DRESPONSE_POLL_RATE设置为0。然后找到文件hal_drivers.c中:
if(!Hal_KeyIntEnable)
{//osal_start_timerEx(Hal_TaskID,HAL_KEY_EVENT,100);}
把osal_start_timerEx()这句去掉。要不然key的polling会调用osal_start_timerex(),每100ms检查key电压的变化,导致无法长时间休眠。通过在Tools->f8wConfig.cfg中设置-DPOLL_RATE可以设置休眠时间,如需要休眠10s,则-DPOLL_RATE=10000。
3.2上位机监测界面软件设计
上位机监测界面利用VC6.0开发工具进行设计,主要实现数据的接收、存储、分析和对终端采集节点的控制。
一方面,可以在上位机界面上实时显示传感器节点采集到的温湿度信息和电源电压,另一方面,可以通过上位机界面输入相应的指令控制传感器节点开启、关闭及采集的时间间隔,例如:发送796F80后关闭796F节点,发送796F40后开启796F节点。当串口接收到的温湿度超过所设置的报警限值时,单元格颜色变红(超上限)或变蓝(超下限),通过函数m_Grid.SetCellBackColor()设置单元格颜色,同时可以听见“嘟嘟”的报警声,用函数MessageBeep(0xFFFFFFFF)发出报警。当电池电压过低时,可以通过上位机输入相应指令去控制传感器节点的关闭以更换电池。在项目中插入MSComm、FlexGrid、Button等控件,利用ClassWizard定义CMSComm类控制变量,添加串口事件消息处理函数OnComm(),打开和设置串口参数。OnComm。函数实现关键代码如下:voidSCommTest::OnComm()
{……m_Grid.SetTextMatrix(l,2,strT);
sumt=bt[0]*100+bt[l]*10+bt[3];〃提取温度if(m_checkt.GetCheck())//设置温度报警{if(sumt>=250)
{::MessageBeep(0xFFFFFFFF);〃扌艮警m_Grid.SetFixedRows(1);m_Grid.SetFixedCols(2);
m_Grid.SetCellBackColor(255);}//颜色else{ }
}……}上位机软件流程如图5所示。
4系统测试
该系统通过布置1个协调器节点、2个路由器节点、5个传感器节点和一台PC机,在实验室进行了模拟测试。测试结
果如图6所示。
由测试结果可知,ZigBee网络能够完成外部温湿度信息的釆集,在上位机监控中心可以实时显示釆集到的外部温湿度信息和节点电源电压。当釆集到的温度超过报警上限值30笆时,单元格颜色变红,同时发出“嘟嘟”的报警声。在上位机监测界面输入指令FFFF80手动发送后关闭了所有节点,再次输入指令FFFF40手动发送后开启所有节点。系统数据传
输准确、可靠,数据丢包率几乎为0。
5结语
本文所设计的粮库监测系统能够实现多节点数据的实时采集、处理、传输和显示,同时具有阈值比较、智能报警等功能,管理人员可以通过上位机发送相应的指令对传感器节点进行控制。通过引入休眠机制实现了传感器节点的休眠/唤醒调度,使其低功耗运行,减少了节点能耗。该系统有效地解决了传统粮库监测系统布线困难、组网复杂、系统不易维护等缺点,具有很好的应用价值。