APP下载

基于ZigBee/3G的物联网网关系统

2015-06-23赵小强

西安邮电大学学报 2015年1期
关键词:机软件网关时延

赵小强, 雷 雪, 冯 勋

(西安邮电大学 通信与信息工程学院, 陕西 西安 710121)

基于ZigBee/3G的物联网网关系统

赵小强, 雷 雪, 冯 勋

(西安邮电大学 通信与信息工程学院, 陕西 西安 710121)

为了使物联网传感网络无线接入互联网,进行ZigBee与互联网之间的数据传输和协议转换,设计一种基于ZigBee/3G的物联网网关系统。ZigBee传感网络采集传感器数据,所有数据汇聚至物联网网关并通过3G网络发送至服务器,监控人员通过手机与计算机查看各个节点的数据,并借助上位机软件向传感器节点发送指令,从而实现对传感器节点的控制。以ZigBee网络采集实验水箱温度信息,控制继电器为例进行测试,结果表明,系统实时性良好,丢包率为0.047%,低于中国通信标准化协会(CCSA)标准规定的最大丢包率1%,平均时延9.62 ms,远小于CCSA标准规定的平均时延的上限(IPTD)100 ms。

物联网;网关;3G; ZigBee

在嵌入式技术、传感器技术、无线通信技术的支撑下,物联网已经广泛地应用在智能物流、智能交通、智能家居、环境监测、现代农业、公共安全等领域[1]。传感网络是物联网的核心,目前基于IEEE802.15.4标准的ZigBee技术以其低功耗、低成本、自组织等优点,成为传感网中的首选技术之一,但是由于缺乏统一的标准,ZigBee传感网与传统通信网之间很难进行直接通信,所以如何将ZigBee传感网接入传统通信网络逐渐成为了该领域的研究热点。

现有的物联网网关设备大体可分为3类[2-4]:一是采用基于嵌入式系统的有线网关,该类网关通过驱动以太网收发芯片有线接入互联网,此种方式网络稳定,但是需要网线连接,灵活性较差;二是基于WIFI的无线网关,该类网关通过驱动WIFI收发芯片接入互联网,此种方式需要无线路由器配合,仅适用于室内场所;三是基于GPRS的无线网关,该类网关通过驱动GPRS模块接入互联网,此种方式传输速率较慢,实时性较差。

本文拟基于ZigBee和3G,对物联网网关系统进行设计,使得ZigBee传感网络能够通过3G技术与互联网进行数据交换。

1 系统总体结构

系统主要由ZigBee传感网络、3G物联网网关、数据服务器、监控端以及现有的CDMA与Internet网络5部分组成。ZigBee传感网络采集传感器数据,所有数据汇聚至物联网网关并通过3G网络发送至服务器,监控人员可以通过手机与计算机查看各个节点的数据,此外还能够通过上位机软件向传感器节点发送指令,从而实现对传感器节点的控制[5-8],系统总体设计框图如图1所示。

图1 系统总体设计

2 系统硬件设计

2.1 主控制器选择

系统选用基于ARM Cortex-M3内核的STM32F103VET6为主控制器,该芯片相对于普通的8位单片机拥有更多的片上外设,更先进的内核架构,并且能够运行μC/OS等嵌入式实时操作系统;相对于基于ARM Cortex-A系列的高端CPU,其成本低,实时性强,性价比更高[9]。STM32 F103VET6工作频率为72MHz,具有512KB FLASH与64KB SRAM,并且片上集成有8个定时器与5个多功能串口,能够满足物联网网关的设计要求[10]。

2.2 硬件结构

系统硬件主要包括STM32主控制器、华为MC509通信模块、CC2530无线传感模块 UIM卡等,系统硬件结构如图2所示。

图2 3G物联网网关硬件结构

2.2.1 CC2530 ZigBee无线通信模块

CC2530是一个支持ZigBee应用的片上系统,芯片内部集成了RF收发器与增强型的8051内核,在本系统中CC2530被编程为ZigBee网络协调器,用来收集ZigBee网络采集的传感器数据并通过串口传输给微控制器,STM32微控制器与CC2530通过串口2交换数据,电路如图3所示。

图3 STM32与CC2530连接

串口通信波特率为115 200 bps,数据位8位,无奇偶校验位,停止位1位。整个通信协议由帧头、目的地址、源地址、帧类型、设备类型、保留位、有效数据长度和有效数据8部分组成,如图4所示。

图4 CC2530与STM32通信协议

帧头1个字节固定为0XA5,表示一帧的开始;目的地址与源地址各两个字节,简单起见,取ZigBee设备自身MAC地址的低2个字节作为设备地址;帧类型1个字节,0X00表示定位数据帧,0X01表示传感器数据帧,0X04表示控制帧,0X05表示心跳帧;设备类型1个字节,0X1A表示协调器,0X1B表示路由器,0X1C表示终端节点;保留位2个字节,用于后期功能扩展;实体长度1个字节,表示整个数据实体的长度;有效数据长度等于实体长度减1,记录了需要传输的有效数据。

2.2.2 3G通信模块

