您现在的位置: 通信界 >> 无线通信 >> 技术正文  
 
基于ZigBee协议栈的无线传感器网络的设计[图]
[ 通信界 / 佚名 / www.cntxj.net / 2012/7/5 21:28:43 ]
 

无线传感器网络(Wireless Sensor Network,WSN)是由部署在监测区域内大量廉价微型传感器节点组成,通过无线通信方式形成多跳、自组织网络系统,其目的是协作地感知、采集和处理网络覆盖区域中感知对象的信息,并发送给观察者。

目前能够用于短距离无线传感网络的通信技术主要有5种:Wi-Fi技术、超宽带通信(Ultra Wideband,UWB)技术、近场通信(Near Field Communication,NFC)技术、蓝牙以及ZigBee技术。其中,ZigBee是基于IEEE802.15.4的一种新兴短距离无线通信技术,其特点是低功耗、低速率、低复杂度、低成本等。这些特点决定了ZigBee技术非常适合应用于无线传感网络中,因此ZigBee技术被认为是最有可能应用于工业监控、传感器网络、家庭监控、安全监控等领域的无线技术。在ZigBee协议的制定中,IEEE802.15.4无线标准定义了物理层(Physical Layer,PHY)和介质访问控制层(Medium Access Control Sub-Layer,MAC),而ZigBee协议栈的网络层和应用层是由ZigBee联盟制定的。

支持ZigBee协议的无线通信芯片主要有TI公司推出的CC2420、CC2430、CC2530以及Freescale半导体公司推出的MC13191、MC13192及MC13 193等芯片。CC2430是世界上首个单芯片ZigBee解决方案,除了保持CC2420所包括的优良射频性能之外,其内部还集成了一个增强型8051内核,这使得CC2430成为市面上最具有竞争力的ZigBee无线收发芯片。

文中设计了基于ZigBee协议栈的无线传感网络,该系统包括一个协调器和四个终端传感节点。以采集温度信息为例,实现了无线通信功能。协调器节点通过RS232串口,将收到的数据发送给PC机进行处理及显示。

1 无线传感网络的结构

1.1 网络体系结构

无线传感网路中的基本单元是传感器节点,根据其在网络中的所承担的任务不同,传感器节点可以分为3类:协调器、路由器和传感器节点。在网络中,协调器负责建立网络,允许路由器和传感器节点与其绑定,并接收路由器和传感器节点发送来的数据信息,以及传送给PC机进行处理、存储等;传感器节点负责感知被测对象的物理信息,并将其无线发射给协调器;但如果传感器节点距离协调器太远,则需要路由器在中间进行中继。传感网络的拓扑结构一般有3种:星型网络、树型网络和网状网络。

星型拓扑结构具有组网简单、低成本和低功耗等优点,但网络覆盖范围有限;树型网络可以扩大网络覆盖范围,传感器节点传感器所采集的数据可以通过路由器中继的方式到达协调器;网状网络具有高可靠性和覆盖范围大等优点,但功耗大、管理复杂。在实际应用,要根据实际需求来选择网络拓扑结构。

1.2 传感器节点的结构

无线传感网络中的节点按照其所具备的功能来分,可分为全功能设备(Full Funclion Device,FFD)和精简功能设备(Reduced Function Device,RFD)。网络协调器和路由器必须由FFD来承担,传感器节点一般由RFD来实现。但不管是FFD还是RFD,其硬件的基本结构基本上相同,一般包括传感器模块、微处理器模块、无线通信模块和能量供应模块4个基本部分,如图1所示。传感器模块用于感知被测对象的物理信息,并将其转换为电信号;微处理器模块负责处理及存储数据;无线通信模块负责发射与接收无线电信息;能量供应模块为整个系统提供能量。此外,传感器节点还可能包括一些辅助单位,如定位模块、自供电模块等。与传感器节点和路由器相比,协调器一般需要和PC机相连,所以其带有RS232接口或USB接口等。

图1 传感器节点的结构

2 系统软件设计

TI公司推出的ZigBee协议栈是基于优先级的轮转查询式操作系统,它是由称为层的模块组成,每一层为其上一层提供特定的服务。Zig Bee协议栈为各个层均分配的不同的任务编号,每一个任务中又包含若干个事件。对于开发者来说,一般只需关注应用层函数的设计即可。当然,若果硬件电路不同,则其硬件抽象层函数也是不同的。文中所采用的硬件电路为无线龙公司生产的CC2430无线通信模块,共包括4个传感器节点和一个协调器。每个传感器节点为一个CC2430基本模块和一个电池板;协调器模块为一个CC2430基本模块和一个扩展板,扩展板上带有RS232串口,可用于和PC机进行通信。

2.1 协调器启动及建立网络

