Journal of Sensor Technology and Application
Vol.04 No.02(2016), Article ID:17447,8 pages
10.12677/JSTA.2016.42009

The Design and Implementation of the WSN Gateway Based on μC/OS-II

Xuemei Liu, Dongdong Song

Information Engineering College, North China University of Water Resources and Electric Power, Zhengzhou Henan

Received: Apr. 8th, 2016; accepted: Apr. 24th, 2016; published: Apr. 27th, 2016

Copyright © 2016 by authors and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY).

http://creativecommons.org/licenses/by/4.0/

ABSTRACT

With the large-scale application of wireless sensor network (WSN), in this application system, it is particularly important to promote the transmission real-time and achieve the remote real-time transmission of the data that the sink nodes sensor gets. This paper uses the way of the connection of the WSN based on Zigbee protocol and the Internet based on TCP/IP protocol, meanwhile introduces μC/OS-II embedded real-time operating system to manage and schedule the system resource. The experiment result shows that the design of this gateway can effectively solve the problem of data remote transmission, and also can meet the real-time requirement of the application monitoring.

Keywords:WSN, μC/OS-II, ZigBee, Gateway

基于μC/OS-II的无线传感器网络网关的设计与实现

刘雪梅,宋东东

华北水利水电大学信息工程学院,河南 郑州

收稿日期:2016年4月8日;录用日期:2016年4月24日;发布日期:2016年4月27日

摘 要

随着无线传感器网络的大规模应用,应用系统对传感网络传输实时性的提升,汇聚节点感知数据的远程实时传输显得尤为重要。本文将基于ZigBee协议的无线传感器网络与基于TCP/IP协议的Internet相连接,并引入μC/OS-II嵌入式实时操作系统,对系统资源进行管理和调度。实验结果表明,所设计的网关能够有效解决数据远程传输的问题,同时能够满足应用监控的实时性要求。

关键词 :无线传感器网络,μC/OS-II,ZigBee,网关

1. 前言

近年来,随着电子技术和无线通信技术的快速发展,无线传感器网络始终是一个热门的话题,其在军事、环境监测、医疗健康等领域都有广泛的应用 [1] 。无线传感器网络是一种分布式传感网络,由部署在监测区域内的大量的廉价微型传感器节点组成,通过无线通信方式形成一个多跳的自组织网络系统 [2] [3] 。无线传感器网络的特点是多节点协作感知、采集和处理网络覆盖区域中被感知对象的信息,并通过路由器转发汇集到协调器。在实际应用中,被监测对象所处环境往往十分恶劣,而且离监控中心很远,协调器汇集的数据不能及时传送至监控中心 [4] 。为了达到实时在线监控的目的,需要实现两种不同网络协议的转换,建立无线传感器网络与Internet之间进行自由信息交互的机制 [5] 。本文提出了一种基于μC/OS-II的无线传感器网络网关的设计方案,并描述了实现过程。

2. 嵌入式实时操作系统μC/OS-II

μC/OS-II是基于任务优先级进行任务调度,管理微控制器资源的嵌入式实时操作系统 [6] 。内核属于抢占式,最多可以管理60个任务。在系统中嵌入式操作系统μC/OS-II可以把整个程序分成许多任务,每个任务相对独立,且都有自己单独的堆栈。μC/OS-II允许不同的任务拥有不同大小的堆栈空间,从而减少应用程序对RAM的需求。

同时,实时内核可以规避前后台程序设计缺陷,方便程序设计和优化,对实时性要求较高的应用也可满足。其占用系统资源少,编译后的内核不到10 KB,系统本身的实现具有高度模块化,可通过条件编译的方式对系统功能进行裁剪。另外,源代码开放,应用广泛,且技术支持全面,系统移植相对简单,其软硬件体系结构如图1所示。

3. 系统

3.1. 系统总体架构

