《电子技术应用》
您所在的位置:首页 > 通信与网络 > 设计应用 > 基于ZigBee的多传感器物联网无线监测系统
基于ZigBee的多传感器物联网无线监测系统
来源:电子技术应用2013年第3期
石繁荣, 黄玉清, 任珍文
西南科技大学 信息工程学院, 四川 绵阳 621010
摘要: 针对无线传感器网络在物联网无线监测中的应用,基于ZigBee技术组建树形无线网络,以SoC芯片CC2530为核心设计模块化无线节点硬件,集成了含温湿度和振动量等的多传感器模块,基于Z-stack协议栈完成了多传感器有限状态机程序和低功耗节点程序,并改进了协议栈对链路失效的管理机制。通过大量实验获取统计数据,无线节点点对点传输速率典型值为20 kb/s,多跳传输典型值为0.3 kb/s,系统具有较强的扩展性,能够较好地满足智能家居和安防监测等物联网应用。
中图分类号: TP274+.5
文献标识码: A
文章编号: 0258-7998(2013)03-0096-04
The multi-sensor Internet of Things wireless monitor system based on ZigBee
Shi Fanrong, Huang Yuqing, Ren Zhenwen
School of Information Engineering, Southwest University of Science and Technology, Mianyang 621010, China
Abstract: According to the application of WSN in Internet of Things wireless monitor, The system based ZigBee to build tree wireless network, designed modular wireless node hardware use SoC chip CC2530 as core unit, integrated multi-sensor module include temperature and humidity and vibration quantity etc, based on Z-stack designed multi-sensor finite-state machine software and low power consumption node software, and improved the link failure management mechanism of stack. With the large experiment data, proving that the typical transmission rate of single hop is 20 kb/s, the typical transmission rate of multi-hop is 0.3kb/s, and the system has strong expansibility, could well satisfy application of the internet of things such as intelligent household and security monitoring。
Key words : Internet of Things; multi-sensor; ZigBee; CC2530; low power consumption; wireless monitor

    无线传感器网络WSN(Wireless Sensor Network)是信息科学的研究热点,它是一种自组织的多跳路由无线网络,通过在监测区域中部署大量低成本的无线传感器节点,节点间协同工作从而实现信息采集和传输。

    随着传感器技术、微处理器技术、芯片技术和无线通信技术的发展,以及片上系统SoC(System on Chip)的出现,为无线传感器网络提供了单芯片解决方案,极大降低了无线传感节点的体积、功耗和成本。无线传感网络已被广泛地应用到军事、医疗监护、智能交通和仓储管理等领域。随着物联网应用的推广及成本降低,无线传感器网络将被更广泛的应用[1-3]。
1 系统结构
    系统的主要功能包括传感器数据采集、ZigBee组网与通信[4]、网关管理与节点设备无线控制、传感器数据界面显示与计算等。本文主要工作包含无线节点硬件设计、节点程序设计、传感器网络组建和数据协议定义,以及节点低功耗设计。系统基于ZigBee无线通信技术组建树状网络,通过传感器节点采集并组建传感器数据帧,通过多跳路由汇集到网关设备上,实现环境信息监测。
    系统网络拓扑结构如图1所示[5-6],系统主要包含了网关设备(协调器,Coordinator)、路由节点和传感器节点以及一些可扩展的接口。协调器主要负责启动和配置整个网络,通过扫描物理信道能量选择一个空闲信道作为网络的信道。路由节点(Router)主要功能为批准其他设备加入网络、多跳路由和协助其子节点完成通信。传感器节点主要为传感器数据的采集与传输。
2 CC2530多传感器无线节点硬件设计
    CC2530是一款符合ZigBee标准的SoC芯片[7-8],集成了无线电收发器、8051内核、串口、ADC和定时器等外设,利用CC2530作为无线传感器网络解决方案,节点成本、体积和功耗都能够得到大幅度降低。


    CC2530射频模块主要完成无线信号的收发功能,负责ZigBee协议相关操作,并控制采集、存储和处理传感器数据。底板由供电模块及调试端口构成,传感器扩展板部署了温湿度传感器SHT11、加速度传感器ADXL202和压力传感器MCS5540。
