微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > 基于GPRS的ZigBee协调器网关设计通信

基于GPRS的ZigBee协调器网关设计通信

时间:12-21 来源:互联网 点击:

摘要:介绍了一种可进行远程监测和控制的数据采集系统。多个测控节点组成ZigBee无线传输网络,利用GPRS模块连接因特网扩展传输范围,与基于LabVIEW的上位机程序进行TCP/IP协议通信,从而实现远程监控。下位机设计了数据帧和采集控制指令;协调器网关可对数据进行选择性接收和处理,并实现断线后自动连接;上位机完成对采集数据的解析、显示以及保存,并能发送控制指令。
关键词:ZigBee;GPRS;LabVIEW;TCP/IP协议

0 引言
ZigBee协议是一种基于IEEE 802.15.4标准的低功耗个域网协议,其主要特点是低复杂度、自组织、低功耗、低数据速率以及低成本,普遍应用于自动控制和测量领域,可以嵌入各种设备,是一种数据传输可靠性高的近距离无线组网通信技术。而GPRS模块则是通过手机终端连接因特网来实现数据的双向传输,它的协议规程体现了无线和网络相结合的特征。因此可以通过GPRS技术来拓展ZigBee测量控制网络的作用范围。目前GPRS的数据传输主要是基于TCP和UDP两种通信协议,其中TCP是面向连接的协议,提供IP环境下的数据可靠传输,适用于可靠性要求比较高的数据通信系统,而UDP不需要建立连接即可开始传输数据,通信效率较高,但可靠度不高,适用于一次只传输少量数据的场合LabVIEW作为一种图形化编程语言开发环境,为学术界、工业界和研究实验室所广泛接受,运用内嵌的TCP/IP网络通信协议组通信,可以直接调用TCP模块完成流程图编写,而无需过多考虑网络底层实现,使用该软件可方便完成上位机测量和控制程序的编制。

1 网络组建整体方案
系统网络组成如图1所示,首先由SHT11数字温湿度传感器和CC2530芯片的ADC通道组成传感器数据输入通道,输入的信息经CC2530芯片采集处理后打包无线发送到协调器节点,然后协调器节点利用串口2将数据发送给STC12C5A32S单片机,单片机将收到的数据进一步处理后,通过另一串口把有效数据传送至华为GTM-900C模块,最后GPRS模块利用Internet把最终数据发送至上位机,并同时监听上位机指令,一旦接收到指令将转发给协调器直至各采集控制节点,从而实现数据的双向传输。

2 下位机数据分析
协调器网关需要把测控节点无线传输过来的数据透明发送至上位机,有效的数据帧通过下位机编程为固定长度是20 B的数据,有些字节可变,有些字节是固定的。比如一个数据帧用十六进制表示为:FE 0F 46 87C6 E9 02 00 09 00 1A 21 00 00 48 9E 00 00 00 07。其中FE为每帧开始的字节;0F,02 00,09 00是固定的字节,表示数据包和有效数据位,46 87为接收标志;最后一个字节07是前面19个字节的异或运算值,C6 E9为传感器节点16位地址号,随着数据来自不同节点变化;1A为节点温度的整数部分,换算为十进制值为26 ℃,可变;21为节点10倍片上电压值,换算至十进制值为33 V,可变;0000为父节点地址;48为节点相对湿度值,转换至十进制值为72%,可变;9E为节点温度的小数部分,换算为十进制值的算法是(9×16+15)/256=0.62℃,可变;00 00 00为预留下来的3 B,用于其他传感器节点数据的传送。
协调器网关同时也接收上位机的命令数据并通过ZigBee网络发送至具体节点。命令数据为3 B,前2个字节为目标地址,第3个字节为采集控制命令。如设置80为停止采集指令,40为开始采集命令,01,02,03为采集周期选择命令。协调器地址是固定的十六进制数0x0000,其他传感器节点地址与之不同,因此当发送的前两个字节为0000时,可以此做为向全体传感器节点广播命令的判据。如果前两个字节是具体的单个节点地址,则只有相应节点接收到控制命令。

3 ZigBee协调器GPRS网关软件设计
ZigBee协调器GPRS网关软件设计流程如图2所示。其中等待GPRS注册成功是查看AT+CGREG?指令是否返回1或5,返回则表示GPRS模块上网注册成功;APN设置为CMNET;PPP拨号用AT%ETCPIP=\”\”,\”\””指令;域名解析指令AT%DNSR=”xxxx.3322.org”将返回与此域名绑定的IP;再用连接服务器指令AT%IPOPEN=“TCP”,xxx.xxx.xxx,1234连接上位机IP及监听端口。

数据传输程序的设计是重点,数据传输包括将采集到的数据透明上传至TCP服务器以及上位机指令的检测和通信是否掉线的检测。串口2接收到FEOF帧头后再执行AT指令将有效测量数据透明上传,收到心跳帧636F 6F6E后也透明上传,收到其他字符则不处理。当串口1接收缓存中有%IPCLOSE字符串时表示通信断开,此时则在下位机程序中重新执行连接服务器程序直至再次连接成功,保证数据通信可靠。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top