无线传感器网络网关系统主要由五部分组成,应用处理器、协调器、GPRS模块、LCD显示屏和其他外设,如图2所示。系统首先需要通过GPRS模块与监控中心建立TCP连接,然后协调器将汇集的数据通过串口按照既定格式发送到应用处理器,应用处理器解析收到的数据帧,同时通过GPRS模块按照Internet协议转发到监控中心。LCD显示屏用于显示网关关键信息,便于使用和调试。其他外设,例如按键用于某些参数的设定、蜂鸣器用于特定情况的报警或作为提示音等。

Figure 1. Architecture of μC/OS-II software/hardware [4]

图1. μC/OS-II软硬件体系架构 [4]

Figure 2. System general structure

图2. 系统总体架构图

3.2. 应用处理器

网关应用处理器采用意法半导体公司的STM32F107VCT6芯片,其专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核,配置一流的外设——1us的双12位ADC、4 Mbps的USART、18 Mbps的SPI和18 MHz的I/O翻转速度等,拥有最大的集成度,简单的结构和易用的开发工具 [7] 。

3.2.1. μC/OS-II的移植

操作系统的代码分为与CPU无关的代码和与CPU相关的代码两部分,移植过程中间只需要修改与CPU相关的代码部分,如表1所示。

3.2.2. μC/OS-II主要任务

无线传感器网络网关系统主要分为以下七大任务,详情见表2所示。

任务间的切换按照优先级进行调度,相关的事件之间,通过信号量/邮箱进行同步与通信。图3为主要任务事件传递关系图。

Table 1. Code files associated with CPU

表1. 与CPU相关的代码文件

Table 2. μC/OS-II main task list

表2. μC/OS-II主要任务表

Figure 3. Main task event transfer relation graph

图3. 主要任务事件传递关系图

3.3. GPRS模块

MC55模块主要功能包括短信、语音通话和GPRS数据传输,同时内嵌TCP、UDP、HTTP、FTP、SMTP、POP3多种协议。在网关的设计过程中主要使用GPRS数据传输和短信功能,通过串口发送AT指令与MC55模块通信。图4即为发送AT指令流程图。

Figure 4. Flow chart of AT instruction

图4. 发送AT指令流程图

只有当指令发送成功后,函数才会从while(Flag == 0)循环中退出,指令未发送成功时,函数会按照设定的时间间隔(wait_time)重新给模块发送相同的指令,并检测是否成功,直到成功后,退出并关闭定时器。为保证与服务器保持长连接,在与服务器建立连接后,定时向服务器发送心跳包。

3.4. 协调器

采用TI推出的CC2530构建无线传感器网络,利用ZigBee协议栈Z-stack,组建星型拓扑结构的网络。网络由协调器(Coordinator)、路由器(Router)和端节点(Endpoint)三种类型设备构成,网关应用处理器与协调器通过串口相互通信,对ZigBee网络进行管理与维护。

ZigBee协议栈实现了无线传感网络的建立和维护,内部嵌入有实时操作系统(Real Time Operating System, RTOS) OSAL (Operating System Abstraction Layer),并以函数形式提供ZigBee协议所规定的基本功能 [8] 。利用OSAL可以实现任务注册、初始化和启动,任务间的同步、互斥,中断处理以及存储器分配和管理。确定传感器接口后,通过OSAL访问特定接口函数,便可完成数据的采集和传输。

4. 实验结果与分析

4.1. 实验结果

无线传感器网络网关如图5所示,主要包括电源、核心板、ZigBee协调器接口、GPRS模块接口、3.2寸LCD显示屏、四个按键和4个LED指示灯。

在实际测试中间,我们在服务器上部署了一个WSNServer服务,用以接收网关上传的数据,同时将接收到的数据写入数据库,图6为服务器上运行的WSNServer服务,图7为存入数据库的数据。

端节点模拟数据采集过程,向协调器发送数据,数据类型分为adc_ch1、adc_ch2、adc_ch3、core_voltage、humidity、key_info、mac_addr、ntk_addr、position和temperature。每一个端节点可以采集上述数据类型的全部或者部分,通过设备的MAC地址进行唯一标识,为网络拓扑结构、端节点采集信息管理、无线传感器网络地址与MAC地址管理等应用提供支持。