2.2 CC2530射频模块设计
 ZigBee无线通信模块以CC2530为核心,芯片工作电压为2~3.6 V,节点提供了标准I/O接口,容易嵌入到其他设备中,可以替代现有的无线控制方式,并获取设备工作记录。
2.3 传感器模块设计
    温湿度传感器采用SHT11,CC2530以P1.6、P1.7分别与DATA和SCK线连接,CC2530通过程序控制实现SHT11控制和读写信号。
    加速度传感器采用ADXL202实现,用来采集振动信号,ADXL202E分别从Xout和Yout输出两个方向的加速度信息,以不同的占空比表示,CC2530采用定时器口线P1.3、P2.0与ADXL202E连接,测量其占空比。
    气压传感器采用MCS5540,提供气压测量和温度测量,以SCLK、DIN和DOUT组成读写总线,CC2530通过USART 0口与MS5540C连接。
3 基于Z-stack协议栈的节点程序设计
3.1 节点功能分析

    节点程序基本功能如图3所示,基于协议栈应用层实现,具体的功能实现按照节点的逻辑关系有所区别。

    节点设备输出控制:控制操作的发起者可以是网络中的节点,也可能是节点自己或者网关控制平台。如将ZigBee节点作为温度报警装置的控制器,当节点自身具有温度传感器装置时,节点可以在温度超过设置的范围时发起报警。
    低功耗管理为感知节点发送功率自调整机制和休眠机制,以提高对能量的使用效率,避免不必要传输带来的能量损耗。链路检测为支撑子节点管理和节点低功耗管理功能,检测父子节点间链路可靠性、信号质量和获取接收信号强度指示RSSI(Received Signal Strength Indication)值。
3.2 数据结构设计
    网络中传输的数据实体在应用层被封装成帧,对于协议栈为透明数据。数据帧在网络中透明传输,只有目的地址节点的相匹配的应用对象可对数据进行解析处理。
    (1) 设备描述符数据结构
    节点设备简单描述符向协调器报告节点属性、网络地址、扩展地址和节点父节点网络地址,以及支持的设备个数、类型、设备标号和控制/状态等相关信息。设备简单描述符结构如图4。

    NWK_Addr锁定源/目标节点,再由C_ID锁定节点上对应设备,从而正确地解析/控制指定节点上特定设备。
 (3) 设备控制命令结构
    设备控制是对指定节点的指定外设控制的过程,用户可以通过网关发起控制,传感器节点也可以发起控制命令。控制命令结构如图6。

3.3 基于有限状态机的传感器控制程序设计
    传感器节点周期性地采集并传输数据,通过进入休眠状态以节省节点能量。应用层程序对象通过osal_start_timerEx( )函数,设置传感器数据采集定时任务,基于有限状态机FSM(Finite State Machine)的程序设计如下。
  while( FSMstate_S != IDEL )
      { switch(FSMstate_S)
         { case Sensor_RD_status:                      //传感器转换
        { if( 转换成功 )
           {  ……
              FSMstate_S = IDEL;                     //退出
        }
          else  FSMstate_S = ResetSeriInterface ;
           break;}
                                            //其他状态
    case ResetSeriInterface:                  //启动串行总线
      {  ……
        FSMstate_S= Sensor_RD_status;                     //转换
     break;}
    default: FSMstate_S= IDEL ; break;
     }//--switch
    }//--while
3.4 节点链路失效管理
    Z-Stack协议栈的网络层支持节点路由管理和网络,而因突发事件如掉电、失效和重启等引发子节点丢失网络,协议栈没有提供完整的解决方案[10]。
    节点失效链路管理,如图7所示为父节点死亡和重启后,造成子节点链路失效的情形。由于父节点因突发原因失效,如被破坏或供电中断等,节点不能通知其相邻节点,从而导致子节点仍然认为其父节点存在于网络中,并不断向其发送数据,若节点采用应答传输机制,则会长时间等待父节点的应答。上述两种情形都会导致子节点与网络的通信不可靠,节点网络地址分配混乱和重复。

    节点移动链路管理,如图8为节点移动后造成通信链路中断、功耗增大等问题,如父子节点之间被加入障碍物。感知节点移动后,与R2的距离远远小于与R1的距离,原来只需较小的发射功率则可与R1建立可靠的通信连接,而此时感知节点必须提高发射功率。

 父节点返回的匹配消息报告给节点应用层,子节点首先撤销正在执行的定时任务并判断消息。若消息为真则表明链路仍然可靠,并在定时T1结束后设置下一次传感器转换定时。否则节点将重启网络层重新加入网络。