无线传感网络的建立是由网络协调器来完成的。协调器节点启动之后,首先完成系统的初始化,然后进入操作系统。在系统的初始化中,包括初始化系统时钟、检测芯片电压、中断系统、flash存储器等,其中比较重要的是初始化端口描述符。两个物理无线收发模块的通信是通过两个设备中编号相同的端点来实现的,这要求协调器所初始化的端点属性要与在传感器节点中所初始化的端点属性相匹配。

进入操作系统以后,首先进入的是应用层任务函数,因为在应用中设置了进入事件。通过按键S1来设置其为协调器,并开始建立网络。将设备设置为协调器之后,通过zb_StartRequest()函数调用ZDO层初始化设备函数ZDOInitDevice()。在该函数中,通过ZDO层中的网络初始化函数ZDApp_NetworhInit()设置网络初始化事件,送给启动设备函数ZDO_StartDevice()处理。在该函数中,调用了网络层的网络形成请求函数NLME_NetworkFormationRequest()来形成网络。由于ZigBee协议栈是半开源的,因此看不到该函数的内部程序。当ZDO层收到网络形成确认信息之后,则设置网络启动事件,将设备的状态改为启动状态。协调器建立网络的过程如图2所示。

图2 协调器启动及建立网络

2.2 传感器节点启动及加入网络

对于传感器节点来说,启动后首先要完成的也是设备的初始化。在本实验中,传感器节点向协调器发送本身的温度信息,所以在传感器节点中所初始化的端口的属性应为输出,而协调器中所定义的端口的属性应为输入。当初始化之后,进入操作系统执行应用层任务中的进入事件。这里直接将设备设置为传感器节点。

传感器节点启动后,开始初始化网络。在ZDO层调用网络层的网络发现函数NLME_NetworkDiscoveryRequest(),尝试发现是否已经存在的网络可以加入。当发现协调器所建立的网络时,传感器节点的ZDO层会收到网络发现确认信息。这时,传感器节点通过调用网络层的网络加入请求函数NLME_JionRequest(),向协调器发送加入网络请求。如果协调器允许其他节点加入网络,则该传感器节点会接收到协调器发送来的加入确认信息。这里的网络发现函数NLME_NetworkDiscoveryRequest()和网络加入请求函数NLME_JionRequest(),与协调器中所调用的网络形成函数NLME NetworkFormationReouest()一样,均为ZigBee协议栈所封装起来的函数,只能由开发人员编程时调用,不能看到其内部程序。传感器节点加入网络的流程如图3所示。

图3 传感器节点启动及加入网络

2.3 传感器节点与协调器的绑定

为了让传感器节点与协调器能相互传送数据,两者之间必须建立绑定关系。绑定是两个(或多个)应用设备之间信息传输的控制机制,在ZigBee2006及以后的协议栈中,所有的设备都必须执行绑定机制。

协调器通过执行zb_AllowBind()函数,开启允许绑定功能。在该函数中,可以设置允许绑定的时间,即在某一段时间内,协调器接收其他设备发来的绑定请求,超过这段时间,则关闭该功能。传感器节点通过执行绑定设备函数zb_BindDevice(),向协调器发送绑定请求。协调器接收到传感器节点发送来的绑定请求,并进行解析,绑定请求信息中包含了传感器节点中的端点信息,然后协调器在自身所注册过的端点中寻找与之相匹配的端点。找到之后,则处理绑定请求信息,并向传感器节点发送绑定响应信息。传感器节点接收到绑定响应信息之后,通过调用应用支持子层的绑定请求函数APSME_BindRequest()来建立绑定表,并将向自己的应用层发送绑定确认信息。传感器节点与协调器建立绑定的流程如图4所示。

图4 传感器节点与协调器绑定

2.4 传感器节点向协调器传送数据

当传感器节点向自己的应用层发送绑定确认信息之后,就调用发送报告函数myApp_StartReporting()向协调器发送数据信息。CC2430内部有一温度传感器,可测量的温度范围是-20~80℃,虽然所采集的结果与实际温度不太相符合(比实际值偏高),但对于构建无线传感器网络,并无太大影响。所以在本实验中,传感器节点所发送的就是其自身内部的温度信息。由传感器所得来的温度信息为模拟信号,需要经过A/D转换为数字信号。CC2430内部集成了多路A/D转换,这里不再详述。

当协调器接收到温度信息之后,对其进行解析,得到温度信息。通过调用串口通信程序,将数据发送给PC机进行显示。串口通信程序的设计,这里也不再详述。

3 实验

当建立绑定关系之后,传感器节点就可以向协调器发送数据。将协调器程序下载到带有扩展板的CC2430模块中,然后将传感器节点程序分别下载到4个带有电池板的CC2430模块中。协调器由3节5号电池供电,并通过RS232串口与PC机相连。在PC机上打开串口调试工具,并设置好端口号、传输速率及校验位等。端口号的设置可通过PC机查看,而传输速率及校验位等与串口通信程序的设计有关,这里选择波特率为384 000,暂时没有设置校验位。每个传感器节点均有2节7号电池供电。