为了测试网关在上传或者接收数据时的延时,在端节点上传上来的数据尾部加上接收时间戳,作为一个属性字段(发送时间)与服务器上的接收时间做对比。实验结果表明上传数据延时保持在2秒以内,满足监测实时性要求。为了测试网关上传数据的丢包率,我们利用ZigBee网络的帧序列号,对网关的接收处理上传性能进行了测试,图8为丢包率测试结果图。

Figure 5. Wireless sensor network gateway

图5. 无线传感器网络网关

Figure 6. WSNServer service

图6. WSNServer服务

Figure 7. Data stored in the database

图7. 存入数据库的数据

Figure 8. The packet loss of WSN gateway

图8. 无线传感器网络网关丢包率

丢包率测试结果图表明,当协调器通过串口向应用处理器传输数据时,发送数据帧频率越高,丢包率越大。当发送数据帧频率超过100 HZ时,丢包率直线上升。产生这种结果的原因在于,应用处理器接收数据是按照帧来处理的,在当前帧未处理完时,下一帧已经到达,从而导致丢包。

通过简化协调器与应用处理器通信帧,减少帧的字节数,可以有效提高网关信息处理的吞吐率。

4.2. 实验分析

基于μC/OS-II的无线传感器网络网关,能够实时有效的将端节点感知的数据上传至监控中心。引入μC/OS-II操作系统,将无线传感器网络网关系统按照逻辑关系分割为独立的任务,然后通过操作系统提供的一系列同步与通信机制,使得任务之间按照良好的逻辑稳定有效的运行。对采集信息频率较高的场合,可通过在协调器中增加缓存的方式,减少网关接收帧的频率。

5. 总结

在无线传感器网络网关的设计中,通过引入μC/OS-II嵌入式实时操作系统,对应用处理器软硬件资源进行管理,不仅能够有效解决无线传感器网络感知数据远程实时传输的问题,而且能够规避前后台软件设计缺陷。

文章引用

刘雪梅,宋东东. 基于μC/OS-II的无线传感器网络网关的设计与实现
The Design and Implementation of the WSN Gateway Based on μC/OS-II[J]. 传感器技术与应用, 2016, 04(02): 77-84. http://dx.doi.org/10.12677/JSTA.2016.42009

参考文献 (References)

  1. 1. Wheeler, A. (2007) Commercial Applications of Wireless Sensor Networks Using ZigBee. IEEE Communications Magazine, 45, 70-77. http://dx.doi.org/10.1109/MCOM.2007.343615

  2. 2. 钱志鸿, 王义君. 面向物联网的无线传感器网络综述[J]. 电子与信息学报, 2013(1): 215-227.

  3. 3. 毛晓峰, 杨珉, 毛迪林. 无线传感器网络应用综述[J]. 计算机应用与软件, 2008, 25(3): 179-181.

  4. 4. Mottola, L. and Picco, G.P. (2011) Programming Wireless Sensor Networks: Fundamental Concepts and State-of-the- Art. ACM Computing Surveys, 43, 194-218. http://dx.doi.org/10.1145/1922649.1922656

  5. 5. Lin, Y., Xie, H., Yang, W., et al. (2011) Design of Zigbee Gateway in Intelligent Monitoring System for Agriculture. 2011 International Conference on Mechatronic Science, Electric En-gineering and Computer (MEC), IEEE, 2213- 2216.

  6. 6. 拉伯罗斯, 邵贝贝. μC/ OS-II: 源码公开的实时嵌入式操作系统[M]. 北京: 中国电力出版社, 2001.

  7. 7. 王永虹, 徐炜, 郝立平. STM32系列ARM Cortex-M3微控制器原理与实践(内附光盘1张) [M]. 北京: 北京航空航天大学出版社, 2008.

  8. 8. ZigBee Aliance (2008) ZigBee Speci-fication. http://www.ZigBee.org

期刊菜单