历史上的今天
返回首页

历史上的今天

今天是:2024年11月09日(星期六)

正在发生

2019年11月09日 | 基于GPRS的ZigBee协调器网关设计通信

2019-11-09 来源:eepw

摘要:介绍了一种可进行远程监测和控制的数据采集系统。多个测控节点组成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把最终数据发送至上位机,并同时监听上位机指令,一旦接收到指令将转发给协调器直至各采集控制节点,从而实现数据的双向传输。

a.JPG



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及监听端口。

b.JPG


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

4 上位机程序设计
整个上位机软件设计流程如图3所示,即编写一个TCP服务器程序。采用LabVIEW通信工具中TCPListen来侦听客户端的连接请求,建立连接后,利用TCP Read读取传输的数据,工作模式设置为standard,即等待直至读取所有“读取的字节”中指定的字节或“超时毫秒”用完,返回目前已读取的字节,如字节数少于请求的字节数,则返回部分字节并报告超时错误。由于数据帧通过下位机编程为固定长度是20 B的数据,心跳帧为4 B的数据,因此在配置TCP Read函数时,要将“读取的字节”设置为20,“超时毫秒”设置为0。这样既可以侦听到心跳帧,又不至于因心跳帧的4 B打乱数据帧的20 B而导致数据错误。程序控制部分可向下位机发送控制指令,实现对单个或多个节点数据采集周期以及开始结束的控制,以适应不同的工作场合。主要原理是利用TCP Wtite函数向已建立的连接发送指令,程序中两次利用TCP Write函数,第一次写入指令的长度,第二次写入指令的内容。

c.JPG

数据处理程序如图4所示。在数据处理的过程中,只需要处理数据帧,心跳帧是不用进行处理的,因此有必要对心跳帧进行剔除。由于下位机编程时以十六进制FE作为每个数据帧开始的字节,而心跳帧则为十六进制636F 6F6E,因此在服务器程序进行数据处理前可先检测数据的帧头,这样即可将数据帧和心跳帧分别开来。具体做法便是利用String Subset函数截取每帧数据的第一个字节,然后与十六进制FE比较,再运用Case Structure的方式组织,如果相等,则进行处理,不相等的情况则不采取任何动作,只需保持之前的数据即可。这样不仅可以避免错误接收结果,还可提高程序的运行效率。

d.JPG


数据处理部分首先利用String To Byte Array函数将接收的字符串保存为字节数组,然后利用Search1D Array函数搜索到第三个十六进制字节46,进一步增强数据读取的可靠性,使用Index Array函数将数组中相应的子节点地址、温度、相对湿度、电压值字节数据提取出来,并利用数值运算函数及相应的字符串处理函数将需要的参数以十进制字符串形式送到Chart控件中显示波形。不同节点的信息需要显示在不同的Chart控件中,此时的实现思路就是判断不同节点的地址,然后利用Case Structure进入不同的事件结构。在历史数据的存储方面主要是通过Write To Spreadsheet File子VI把数据写入电子表格,以此来实现历史数据的方便查看。

e.JPG


整个系统经过调试后运行正常,下位机与上位机连接良好,数据传输通畅,运行效果如图5所示。

5 结语
下位机设计的网关能够选择性透明发送有效数据和心跳帧字节,不仅提高了发送效率,而且保障了上位机接收数据的可靠性,在服务器与GPRS模块通信中断后,会立即重新申请连接直至再次连接成功。上位机程序设计的TCP服务器界面友好而简洁,能够分辨出有效数据和心跳帧,并可靠地解析出数据帧的信息,显示温度以及湿度的变化趋势,同时将历史数据写入电子表格,方便保存和查看。本系统可移植性强,应用范围广,可用与粮情监测以及温室环境的监测,具有较大的实际参考价值。


推荐阅读

史海拾趣

BEI Sensors公司的发展小趣事

Beckhoff Automation GmbH公司成立于1953年,总部设立在德国Verl市。公司自创立之初,便致力于工业自动化产品的研发与生产。在创始人的领导下,公司逐步建立起一套完整的工业自动化产品体系,包括工业PC、现场总线模块、驱动产品等。凭借卓越的产品质量和创新的技术理念,Beckhoff在行业内逐渐崭露头角,赢得了客户的广泛认可。

CONTTEK Group GmbH公司的发展小趣事

CONTTEK Group GmbH公司的创立,标志着电子行业内一颗璀璨的新星开始崭露头角。公司在创立初期,便凭借对市场的敏锐洞察力和对技术的深刻理解,确立了在电子连接器领域的专业地位。通过引进先进的生产设备和技术人才,公司成功开发出了一系列高质量、高性能的连接器产品,并逐渐在市场中获得了认可。