通信模块选用华为MC509 CDMA2000无线数据终端,该模块是一款高质量的CDMA2000 1X-EVDO工业级模块,支持下行3.1 Mbps与上行1.8 Mbps传输速率;支持串口与USB接口,在物联网行业具有广泛应用。此外,该模块指令和封装与支持4G LTE制式的华为ME909通信终端兼容,待4G网络正式商用后,仅更换通信模块就可以支持4G通信。STM32与华为MC509模块通过串口1进行通信,由于通信电平不同,添加HC244芯片作为缓冲。电路如图5所示。

串口通信波特率为115 200 bps,数据位8位,无奇偶校验位,停止位1位。通信协议为华为公司的AT指令,通过AT指令,STM32可以控制MC509进行各种数据操作,每条AT指令都以AT开头,回车换行结束,在系统中主要使用如下AT指令。

(1) 初始化网络链接指令

AT^IPINIT=,"CARD","CARD",

初始化成功之后网络会给设备分配IP地址,以便进行网络通信。

(2) 建立TCP网络链接指令

AT^IPOPEN=1,"TCP","202.117.128.8",80,5200,

执行成功之后会向目标地址建立一个TCP链接。

(3) 打开透传模式指令

AT^IPENTRANS=1,

在TCP链接建立之后执行,可以打开链接透明传输模式,可以连续的向目标传输数据,在传输完成时发送“+++”即可退出透传模式。

(4) 关闭网络连接指令

AT^IPCLOSE=1,

能够断开指定的网络链接。

(5) 获取基站系统时间指令

AT^TIME,

获取成功则会返回基站系统时间。

图5 STM32与MC509连接

3 系统软件设计

3.1 下位机软件设计

下位机软件在嵌入式系统MDK开发环境下使用C语言开发,为了使物联网网关工作更加稳定,编程更加灵活、方便,扩展性更好,下位机采用开源的μC/OS-II实时嵌入式操作系统,该系统是一个专门为嵌入式应用设计的可裁剪、抢占式和实时多任务操作系统,相应的任务划分如表1所示。

表1 系统任务划分

(1) 主任务主要用于系统初始化与启动其他任务。

(2) 系统工作指示任务主要用于指示系统工作状态。工作正常时网关能够接收来自ZigBee网络的心跳帧数据包,网关上的LED状态指示灯按固定频率闪烁,工作异常无心跳数据时熄灭。

(3) 发送数据调度任务,主要用于保证在每次发送完毕时,收到服务器反馈信息后,再次发送下一条数据。

(4) 发送数据任务主要负责发送网络数据,包括对数据的格式的转换、打开网络连接、打开透传模式、发送数据和关闭连接等。

(5) 查询指令任务,主要负责查询上位机软件下发的控制指令。

(6) 数据解析任务用来解析获取到的数据包,并执行相应操作。

系统的主要工作流程如图6所示。

图6 3G物联网网关工作流程

3.2 上位机软件设计

上位机软件使用LABVIEW图形化程序编译平台开发,主要实现了3G数据物联网网关上传数据的收集及计算显示。数据曲线显示使用LABVIEW平台上的图形显示控件波形图表绘制。此外,为支持不同的模拟传感器,在上位机软件中设计了可由用户自行输入传感器转换公式的公式输入框,ZigBee数据采集节点只需要对模拟传感器输出值进行A/D采样并上传采样值,上位机就可以将获取到的模拟传感器输出A/D采样值自动带入转换公式进行计算并显示,这样ZigBee数据采集节点仅预留A/D采样接口便可以兼容不同模拟传感器。

4 系统测试及分析

4.1 系统测试

以ZigBee网络采集温度信息,控制继电器为例进行测试,整个测试系统硬件由LM35温度传感器、继电器模块、ZigBee终端节点和3G网关组成。系统实物如图7所示。

图7 系统实物

将LM35温度传感器输出与ZigBee终端节点P0.0接口相连,使用CC2530内部AD转换器采集LM35输出电压,每隔20 s采集一次数据并经过ZigBee网络传输至3G网关,经过3G网关封装传输至服务器;打开上位机软件,在公式一栏中填入LM35的电压/温度转换函数,连续运行90 min后实时显示的温度数据如图8所示。

图8 系统测试

由于终端节点置于空调房间内,所以图中温度在27℃到23℃之间波动,单击打开、关闭按钮可以操作终端节点所连接的继电器。

4.2 系统CPU占用率测试

使用μC/OS-II系统中的统计任务统计网关运行时系统CPU占用率,结果如图9所示。可以看出,大部分时间系统的CPU占用率都低于10%,而在有数据通信时CPU占用率升至20%以上,通信繁忙时CPU占用率升至35%以上,大部分时刻系统CPU空闲率高于60%。

图9 网关系统CPU占用率

4.3 系统丢包率测试

通过比对服务器接收到的数据包个数与数据包的发送序号(trans ID)能够计算得到网关的丢包率,服务器每收集1 000组数据进行一次丢包统计,共收集15 000组数据,得到的丢包统计数据如图10所示。

图10 网关丢包统计数据