首先打开带有扩展板的CC2430电源,按S1键将其设置成为协调器。然后再次按下S1键,即协调器开启允许绑定功能。此时依次打开4个传感器节点,它们会相继加入网络。在实验中,通过LED的亮灭来观察网络启动及节点加入的过程。

网络加入完毕之后,在PC机的串口调试界面中,能看到协调器所接收到得温度信息,并且协调器为4个传感器节点分别分配了16位的网络地址,如图5所示。

图5 实验数据

4 结论

本实验实现了基于ZigBee协议栈的无线传感器网络的开发。如果在PC机上采用LabVIEW软件对串口数据进行处理,则可以实现数据的实时监测与报警,以及数据的存储与回调等功能。

 

作者:佚名 合作媒体:不详 编辑:顾北

 

 

 
 热点技术
普通技术 “5G”,真的来了!牛在哪里?
普通技术 5G,是伪命题吗?
普通技术 云视频会议关键技术浅析
普通技术 运营商语音能力开放集中管理方案分析
普通技术 5G网络商用需要“无忧”心
普通技术 面向5G应运而生的边缘计算
普通技术 简析5G时代四大关键趋势
普通技术 国家网信办就《数据安全管理办法》公开征求意见
普通技术 《车联网(智能网联汽车)直连通信使用5905-5925MHz频段管理规定(
普通技术 中兴通讯混合云解决方案,满足5G多元业务需求
普通技术 大规模MIMO将带来更多无线信道,但也使无线信道易受攻击
普通技术 蜂窝车联网的标准及关键技术及网络架构的研究
普通技术 4G与5G融合组网及互操作技术研究
普通技术 5G中CU-DU架构、设备实现及应用探讨
普通技术 无源光网络承载5G前传信号可行性的研究概述
普通技术 面向5G中传和回传网络承载解决方案
普通技术 数据中心布线系统可靠性探讨
普通技术 家庭互联网终端价值研究
普通技术 鎏信科技CEO刘舟:从连接层构建IoT云生态,聚焦CMP是关键
普通技术 SCEF引入需求分析及部署应用
  版权与免责声明: ① 凡本网注明“合作媒体:通信界”的所有作品,版权均属于通信界,未经本网授权不得转载、摘编或利用其它方式使用。已经本网授权使用作品的,应在授权范围内使用,并注明“来源:通信界”。违反上述声明者,本网将追究其相关法律责任。 ② 凡本网注明“合作媒体:XXX(非通信界)”的作品,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。 ③ 如因作品内容、版权和其它问题需要同本网联系的,请在一月内进行。
通信视界
华为余承东:Mate30总体销量将会超过两千万部
赵随意:媒体融合需积极求变
普通对话 苗圩:建设新一代信息基础设施 加快制造业数字
普通对话 华为余承东:Mate30总体销量将会超过两千万部
普通对话 赵随意:媒体融合需积极求变
普通对话 韦乐平:5G给光纤、光模块、WDM光器件带来新机
普通对话 安筱鹏:工业互联网——通向知识分工2.0之路
普通对话 库克:苹果不是垄断者
普通对话 华为何刚:挑战越大,成就越大
普通对话 华为董事长梁华:尽管遇到外部压力,5G在商业
普通对话 网易董事局主席丁磊:中国正在引领全球消费趋
普通对话 李彦宏:无人乘用车时代即将到来 智能交通前景
普通对话 中国联通研究院院长张云勇:双轮驱动下,工业
普通对话 “段子手”杨元庆:人工智能金句频出,他能否
普通对话 高通任命克里斯蒂安诺·阿蒙为公司总裁
普通对话 保利威视谢晓昉:深耕视频技术 助力在线教育
普通对话 九州云副总裁李开:帮助客户构建自己的云平台
通信前瞻
杨元庆:中国制造高质量发展的未来是智能制造
对话亚信科技CTO欧阳晔博士:甘为桥梁,携"电
普通对话 杨元庆:中国制造高质量发展的未来是智能制造
普通对话 对话亚信科技CTO欧阳晔博士:甘为桥梁,携"电
普通对话 对话倪光南:“中国芯”突围要发挥综合优势
普通对话 黄宇红:5G给运营商带来新价值
普通对话 雷军:小米所有OLED屏幕手机均已支持息屏显示
普通对话 马云:我挑战失败心服口服,他们才是双11背后
普通对话 2018年大数据产业发展试点示范项目名单出炉 2
普通对话 陈志刚:提速又降费,中国移动的两面精彩
普通对话 专访华为终端何刚:第三代nova已成为争夺全球
普通对话 中国普天陶雄强:物联网等新经济是最大机遇
普通对话 人人车李健:今年发力金融 拓展汽车后市场
普通对话 华为万飚:三代出贵族,PC产品已走在正确道路
普通对话 共享退潮单车入冬 智享单车却走向盈利
普通对话 Achronix发布新品单元块 推动eFPGA升级
普通对话 金柚网COO邱燕:天吴系统2.0真正形成了社保管