3.5 基于RSSI的节点低功耗设计
    无线传感器节点能量消耗主要在于节点无线通信[9],针对网络环境稳定且较少移动的节点,子节点可基于RSSI值调整发射功率,根据节点间的实际信道质量,调整不同节点间的发射功率,避免节点用固定的发射功率时因距离太近而造成能量浪费。
    RSSI受节点之间的距离和障碍物等信道质量情况影响,不同的子节点与父节点建立可靠链路所需要的发射功率则不一样。图10所示为子节点与父节点建立最低功耗通信链路的流程,子节点向父节点发送发射功率校正的命令;在接收到父节点返回的RSSI值后,子节点则根据RSSI的大小调整自己的发射功率。

4 系统传输性能实验分析
4.1 点对点传输实验

    点对点传输是节点性能的一个重要指标,本文针对节点的数据速率和丢包率做了大量的实验测试。在室内环境下,节点采用3.3 V直流供电,传输距离(视距)>30 m,发射功率0 dBm,收发节点分别统计数据帧,单次测试持续时间10~20 min。获得数据速率与丢包率关系如图11(a)所示。


    图示数值为节点多次实验的平均值。当发射速率逐渐增大到21 kb/s时,接收节点丢包率明显增大。由图11可知发射速率低于20.88 kb/s时丢包率为0,速率为22.5 kb/s时丢包率约为6%。可得节点的数据速率实验典型值为20 kb/s。
4.2 多跳通信实验
    多跳通信实验设置了源节点为设备终端节点,中转设备路由节点和目标设备协调器组成的2跳网络。测试环境与点对点通信一致,针对数据速率和丢包率完成大量实验,得到的目标节点数据速率与丢包率关系如图11(b)所示。
    由图11(b)可知,经路由节点中转后数据传输可靠性大大降低了。在数据发送速率低于0.3 kb/s时丢包率为0,而大于这个值后则逐渐上升。所以在保证丢包率为0的前提下,两跳通信的数据速率的试验值可以达到0.3 kb/s。
    本系统完成了以CC2530为核心的多传感器无线节点硬件设计,并基于Z-stack协议栈完成传感器程序设计,同时实现协议栈的低功耗改进和节点链路失效管理。通过实物测试获得节点单跳通信数据速率典型值为20 kb/s,多跳通信典型值为0.3 kb/s,能够较好地满足区域环境信息监测的应用。系统的硬件结构设计充分考虑了扩展性,数据协议定义充分考虑了上位机控制台显示信息的丰富性,支持控制台显示网络拓扑结构、节点设备信息和状态、节点移动动态更新,以及节点设备无线控制。
参考文献
[1] 郑凯.基于ZigBee无线传感器技术的心电监护网络的研究[D].吉林:吉林大学,2008.
[2] 陈涛,刘景泰,邴志刚.无线传感网络应用于研究综述[J].自动化与仪表,2005(7):41-46.
[3] 韩宾,黄玉清.基于蓝牙的机器人传感网络设计[J].通信技术,2008(6):164-166.
[4] GISLASON D. Zigbee wireless Networking[M]. Burlington:Newnes,2008.
[5] Wang Weixin, Sung Jongwoo, KIM D. Complex event processing in EPC sensor network middleware for both RFID and WSN[C]. 2008 11th IEEE, ISORC, 2008:165-169.
[6] Yang Huanjia, Yang Lili,et al. Hybrid Zigbee RFID sensor  network for human-itarian logistics centre management[J]. Journal of Network and Computer Applications,2011(34):938-948.
[7] TI. CC253X User Guide.http://www.ti.com.cn.2011.
[8] TI.Z-Stack Developers Guide.http://www.i.com.cn/.2011.
[9] ESTRIN D. Tutorial“PartIV: sensor network protocols. Mobicom,2002. http://nest1.ee.ucla.edu/tutorials/ mobicom02.2011.

此内容为AET网站原创,未经授权禁止转载。