丁唯君
摘 要: 针对无线传感器网络技术在网络监测中的特点,在分析ZigBee协议栈体系结构的基础上,研究了对网络协调器、路由器及终端节点的程序设计。针对节点计算能力、通信带宽、存储容量有限等特点,本文运用了无阻塞设计等方法,实现了传感数据的采集和传输。
关键词: ZigBee; 无线传感器; 节点
中图分类号: TN 92 文献标志码: A 文章编号: 1671-2153(2015)06-0083-04
0 引 言
无线传感器网络是一门获取和处理信息的新兴技术,它综合了微电子技术、无线通信技术、嵌入式计算技术、分布式处理技术等先进技术,其主体是低成本、低功耗、多功能的集成化微型传感器;它能够实时感知、监测、采集、处理和传输各类监测对象或周围环境的信息,具有动态性、自组织等优点,目前正广泛应用于各行各业。
典型的无线传感器网络是由汇聚节点,传感器节点和管理节点组成。本文主要针对环保数据监测,因此在分析ZigBee协议体系结构的基础上,在选好网络监测的硬件后,主要针对协调器节点和终端设备节点进行程序设计。
1 ZigBee协议简介[1]
ZigBee协议主要用于消耗低、距离短、成本低和传输速率不高的双向无线通信。在IEEE802.15.4标准基础之上建立了ZigBee协议架构,它包括MAC层、PHY层、NWK层。
Jennic公司在ZigBee协议栈的基础上提供了Basic Operating System(BOS)。BOS调用用户程序的接口由若干个接口函数组成。
2 无线传感网络监测的硬件选择
无线传感器网络的重要组成部分就是无线传感器节点,设计时需要考虑:微型化,扩展性和灵活性,稳定性和安全性,低成本,低功耗,高强壮性和容错性等特点。为了减少外围器件的数量, ZigBee无线处理器集处理器和射频收发器于一体,大大降低硬件开发难度与成本。综合考虑处理器价格、CPU处理能力、高集成度、低功耗、等因素,本文选用Jennic公司的JN5139-Z01-M00通信模块。
3 无线传感网络节点设计
3.1 软件开发平台
节点设计中,软件设计起着举足轻重的作用。为了本着易用方便的原则, 用户可以方便地从Jennic公司处拿到IEEE802.15.4MAC和ZigBee协议包,按照说明进行安装,就可开发基于ZigBee协议的程序,调试和编译也只需在CodeBlocks集成开发环境中进行。用户程序被编译成二进制文件后,通过Programmer软件下载到JN5139的Flash中,就可以在JN5139模块上运行。
3.2 协调器节点程序设计
ZigBee协调器节点的主要任务是建立网络,包括以下几步[2]:创建PAN coordinator、选择PAN ID和coordinator的短地址、选择射频频率、启动网络。当节点上电时,首先对设备进行初始化,以及BOS的启动。其次将协调器作为注册节点,并设置短地址和网络ID,协调器选择射频通道后启动网络,同时相应终端设备或路由器申请加入网络的要求。BOS是Jennic ZigBee协议中一个基本操作系统。同时,BOS控制ZigBee协议栈任务和用户任务的执行。协调器接收并向串口发送数据部分程序代码如下:
3.3 传感器节点程序设计
传感器节点的主要功能是采集数据并发送至协调器。节点接电、初始化后进行信道查询,选择合适的网络申请加入。成功加入网络后,读取传感器数据并发送至协调器。
以光强数据采集为例,介绍传感器节点的数据采集功能。TSL2561是一个光-数字传感器,它以I2C总线标准为依据,将光强转换成数字信号输出。
I2C[3-4]总线不在进行任何操作控制时,时钟线SCL与数据线SDA总是处于高电平输出状态。当控制系统被操作时,I2C总线的主机将发出启动信号,使数据线SDA由高电平变为低电平,同时时钟线SCL也发出时钟信号。JN5139向TSL2561发送命令的时序如图1所示。
部分代码程序如下:
字符数据传送函数send_byte(),将地址或数据发送出去,等待回应,此时对状态位进行操作(被控器无应答或损坏时,状态变为不应答或非应答,ack=0);发送数据正常则ack=1。
重点在于无阻塞节点的设计:
(1) AD转换
由于从传感器传送到JN5139的信号都是0~2.4V标准电压,它通过ReadADC()函数来完成模数转换常见的数据量。AD转换会消耗一些时间,在转换过程中,BOS不能执行其他任何任务,它一直在等待,因此会出现阻塞,降低了CPU的利用率。针对这种情况,本文采用无阻塞方法来执行AD转换,即:在每一次读取指令到来时,如果CPU处于忙碌状态,那么自动跳到中断,防止ADC通道阻塞,节省了时间。无阻塞流程图如图2所示。
(2)数据发送
传感器节点程序的重要组成就是数据发送。它将传感器节点的环境参数、网络地址等重要信息以多跳方式发送给协调器节点。本设计中,采用格式更为灵活的MSG帧格式,其定义如图3所示。
MSG服务促使一个应用剖面用自由形式的帧格式工作,它由自己的应用剖面定义,对数据格式不作要求,适合任何格式的数据传输。因此可以用于传送数据量大的信息。
4 结束语
本文主要介绍了监测系统的节点设计,包括利用JN5139开发ZigBee网络流程,协调器、传感器、路由器等部分主要程序的设计。随着无线传感技术的不断发展、不同领域的传感器网络的设计与实现,无线传感器网络技术一定有着广阔的发展空间,促进信息技术应用更加普及。同时,随着人们生活水平的不断提高,对生活舒适度的不断追求,相信在不久的将来,无线传感器网络将完全融入到人们的日常生活当中,为人们的日常工作服务。
参考文献:
[1] 翟雷,刘盛德,胡咸斌. ZigBee技术及应用[M]. 北京:北京航空航天大学出版社,2007.
[2] 徐志远,许贺楠,凌志浩. JN5121无线控制器的功能剖析及应用探讨[M]. 自动化仪表,2008,5(29):61-63.
[3] 李国平,武海艳. C51实现I2C总线的应用研究[J]. 福建电脑,2006(9):168-168,182.
[4] DENG J, HAN Y S,HEINZELMAN W B,et al.Seheduling sleeping nodes in high density cluster-based sensor networks,ACM/Kluwer Mobile Networks and Applieations(MONET)speeial issu on[J]. Energy Constraints and Lifetime Performance in Wireless Sensor Networks,2004(9):18-19.
[5] 袁道敏,万健,何必仕. 一种使用的ZigBee网络路由算法[M]. 杭州电子科技大学学报,2009,2(29):44-47.