基于ZigBee与GPRS的远程温湿度监测系统设计

2014-08-22 16:11李超胡光耀孙德辉
新媒体研究 2014年14期

李超 胡光耀 孙德辉

摘 要 根据环境监测中对远程温湿度数据监测的要求,针对现有监测系统布线复杂或通信距离不足、成本过高的问题,采用工业级ARM7微处理器并运用温度传感器和湿度传感器对温湿度数据进行采集。此外采用ZigBee技术组建了无线Mesh网,完成了中控计算机与无线温湿度传感器之间的通信,并可通过ZigBee转GPRS网关将温湿度数据传输到GPRS网络,完成了温湿度的远程监测,经实际验证本系统能够可靠、快速的组建温湿度监测系统。

关键词 温湿度监测;ZigBee;Mesh网;GPRS

中图分类号:TP216 文献标识码:A 文章编号:1671-7597(2014)14-0012-01

在环境监测中,很多情况下需要对较大地域范围内的多个点或几个不同地域范围进行监测,传统布线极为不便。而无线传感器网络技术较好的解决了相对集中区域的组网和数据采集问题,但较难实现数据的超远程传输;各个传感器通过GPRS网络进行数据的远程传输可解决此问题,但成本过高。

为了实时精确监测多个监测点的环境参数情况,利用ZigBee技术组建无线Mesh网,用分布在相对集中区域的若干个无线传感器实现较大地域范围内的环境参数采集。利用GPRS网络传输解决监测区域过远的问题,通过ZigBee转GPRS网关将各个无线传感器采集的环境参数由ZigBee信号转为GPRS

信号。

1 系统工作原理

本系统由中控计算机、无线温湿度传感器、上位机管理软件、ZigBee转GPRS网关等部分组成。

无线温湿度传感器包括CPU部分、探测部分、Zigbee通信模块和供电电池,CPU为低功耗工业级处理器,探测部分包括温度传感器、湿度传感器以采集相应的环境参数,电池为大容量可充电锂电池。

监测区域内的网络拓扑为网状网,该网络为自组织网络,大幅增加了网络中每个节点可使用的链路数。本系统的ZigBee模块包含协调器和路由器两种,每个网络节点都具有链路功能,如遇个别路由器故障问题,网络节点可动态选择一条可用链路继续进行数据的传输,所以ZigBee Mesh网的可靠性很高。

中控计算机连接ZigBee协调器模块,在上电后启动无线Mesh网,无线温湿度传感器所包含的ZigBee路由器模块可侦测到该网络并加入。需要查询各区域温湿度数据时,中控计算机通过协调器向无线温湿度传感器发送查询命令,测得温湿度数据后无线温湿度传感器中的路由器模块将信息传送到协调器。中控计算机通过上位机软件处理,将无线温湿度传感器所在位置的温湿度数据信息直观显示在上位机管理软件界面中。

2 系统硬件设计

无线温湿度传感器的MCU选用PHILIPS公司生产的ARM7微处理器LPC2129,64引脚的封装较小,接口丰富,功耗极低。温度传感器采用DS18B20,测温范围为-55℃~125℃,分辨率可达0.0625℃。DS18B20的DQ线通过4.7 kΩ上拉电阻连接LPC2129的SPI接口。湿度传感器采用HIH5030,其输出引脚连接LPC2129的A/D转换引脚。

ZigBee模块选用了DIGI公司的XBee/XBee-PRO模块。XBee模块为普通模块,空旷环境下传输距离为120 m;XBee-PRO是加强型模块,空旷环境下传输距离可达1500 m。中控计算机挂载的是XBee-PRO模块,无线温湿度传感器可根据需要选择XBee模块或XBee-PRO模块。两种模块的引脚功能、使用方法是一致的,只是传输距离不同。ZigBee转GPRS网关采用了DIGI公司的ConnectPort X4,可完成ZigBee到GPRS信号的转换。

3 系统软件设计

温度测量子程序中MCU首先向DS18B20发送复位指令,由于总线上只有一个DS18B20,故不用匹配ROM,复位成功后写CCH指令跳过该环节;通过写44H指令使DS18B20启动温度转换,延时至少1 s等待完成温度转换过程;重新复位DS18B20,复位成功后再次写CCH指令跳过ROM匹配,然后写BEH指令,读取暂存器中的温度值,分别读出温度值的低8位和高4位,将高4位左移8位之后和低8位相或,所得结果自乘0.0625即为测量到的摄氏温度值。

湿度测量子程序首先对A/D控制寄存器进行初始化,然后启动A/D转换,等待转换结束,然后再读取结果。将采集到的温度数据和湿度数据进行相应处理,均保留小数点后两位。

串口通信的编程首先进行UART初始化,等待接收协调器向路由器发送的数据帧指令,将接收缓冲区允许写入标志位设为0x00,允许写入数据;然后设置RDA中断,等待RDA中断触发并接收数据帧;接收数据帧结束后,接收缓冲区允许写入标志位设为0xFF,禁止写入数据;然后判断数据帧结构是否正确,如正确则继续判断数据帧中是否包含温湿度查询指令;如包含,则启动温湿度采集子程序,对周围环境的温度和湿度进行采集,并通过编程将数据转换为ACSII码,路由器发送温湿度数据帧到协调器,完成温湿度数据的采集。

路由器模块向协调器模块发送的数据帧中帧头为固定值0x7E;数据长度为2字节;协调器的MAC地址为8字节;网络地址为2字节;广播范围固定为0x00,代表数据传输可经过的跳数值最大;温度数据和湿度数据部分均包含4字节,分别为温度数值/湿度数值的十位、个位、十分位、百分位;最后1字节为校验位。

运用C#编程语言在VS2008环境下设计了温湿度监测系统的上位机管理软件,以完成中控计算机与XBee协调器的RS232通信,按照无线温湿度传感器所在位置的区域划分,使用轮询方式查询相应温湿度信息,在上位机管理软件界面上直观显示。

4 结束语

系统在硬件上使用了工业级ARM7芯片为MCU,利用DS18B20和HIH5030测量温湿度数据,采用了ZigBee及GPRS无线通信技术,对无线温湿度传感器所在的各个区域的温湿度数据进行了采集和汇总。经实际测试,系统所包含的无线温湿度传感器与中控计算机间的无线通信稳定可靠,温湿度数据采集精确,上位机管理软件界面中可及时更新各区域温湿度数据,并可通过协调器将汇总的数据发送给ZigBee转GPRS网关,将温湿度数据发送到GPRS网。避免了远距离监测系统面临的布线复杂或单纯运用ZigBee技术通信距离不足的问题,可尽可能低的控制能耗,有较强的应用价值。

参考文献

[1]夏莉英,陈雁.基于DS18B20的温度测控系统设计[J].微计算机信息,2011,27(1):115-117.

[2]刘秋丽,蒋耘晨,杨明.Zigbee技术无线传感器网络在天然气联合站中的应用[J].仪表技术与传感器,2007(01):

20-22.

[3]王成岭,陈一健,陈兆安.无线数据采集系统设计[J].机械工程与自动化,2007(6):63-65.endprint