摘要:以CC2530和zstack协议栈为渠道,给出了依据ZigBee技能的温度、光照度无线传感器网络的规划办法,一起对协议栈的运行机制、组网进程及使用层的数据收集进行了剖析与规划。试验成果表明,该规划办法可行,各节点作业杰出,能成功完结多跳网络的数据收集。
0 导言
各行各业尤其是工农业生产、环境监测等范畴,都对无线数字监测体系提出了极大的需求和更高的要求。无线传感网的迅速发展并逐步走向老练,使得这一需求得到了较好的满意。依据ZigBee技能的无线传感网具有自组织、低功耗、以数据为中心、抗毁性强和无需架起网络设施等优势,能够在外界环境非常恶劣的条件下,完结其他监测手法无法完结的使命,代表了数字监测的一个新的发展方向。本文以TI公司的CC2530和zstack协议栈为渠道,给出了依据ZigBee技能的温度及光照度无线传感器网络的规划办法。
1 体系整体规划
本文规划的依据ZigBee技能的无线传感器网络由一个和谐器节点、若干路由节点和很多传感节点组成,图1所示是其体系整体结构。其间,传感节点担任对环境温度等数据的监测,然后经过路由节点以多跳办法将数据发送给和谐器节点,和谐器节点担任将数据上报给监测中心PC机。
2 节点硬件规划
依据节点在体系中的使用不同,可分为传感节点、路由节点和和谐器节点。各节点的功用不尽相同,可分为数据收集、数据处理、无线通讯、能量供应和串口通讯等功用。各功用模块选用模块化的办法规划,这样能够完结各模块的并行规划、调试,缩短开发周期,一起也便于后期替换和扩展传感器,然后便利后期保护或移植到其他监测范畴。
2.1 ZigBee模块
本规划中的各节点选用CC2530芯片作为ZigBee模块,完结数据处理及ZigBee无线通讯功用。CC2530内部集成了一个高性能2.4 GHz射频收发器和一个增强型8051微处理器,最大256 KB可编程FLASH、8 KB的RAM并供给了一套广泛的外设集,为2.4 G IEEE 802.15.4和ZigBee使用供给了一种SOC解决方案。该模块的电路如图2所示,图2中包含了最小体系、射频前端及I/O接口电路。
2.2 数据收集模块
各传感节点经过一线制数字温度传感器DS18B20和CDS光敏电阻5 516对环境温度、光照度进行数据收集,图3所示是数据收集模块电路图。其间,DS18B20可完结-55~+125℃丈量规模及最高12位测温分辨率,测温精度可达±0.062 5℃,供电电压规模为+3~+5.5 V。本规划中供电电压挑选来自LD1117稳压芯片的+3.3 V输出,数据线DQ和CC2530芯片的P2.0相连完结一线接口,如图3(a)所示。5516光敏电阻的亮电阻为5~10 kΩ,暗电阻为500 kΩ,电路如图3(b)所示,输出电压为0~2 V,送至P0.5进行AD转化。
3 节点软件规划
节点软件是在TI公司的ZigBee协议栈——Z-stack基础上开发规划的。该协议栈支撑ZigBee网络的树立和参加、自组网、多跳传输和动态网络拓扑。
3.1 Z-stack协议栈的运行机制
OSAL是TI公司开发的用于Z-Stack协议栈的一个轮转查询式的操作体系。OSAL把优先级放在最重要的位置,优先级高的使命中的一切事情都具有很高的优先级,只需优先级高的使命有事情没有处理完,就一向处理,直到一切事情都得到处理,才去查询下一个使命的事情。别的,即便当时在处理的使命中有两个以上事情等候处理,处理完一件后,也要回头再去查询优先级更高的使命。只要在优先级更高的使命没有事情要处理的情况下,才会处理本来使命优先级第二高的事情。假如此刻发现优先级高的使命有了新的事情要处理,则马上处理该事情。经过这种调度办法,就赋予了优先级高的使命最大的权力,尽可能确保高优先级使命的每一个事情都能得到最及时的处理。
3.2 ZigBee网络的组网进程
ZigBee网络的组网进程包含网络树立和参加网络两个方面,该部分是经过Z-Stack协议栈各层之间的原语通讯完结的。和谐器节点担任网络的参数装备和树立,使用层经过ZDO层调用网络层函数NLME NetworkFormationRequest(),在指定信道上进行自动扫描,即发送MAC层信标恳求指令,勘探该信道上已存在的网络;然后网络层依据自动扫描成果,设置PAN ID,网络地址,扩展PAN ID等参数;终究告诉各使用端点一个新的ZigBee网络现已树立起来了口其网络树立进程如图4所示。
参加网络有多种办法,经过衔接来参加网络,重新参加网络,孤立点参加网络,预先装备参加网络等。子节点经过衔接办法参加网络的进程图如图5所示。
子节点使用层经过ZDO层调用网络层函数NLME_NetworkDiscoveryRequest(),在指定信道上进行自动扫描,然后监听一段时刻看是否收到信标。经过屡次发送MAC层信标恳求指令,子节点能够知道周围已存在网络的有关信息,然后确定要参加网络的PAN ID,然后经过NLME_Join Request()函数向要参加的节点发送MAC层衔接恳求指令。假如收到成功的MAC层衔接呼应指令,则可获取父节点所分配的网络地址。假如子节点是终端节点,则网络参加进程到此完结。而假如子节点是路由节点,则子节点还需经过NLME_StartRouterRequest()函数发动路由器。不管子节点是传感节点仍是路由节点,终究都要将参加网络的成果告诉各使用端点。
和谐器和路由器节点能够经过NLME_PermitJoining Request()函数决议是否答应子节点参加到自己的网络,这样能够便利地操控子节点参加到指定的一个路由节点中,然后完结多跳组网。
3.3 数据收集程序规划
选用DS18B20作为测温元件,其硬件电路适当简略,但关于单片机来说,为获取一次温度数据,需求先对其履行复位操作,发送ROM指令和RAM指令操作,发动温度的转化;等候温度转化完结后,再重复履行上述三步操作,才干完结温度的读取。依据DS18B20装备寄存器的不同,可分为9、10、11和12位的分辨率,所需转化时刻最小为93.75 ms,最大为750 ms。也就是说,在发动温度转化后,有必要等候较长的时刻才干进行温度的读取操作。为了防止无谓的等候,本规划中将温度的丈量分为两个事情:温度的“转化”和“读取”事情。温度收集时,能够设置一个“转化”事情定时器。在处理“转化”事情时,先向DS18B20发送温度转化指令,紧接着设置一个“读取”事情定时器,然后回来OSAL处理其他事情,然后确保体系能及时地呼应其他事情。在处理“读取”事情时,只需求直接读取温度,然后再次设置“转化”事情定时器,完结周期性数据收集。温度传感器的“转化”和“读取”事情处理流程如图6所示。
4 试验成果剖析
4.1 组网试验
组网测验时,经过TI公司的CC2531UD USB DONGLE和SmartRF Packet_Sniffer软件对空中无线数据包进行抓包剖析。子节点参加网络进程中所抓到的数据包如图7所示。子节点(IEEE地址为0x001248000201781D)先宣布一个MAC层信标恳求指令,接着和谐器节点(网络地址为0x0000)宣布了一个信标帧作为呼应。然后,子节点又宣布一个MAC层衔接恳求指令,接着和谐器节点回来一个应对帧。终究,子节点向和谐器节点发送一个MAC层数据恳求指令,接着和谐器节点宣布一个MAC层衔接呼应指令作为呼应,为子节点分配一个网络地址0x0001。经过数据包图可见子节点已成功参加网络。
4.2 数据收集试验
试验中,设定各传感节点每隔2 s进行一次数据收集,然后将收集数据经过路由节点发送至和谐器,和谐器经过RS232串口将数据上传给PC机,终究显现的收集数据如图8所示。图8中的收集数据分别是节点号为10 650和10 120的2个传感节点经过路由节点2 181(父节点)发送至和谐器的。试验时人工丈量温度值为20.3℃,与收集到的数据根本符合。
5 结语
依据ZigBee技能的无线传感网能够较好满意各行各业对无线数字监测的需求。本文以CC2530和Z-stack协议栈为渠道,组建了一个多跳ZigBee网络,完结对环境温度、光照度等数据的无线监测。试验成果表明,本规划多跳组网成功,数据收集成果正确。