General Transistor Corp公司的发展小趣事

在1976年,GTC(General Transistor Corp.)作为一家独立的电子元器件分销商和生产商在美国正式成立。这一时期,电子行业正处于快速发展阶段,晶体管、集成电路等新型电子元件的应用日益广泛。GTC凭借其敏锐的市场洞察力和技术实力,迅速在市场中站稳脚跟。公司初期专注于分销高质量的晶体管、二极管等电子元器件,并逐渐建立起稳定的供应链和客户群。

Good Will Instrument Co., Ltd.公司的发展小趣事

为了进一步巩固市场地位和提升竞争力,GTC开始实施并购整合战略。公司通过收购具有技术优势和市场潜力的企业,实现了技术、产品和市场的快速扩张。同时,GTC还积极寻求战略转型,从单一的电子元器件分销商和生产商向综合性电子解决方案提供商转变。这一战略转型为公司带来了新的增长点和发展机遇。

高博(GBG)公司的发展小趣事

谷峰电子有限公司的故事始于1995年,当时公司在香港成立,标志着其半导体元器件研发与销售的起点。初期,面对激烈的市场竞争和技术挑战,谷峰团队凭借对半导体技术的深刻理解和对市场需求的敏锐洞察,逐步确立了以功率MOSFET为核心产品的战略方向。2000年,谷峰在深圳设立分公司,进一步扩大了其研发和销售网络,为公司的快速发展奠定了坚实基础。

Delta Electronics公司的发展小趣事

作为一家具有社会责任感的企业,Delta Electronics一直积极践行可持续发展理念。公司自2004年起,全球新建办公大楼、生产基地均依绿建筑工法设计建造。此外,公司还积极参与各类环保活动和社会公益事业,推动绿色能源和环保技术的发展。这些举措不仅有助于保护环境、减少污染,也提升了Delta的企业形象和品牌价值。

问答坊 | AI 解惑

MOSFET控制的PWM型直流可调电源的研制

由于仪器所用电源的体积和重量通常受到限制,为此提出一种由MOSFET控制,并且由高频变压器隔离的开关电源设计方法。该电源具有体积小、重量轻、抗干扰性能强,输出电压稳定,调压范围广,电压动态响应快,性价比高,使用方便等特点。…

查看全部问答>

电子电源设备解析1

电子电源是利用现代电力电子技术,控制开关晶体管开通和关断的时间比率,维持稳定输出电压的一种电源,开关电源一般由脉冲宽度调制(PWM)控制IC和MOSFET构成。开关电源和线性电源相比,二者的成本都随着输出功率的增加而增长,但二者增长速率各异 ...…

查看全部问答>

专业术语解释

本帖最后由 paulhyde 于 2014-9-15 09:21 编辑 1、频率准确度:在规定条件下,晶振输出频率相对于标称频率的允许偏离值。常用其相对值表示。 2、频率稳定度:    2.1[时域表征]      ⑴ 在规定条件下,晶振内部元件由于老化而引起的输出 ...…

查看全部问答>

求一个控制LED的程序

急需一个在友善之臂2440上控制LED-2闪亮的程序,不是烧到裸机上而是在linux系统上运行的完整程序。LED-2对应的是GPB6…

查看全部问答>

键盘类驱动分发函数HOOK蓝屏

代码如下: #include #define KBD_DRIVER_NAME  L\"\\\\Driver\\\\Kbdclass\" extern POBJECT_TYPE IoDriverObjectType; typedef struct _C2P_DEV_EXT {     PDEVICE_OBJECT TargetDeviceObject; } C2P_DEV_EXT, *PC2P ...…

查看全部问答>

wince启动设置注册表

wince需要每次启动的时候把某个注册表的值设置为默认值,该怎么做?谢谢~!…

查看全部问答>

求计算FFT函数!

想通过快速的fft变换计算出的结果,再来求有效值, 不知道是怎么操作,我用的是2812。 由于新手上路,希望大家多多指导!…

查看全部问答>

那位朋友知道:三角函数为什么计算不对啊?

算不对是不是和程序空间有关系啊?…

查看全部问答>

跪求PIC单片机大神~

PIC10F222单片机。 必有重谢!…

查看全部问答>

富士通半导体推出行业领先的带9 KB FRAM的新型高频RFID标签芯片

上海,2012年7月31日 – 富士通半导体(上海)有限公司今日宣布其FerVID 家族推出用于RFID标签的一款新的芯片-MB89R112。该芯片用于高频RFID标签,带9 KB的FRAM内存。FerVID家族产品使用铁电存储器(FRAM),具有写入速度快,高频可重写,耐辐射 ...…

查看全部问答>