第1、4、6、7、8、10、13、14次统计丢包为0个,第2、3、5、9、11、12、15次统计丢包1个,15次统计平均丢包率为0.047%,低于CCSA标准规定的最大丢包率1%,符合标准。

4.4 系统时延测试

通过记录串口开始接收一帧数据到这帧数据使用3G网络发送结束的时间统计网关的时延,每发送1 000组数据进行一次时延统计,共发送15 000组数据,得到的时延统计数据如图11所示,其中横坐标代表发送数据包的个数,纵坐标代表每1 000组数据的平均时延。

图11 网关时延统计数据

15次统计的时延依次为:9.64 ms、10.49 ms、8.42 ms、10.88 ms、9.17 ms、8.76 ms、9.94 ms、8.57 ms、10.08 ms、9.28 ms、10.01 ms、8.97 ms、10.67 ms、9.08 ms、10.39 ms。15次统计平均时延9.62 ms,远小于CCSA标准规定的平均时延的上限(IPTD)100 ms。

5 结语

以STM32为主控制器,设计并实现了ZigBee/3G的物联网网关系统,该系统能够实现ZigBee传感网络与互联网的数据转发、协议转换及终端节点远程控制功能。同时针对模拟传感器在软件中设计有转换公式输入框,对于模拟传感器提供了最广泛的支持,具有良好的兼容性。系统测试结果表明,该系统运行稳定,能够较好的达到物联网网关设计的性能要求,可广泛应用于环境监测、智能家居、工业控制等物联网应用领域。

[1] Atzori L, Iera A, Morabito G. The internet of things: A survey[J]. Computer Networks, 2010, 54(15): 2787-2805.

[2] 赵海,邵士亮,朱剑,等.一种连接WSN与Internet的多核嵌入式网关设计与实现[J].东北大学学报:自然科学版, 2012, 33(1): 65-68.

[3] 陈琦,韩冰,秦伟俊,等.基于Zigbee/GPRS物联网网关系统的设计与实现[J].计算机研究与发展,2011,48(2):367-372.

[4] 满莎,杨恢先,彭友,等.基于ARM9的嵌入式无线智能家居网关设计[J].计算机应用,2010,30(9):2541-2544.

[5] 石家骏,钟俊,易平.基于ZigBee的无线抄表系统网关的设计与实现[J].计算机工程与设计,2011,32(3):875-878.

[6] 何明星.基于ZigBee与GPRS技术的无线传感器网络网关的设计[J].工矿自动化,2009(8):106-109.

[7] 李雪刚,黄梦醒,朱东海.基于物联网技术的远程农田监控系统设计[J].计算机工程,2012,38(17):20-23.

[8] 刘建华,田岁苗,赵勇.基于Android的智能家居系统设计[J].西安邮电大学学报,2013,18(4):71-74.

[9] 张毅,马钧元,杨校权.基于Cortex和ZigBee的智能家居网关设计与实现[J].电视技术,2012,36(1):56-57.

[10] 刘火良,杨森.STM32库开发实战指南[M].北京:机械工业出版社,2013:300-450.

[责任编辑:瑞金]

The IOT gateway system based on ZigBee/3G

ZHAO Xiaoqiang, LEI Xue, FENG Xun

(School of Communication and Information Engineering, Xi’an University of Posts and Telecommunications, Xi’an 710121, China)

In order to make the IOT (Internet of Things) sensor network wireless access the Internet, data transmission and the protocol conversion between ZigBee and internet, an IOT gateway system based on ZigBee/3G is designed. The ZigBee sensor network collects sensor data, and all data are aggregated to IOT gateway and sent to the server through the 3G network. Monitoring personnel can check all the nodes data through mobile phone and computer, and also can send commands to the sensor node through the PC software to realize the control of sensor nodes. As an example, water tank temperature information and control relay are tested by using this ZigBee network. Test results show that this system has good real-time, the packet loss rate of 0.047%, lower than the Chinese Communications Standards Association (CCSA standard) maximum packet loss rate of 1% provisions, the average time delay of 9.62 ms,the average time delay is far less than the limit specified in CCSA standard (IPTD) 100 ms.

Internet of Things(IOT), gateway, 3G, ZigBee

2014-09-17

工信部通信软科学研究计划资助项目(2014R38);陕西教育厅服务地方专项计划资助项目(14JF022)

赵小强(1977-),男,硕士,副教授,从事物联网研究。E-mail:zxq7703@126.com 雷雪(1989-),女,硕士研究生,研究方向为物联网技术与应用。E-mail:1229662967@qq.com

10.13682/j.issn.2095-6533.2015.01.005

TP301

A

2095-6533(2015)01-0024-06

猜你喜欢

机软件网关时延
5G承载网部署满足uRLLC业务时延要求的研究
基于GCC-nearest时延估计的室内声源定位
信号系统网关设备的优化
VoLTE呼叫端到端接通时延分布分析
小水电站计算机监控系统上位机软件的开发
简化的基于时延线性拟合的宽带测向算法
道岔监测系统上位机软件设计
LTE Small Cell网关及虚拟网关技术研究
应对气候变化需要打通“网关”
一种实时高效的伺服控制网关设计