ZigBee数据传输(通用7篇)
ZigBee数据传输 篇1
0 引言
相比较其他的一些短距离无线传输技术, Zig Bee技术具有低功耗、低成本、低速率、短延时、免执照频段等特点, 能够应用于数据量传输较小的工业控制领域。在实际的工业现场, 由于Zig Bee使用的是2.4 GHz的免费频段, 频率高导致其穿过障碍物的能力较低, 视距内的传输距离太短, 往往需要组建一定规模的无线局域网, 如何组建无线网络是必须解决的首要问题。
本文提出了一种自组织局域网的无线数据传输系统, 最多的跳跃点数是3个, 跳点太多会造成数据延迟性相应的增加[1]。Chipcon As公司的CC2420, 是首款符合2.4 GHz频率、IEEE802.15.4标准的Zig Bee无线收发器, 也是第一款适用于Zig Bee产品的RF器件, 性能稳定且功耗极低[2]。主控制器使用TI公司的MSP430F149芯片和CC2420组成网络中的协调器以及各个节点, 给出了系统的硬件、软件结构设计。
1 总体结构设计
系统主要由上位机、Zig Bee节点、Zig Bee协调器三部分组成如图1。上位机是在Visual Basic 6.0平台基础上开发的, 该平台拥有的图形用户界面 (GUI) 和快速应用程序开发 (RAD) 系统, 可以很容易使用ADO, DAO, RDO控件连接数据库, 对上位机接收的数据进行处理。Zig Bee节点主要用于现场数据采集, 简单处理数据, 而且部分节点还具有路由的功能, 可增加系统数据传输的距离和可靠性。Zig Bee网络这种多节点有序的特点可以稳定的传输数据, 组成一个容错性较好的采集系统。
采用部分网状拓扑结构, 不是所有的节点都可以互相通信, 它的优点是可以把网络的覆盖范围成几倍地扩大。系统中使用的CC2420收发器, 每两个之间的无障碍传输距离为70~80 m, 因为多个节点可以作为路由器使用, 所以网状拓扑结构就令整个网络无最大通信距离的限制。例如在图1中, 节点7可以通过以下路径把数据传送至PC上位机:7—2—协调器—PC, 还有一条是7—2—1—协调器—PC, 这是为了防止一条路径不通而影响整个系统的正常工作, 还可以有效的避开障碍物之类的因素[3]。
2 系统硬件设计
2.1 Zig Bee节点
Zig Bee节点的功能是采集现场的数据, 并将数据传送至Zig Bee协调器, 最终上传至PC上位机。Zig Bee节点主要由传感器模块、MCU模块、Zig Bee收发模块、存储模块以及供电模块五部分组成, 如图2所示。
传感器模块主要是采集现场数据, 可以根据现场需要使用不同的传感器采集数据;MCU模块选择MSP430F149单片机, 该芯片是16位处理器, 自身内置12位精度的A/D转换模块, 传感器得到的模拟信号可以直接传送给其进行AD转换, 不用专门设计A/D转换电路。另外有四种模式LPM1、LPM2、LPM3、LPM4写程序时可以调用不同的模式达到理想的低功耗效果[4]。两个串口可用, 一个作为RS232接口, 另一个SPI工作方式与无线模块数据通信。JTAG提供下载程序的接口, 指示灯为芯片上电指示。存储模块使用AT24C08, 具有8k B的数据存储容量, 加上单片机自身60k B Flash的容量满足数据存储需要, 通过I2C总线与单片机连接, 能快速、准确的存储和读取数据。Zig Bee收发模块选择CC2420, CC2420具有低功耗、高抗干扰能力、独立的发送接收缓存、外部组件很少、对802.15.4 MAC的硬件支持和硬件安全等特点, 这些为硬件和软件设计提供了很大的方便。由于节点一般是分散在现场的各个地方, 所以选择电池作为统一供电电源, 而单片机和Zig Bee无线模块使用的电压为1.8 V~3.3 V, 所以使用两节1.5 V电池串联提供3 V的电源。
2.2 Zig Bee协调器
Zig Bee协调器的功能是负责组建本无线网络, 允许各个节点加入与退出网络, 以及把各个节点发来的数据上传至PC上位机。与节点组成一样, 只是少了一个传感器模块, 如图3所示。
3 系统软件设计
3.1 协调器软件设计
协调器承担整个Zig Bee网络的组建, 并和PC上位机通信, 其工作流程如图4所示。
3.2 节点软件设计
Zig Bee节点有两种:带路由功能的节点和不带路由功能的节点。前者比后者多了能够把数据包传递到下个节点的功能, 在这里给出前者的工作流程, 如图5所示。
3.3 上位机
上位机功能:1) 给Zig Bee网络发命令, 如读取某个节点的数据或者网络中所有节点的数据等, 2) 能够对读到的数据进一步处理, 如数据包包含了帧头、网络PANID、各个节点短地址、现场数据、校验码、帧尾等, 把这些数据区分开来, 放到对应的位置。选择VB编程界面设计上位机, VB是比较成熟、快速的上位机开发工具, 其可视化界面简便实用, 而且有专门和数据库连接的控件, 方便数据处理[5]。
4 结语
系统结合了MSP430单片以及Zig Bee的特点, 提供了低功耗、低成本的无线数据传输解决方案。网络还具有自修复能力, 节点的断开与加入网络都可以自动实现, 容错性好, 电源的设计考虑到Zig Bee技术的分布性选择使用电池, 可以持续使用6~24个月[6], 传感器模块更换一下, 就能够应用到其他领域, 对于数据传输量不大, 实现远距离控制的工业现场是不错的选择。
参考文献
[1]徐志, 陈彬兵.自组织ZigBee网络节点通信研究[J].通信技术, 2009, 42 (12) :128-131.
[2]Chipcon As SmartRF CC2420 Prelininary Datasheet (rev1.2) , 2004.
[3]彭燕.基于ZigBee无线传感器网络节点的研究[J].现代电子技术, 2011, 34 (5) :49-51.
[4]胡大可.MSP430系列FLASH型超低功耗16位单片机[M].北京:北京航空航天大学出版社, 2002.
[5]孙学岩.基于ZigBee无线传感器网络的温室测控系统[J].仪表技术与传感器, 2010, (8) :47-49.
[6]吴光荣, 章剑雄.基于CC2430的无线传感器网络的实现[J].现代电子技术, 2008, (12) :121-124.
ZigBee语音传输分析 篇2
无线语音技术从早期的模拟无线语音到目前的数字无线语音技术, 经历了一个比较漫长的过程。随着无线通信技术的发展, 特别是无线射频收发器成本的逐年下降, 数字无线语音通信逐渐成为市场应用主流。最简单的例子莫过于对讲机, 目前仍然广泛使用的是模拟对讲机, 而高档的数字对讲机正在降低成本, 逐渐蚕食模拟对讲机的市场。
ZigBee原本定位于小数据量的通信, 但是本身250 kb/s的通信速率也是足以满足基本语音通信的, 几大射频芯片厂商都有基于ZigBee的语音通信方案, 本文将对ZigBee语音通信技术做一些探讨。
2 ZigBee语音通信分析
ZigBee传输语音数据属于数字传输, 数字通信系统在本质上有着一些巨大的优势:首先是抗干扰能力强。模拟信号在传输过程中很难与叠加的噪声分离, 噪声会随着信号被传输、放大, 严重影响通信质量。数字通信中的信息是包含在脉冲的有无之中的, 只要噪声绝对值不超过某一门限值, 接收端便可判别脉冲的有无, 以保证通信的可靠性。其次是远距离传输仍能保证质量。因为数字通信是采用再生中继方式, 能够消除噪音, 再生的数字信号和原来的数字信号一样, 可继续传输下去, 这样通信质量便不受距离的影响, 可高质量地进行远距离通信。此外, 它还具有适应各种通信业务要求 (如电话、电报、图像、数据等) , 便于实现统一的综合业务数字网, 便于采用大规模集成电路, 便于实现加密处理, 便于实现通信网的计算机管理等优点。
标准的ZigBee传输数据率为250 kb/s, 目前厂商支持的传输速率可以达到1 Mb/s, 更高的传输速率意味着更低的接收灵敏度, 也意味着更短的通信距离, 因此在话音质量要求不高的场合, 尽量使用最低可接受最差通话质量, 即最低通信流量, 以保证通话距离。
在250 kb/s的通信速率下, 理论上有25 kB/s的传输流量, 可以满足电话质量, 即ITU-TG·711标准, 8 kHz取样, 8 bit量化, 码率64 kb/s, 而AM广播采用ITU-TG·722标准, 16 kHz取样, 14 bit量化, 码率224 kb/s, 标准ZigBee 250 kb/s也是可以满足的。
无线语音通信因为传输的数据量要尽量少, 因此通常需要采用语音压缩算法先将数据进行压缩, 然后再传输, 接收方按照对应的解压算法解压后播放, 常见的三种语音编码解码算法为:μ-law、a-law、ADPCM。
μ-law算法是一种压扩算法 (companding algorithm) , 主要用于北美和日本的数字通信系统。与其他压扩算法一样, 其目的是减少音频信号的动态范围。在模拟域中, 这可以提高发送过程中的信噪比 (SNR) ;在数字域中, 则可以减少量化误差 (quantization error) (因而提高了信号-量子化噪声比 (SQNR) ) 。反过来, SNR的这些改善又可以减少带宽和等效SNR。
a-law算法也是一种标准的压扩算法, 被欧洲数字通信系统用来优化/修改数字化模拟信号的动态范围。
a-law算法以更坏的小信号比例失真 (proportional distortion) 为代价, 提供的动态范围比μ-law稍微宽一点。
自适应差值脉冲编码调制 (ADPCM) 是在差值 (或增量) 脉冲编码调制 (DPCM) 基础上发展起来的, 它主要改变了量化级数, 从而可以进一步减小某一特定信噪比所需的带宽。DPCM将PCM值编码成当前值和之前值的差。对于音频, 这种编码方法可以将每次采样的位数相对PCM减少25%左右。
3 系统构成
ZigBee语音通信系统由音频ADC芯片采集语音数据, 经由I2S总线传输到带语音处理单元的单片机 (如ZICM2410芯片) 中, 经过硬件编解码单元, 进行数据压缩, 可选μ-law、A-law和ADPCM等, 然后进入MAC层的FIFO, 最后通过PHY层调制成射频信号发射出去。接收端的结构与发射端相同。
因为采用射频数据打包的分组传输方式, 因此可以实现数字全双工通信, 这也是普通模拟对讲机不能实现的。系统数据流图如图1所示。
为保证语音数据的高速传输, 语音芯片和CPU最好使用I2S总线, I2S (Inter—IC Sound) 总线是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准, 该总线专责于音频设备之间的数据传输, 广泛应用于各种多媒体系统。它采用了沿独立的导线传输时钟与数据信号的设计, 通过将数据和时钟信号分离, 避免了因时差诱发的失真, 为用户节省了购买抵抗音频抖动的专业设备的费用。CPU和音频编解码芯片的连接如图2所示。
4 ZigBee语音路由分析
点对点的通信通常距离不远, 在语音通信中更是如此, 因为数据量本身已经接近最大带宽, 又考虑到音频图像等的传输对于细节数据不太敏感, 一般不做确认重发机制, 所以通信距离甚至只能达到数据通信距离的一半。如果要增加通信距离, 则必须增加中继节点, 随之而来的是音质降低了一半。
以已经实现的一个无线语音中继系统为例, ZICM2410模块本身可以实现16 kHz采样率, 8 bit位采样 (单身道) , 也就是每秒钟可以传输16 KB的数据, 但是为满足中继需要, 只能降到8 kHz采样率, 时隙上的分析如下。
如图3所示, 16 kHz, 8 bit采样, 每4 ms发送一次64 B的语音数据, 8 kHz, 8 bit采样, 每8 ms发送一次, 增加中继之后, 源节点每8 ms发送一次 (8 kHz, 8 bit) , 而中继节点收到数据后, 会有一个存储转发的过程, 大致4 ms, 这时, 如果通过ZigBee分析仪查看, 依然会看到每4 ms一个无线数据包, 和之前16 kHz采样时的时间占用是一样的。
这样的时隙下, 即使发送机、接收机和中继器放在一起, 也是不会有影响的, 因为接收机接收时会有帧序号比对, 收到中继的重复数据包会立即丢掉, 一旦离开源节点信号覆盖范围, 接收节点就只能收到中继节点的数据了。
如果位置选择合适, 则这种中继可以延续下去;否则再加一级中继, 会打乱原先系统的时隙。
5 ZigBee语音应用
ZigBee语音传输比较合适的是导游解说系统。在同一处旅游景点, 可能有不同的导游向不同的游客介绍景观。如果使用一般的扩音系统, 往往会出现导游之间互相比嗓子, 或者抢游客的尴尬局面, 在一些文化底蕴很浓的场合, 这样闹哄哄的场面往往会破坏景点本身的意境。
使用ZigBee技术可以非常容易地解决这个问题, 如图1所示的点对点通信, 只要发送端设置为广播模式发送数据, 即可在有效通信范围内, 配置不限数目的接听节点 (因为接收节点并不发数据, 因此技术上不存在节点限制, 只有空间上的体积限制) , 而不同导游之间, 采用不同的物理频段 (标准ZigBee总共16个) , 彼此之间是不会干扰的。
6 小结
ZigBee数据传输 篇3
关键词:物联网,ZigBee网络,数据传输,协议转换,数据传输及转换,以太网
Zig Bee是基于IEEE802.15.4标准[1]的一种低速率、短距离的无线网络传输技术。其应用简单, 适用于数据采集量小, 数据传输的速率相对较低, 以及分布范围有限的情况下。只要保证不断电其对数据的安全性是可靠的, 在这些条件下, 其有一个显著的特点就是成本和功耗较低, 且容易安装并无需频段注册。在目前标准众多短距离无线传输的通信领域中, Zig Bee的发展速度远超过了其他类的无线传输技术。Zig Bee不仅在工业、军事、农业等领域而且在日常生活中应用广泛, 对现代化的生活具有较高的应用价值。本文对Zig Bee网络和以太网络间异构数据传输过程进行了研究。
1 系统总体设计
Zig Bee是短距离、低耗、低复杂度的双向无线传输技术, 它可嵌入各种相关设备以提高监控的应用范围。要运用其来开发应用系统, 必须扬长避短地应用Zig Bee技术。无线传输系统的信号采集工作通过Zig Bee网络中的传感器节点进行, 传感器网络的节点数量可达成千上万, 众多传感器协同工作, 自组网多点路由地传输数据, 实现多方位、广范围地采集准确数据。这些大量的传感器节点作为Zig Bee节点的一员组成了系统的Zig Bee传感器网络。无线传输系统利用Zig Bee无线传感器网络将采集来的信号变为电信号, 再经过模/数转化, 将其信号储存于数据存储器中, 并通过无线收发器发射到网络无线网关, 网关再通过对数据进行Zig Bee方式的解包和按照以太网传输模式再次打包的方式上传送以太网, 从而完成Zig Bee网数据到以太网的整个转换、传输和交互过程, 系统结构如图1所示[2]。
整个数据传输系统分为3部分, 其中Zig Bee传感器网络和网关是实现两种异构网络进行数据传输的重要环节。其两部分包括处理整个数据传输系统的微处理器和用于进行数据储存的存储器, 以及连接网络的网络接口等硬件设备。
2 系统硬件设计
2.1 Zig Bee网节点的设计
Zig Bee网络是由相当量的节点组成, 每个自带电源的Zig Bee节点均有可在需要时自主的进行数据的采集、简单融合和数据信息发送等功能。Zig Bee传感器网络这种多节点的网状拓扑结构, 使得每个节点都发挥着路由器或者中继的作用, 由于每个节点的作用增强从而使整个网络范围也成倍的扩大。在Zig Bee传感器网络中, 为获取大量的数据信息, 通常在监测区域内布置了大量的传感器节点。由于各种因素造成节点存在复杂的不确定性, 这就要求传感器节点具有自组网的能力, 自动路由转发监测的数据。然而作为节点的通信距离有限, 节点也需作为一个中间节点进行路由来达到与之范围内以外的节点通信。众多传感器节点采用部分拓扑结构, 也在较大程度上扩宽了节点的通信范围。这就使Zig Bee节点的路由能力增强。
节点采集数据完毕后, 要进行处理和存储, 需要通过微处理器和存储器的协作。而数据的收发则通过节点中的RF收发单元完成。所以一般传感器网络中的Zig Bee节点可由传感器单元、处理单元、RF收发单元、存储单元以及电源单元等模块组成, 其结构如图2所示。
Zig Bee无线传感网络节点在微处理单元的控制下进行数据的采集、处理、接收和发送。各个模块的功能分别为:
(1) 传感器单元的功能是进行数据采集。把采集到的信号转化为电信号, 通过A/D接口在微处理单元的控制下进行模/数转换, 将电信号转化为数字信号。根据采集环境的不同选择相应的传感器。
(2) Zig Bee的RF收发单元通过SPI接口和微处理器MCU进行交互, 从而完成与其他节点间数据的收发和控制信息的交换。而收发单元芯片一般选用CC2420这款RF收发器件, 因为CC2420的选择性和敏感性指数超过了IEEE802.15.4标准的要求, 可确保短距离通信的有效性和可靠性。利用该芯片开发的无线通信设备支持数据传输率高达250 kbit·s-1可以实现多点对多点的快速组网[3]。
(3) 存储单元则是用来存储处理过后的采集数据, 便于重新打包发送。
(4) 电源是Zig Bee节点能否生存的关键, 微处理部件显而易见成为了执行命令的发起者与协调者, 起到了中枢系统的作用。
2.2 网关
Zig Bee网采集的数据信息靠自身的能力是不可能将数据信息传输与监测中心的上位机, 重要途径是通过以太网络而到达目的地, Zig Bee网和以太网是两个异构网络, 其之间不能进行直接数据交换传输, 网关起着网络传输纽带的作用。网关的设计主要由处理芯片与以太网控制芯片两部分结合以达到不同网络间数据传输的效果。网关结构框图如图3所示[4]。
网关的主要作用分为Zig Bee网接收和以太网发送两部分:
(1) 网关中的Zig Bee收发单元接收Zig Bee节点采集到的并以数据包形式发送来的数据信息, 然后通过串行外围接口 (SPI) 发送给MCU, MCU经过处理后解析出有用的Zig Bee数据, 储存于存储单元中。完成Zig Bee传感器网络与网关的数据通信。
(2) 以太网控制芯片RTL8091AS是以太网与网关进行数据交换的控制器。网关解析出Zig Bee数据, 发送到以太网控制芯片进行数据处理, 把数据写入RTL8091 AS的数据区域, 然后对数据进行TCP/IP数据帧封装, 再启动RTL8091AS发送封装好的TCP/IP数据帧到以太网进行数据的传输交换[1]。
以上两个步骤完成了数据从Zig Bee传感器网络到以太网络的传递。反之数据要从以太网络到Zig Bee网络, 则先需要验证IP地址是否正确, 然后上位机发送请求到网关, 网关收到请求将TCP/IP数据包解压, 然后解析出有用的数据信息打包成Zig Bee数据包, 再通过网关中的Zig Bee收发单元以无线的方式发送给Zig Bee传感器网络。这就实现了由以太网络到传感器网络数据包透明转换和无线传输。Zig Bee传感器网络和网关是本文研究Zig Bee网与以太网间异构数据传输的重要组成部分, 是实现数据传输必须的硬件平台。
3 系统数据传输软件设计
对于系统的软件设计采用监控因事件唤醒模式, 这样Zig Bee低功耗的特点得到充分的体现。由于Zig Bee网络中有大量的传感器节点, 采用事件驱动唤醒工作模式说明在运用到该节点时它才进行数据的采集、收发, 未使用时处于休息状态。在发送数据后则需判断下一个节点是否接收成功, 如接收成功则说明此节点在通信范围内。这就避免了每个节点均工作而带来的高功耗。另外节点间的通信采用CRE校验来确保通信的误码率在可控安全范围内。这是Zig Bee无线传感器网络采用的软件模式。而对于Zig Bee无线传感器网络和以太网络两个不同网络间的数据传输软件的整体流程设计如图4所示[5]。
(1) 首先启动系统并初始化Zig Bee网的各个节点, 事件唤醒节点采集数据并将其转化为电信号, 然后经过模/数转换打包为Zig Bee数据包, 通过Zig Bee收发单元发送数据包到网关。网关如接收成功将返回一个成功信息并进行继续的数据包传输处理, 直至整个数据传输结束。反之不成功, 程序就返回到继续发送Zig Bee数据包, 直至完成整个传输规定的次数同时报错。
(2) 网关接收到Zig Bee数据包后, 经过微处理器的处理, 解包出Zig Bee数据包中有用的数据, 并将其写入到RTLS019AS芯片控制器中, 转换为TCP/IP数据包, 发送给以太网络。这时如果发送成功, 就会返送回一个信息提示操作完毕, 否则程序就继续返回到网关发送数据到以太网络, 直至完成整个传输规定的次数同时报错。
4 Zig Bee网协议结构及数据转换
4.1 Zig Bee网络体系
要研究数据传输必须先了解Zig Bee网的体系结构, 按照OSI模型可分为4层, 从下往上分别是物理层、媒体访问控制层 (MAC) 、网络层 (NWK) /安全层和应用层 (APL) 。其中物理层与MAC层使用的是IEEE802.15.4协议标准, 而网络层和应用层则是由Zig Bee联盟制定的。体系的每一层向它的上面层提供数据服务或管理服务。Zig Bee的应用层支持子层 (APS) 、Zig Bee设备对象和制造商定义的应用对象组成。
4.2 Zig Bee网络拓扑
Zig Bee支持含有主从设备的星型、树形和对等型的3种拓扑结构。其中星型网络中各个节点均需通过协调器节点的转发, 协调器在网络中起到了网络管理的作用;树形网络中包含协调器节点路由节点跟终端节点, 路由节点作用则是完成路由功能, 路由节点将信息转发到协调器节点, 通过协调器节点才能将信息传递给终端节点;而对于对等型网络, 它的节点彼此相通, 每个节点都具有转发功能, 一般对于大面积的监测, 可以采用对等网络的拓扑结构。而星型和树形网络则多是用于一对多的短距离数据采集与传输上面。
4.3 Zig Bee协议结构
Zig Bee节点通过路由获取来自网络内的多元化采集信息, 并自下而上通过各协议层次的规范化进行解析。其转换途径为Zig Bee网方面的物理层 (PHY) 、MAC层→网络层 (NWK) →应用支持子层 (APS) 、应用层 (APL) 。为使传感器所采集的数据上传至处理中心, 网关必须接入以太网, 故以太网方面的转换途径为应用层→传输层 (TCP) →地址寻址层 (IP) →以太网帧接入层 (网卡) 。综上所述网关系统软件与支撑软件运行就是各层协议的分别执行, 各层协议根据其接入和服务对象的业务与数据要求, 按照各层协议的规范与标准, 完成业务类型确定、数据格式转换、数据帧封装等一系列操作, 最终由网卡模块实现接入功能。协议模型如图4所示[4]。
4.4 网间数据转换
协议转换是前提, 但根本的作用是实现数据帧在两个不同类型网络之间的转换, 要将传输的数据帧用两种协议规则实现各自的转换方式, 并在两个网络中进行传输。转换规则和格式各不相同, Zig Bee数据帧的解析过程是自下而上通过各种协议层的规范来进行数据帧解析[6], 各层数据帧的格式如图5所示。
在物理层中脱去本层的同步帧头和物理层帧头后, 形成上述MAC层的数据单元 (MPDU) ;在MAC层里脱去本层的帧头和帧尾后又形成网络层的数据单元 (NPDU) , 在NWK层里脱去本层的帧头后又形成应用支持子层的数据单元 (APDU) , 在应用支持子层直到应用层解析为原始数据[7]。在以太网中的数据帧形成过程是自上而下通过以太网各协议层的规范来进行数据帧转换的[8,9], 过程如图6所示。
5 结束语
随着物联网应用的发展Zig Bee技术使用范围越来越广泛, 目前Zig Bee技术已成为短距离数据无线传输应用中的常用技术, 本文将该技术应用于Zig Bee网到以太网间的数据传输。探讨了从Zig Bee节点的设计到网关的设计, 实现了数据的采集、处理、存储、传输到接收这一系列的过程, 成功的实现了两个不同网络结构间数据的传输。说明了采用Zig Bee技术来实现短距离、低功耗、低成本的传输体系, 是最佳选择。通过对数据传输系统的进一步研究, 对于加速物联网技术推广应用, 具有重要的现实意义。
参考文献
[1]施茂祺.基于ZigBee协议的传输系统设计[J].制造业自动化, 2011, 33 (2) :76-78.
[2]高守玮, 吴灿阳.ZigBee技术实践教程[M].北京:北京航空航天大学出版社, 2009.
[3]吴呈瑜, 孙运强.基于ZigBee技术的短距离无线数据传输系统[J].仪表技术与传感器, 2008 (5) :38-51.
[4]许毅.无线传感器网络原理及方法[M].北京:清华大学出版社, 2012.
[5]柴淑娟, 赵建平.基于ZigBee技术的无线数据传输系统[J].通信技术, 2010, 43 (8) :30-34.
[6]曹新, 董玮, 谭一酉.基于无线传感网络的智能温室大棚监控系统[J].电子技术应用, 2012, 38 (2) :84-87.
[7]王振尧, 朱中波, 刘卫东.选煤厂点检系统网关节点设计[J].长江大学学报:自然科学版, 2011, (4) :92-94.
[8]金纯, 罗祖秋, 罗凤, 等.ZigBee技术基础及案例分析[M].北京:国防工业出版社, 2008.
ZigBee数据传输 篇4
相对于其他的短距离无线通信技术(蓝牙、Wi-Fi),Zig Bee技术有许多优势[1,2],比如:数据传输速率低,功耗低、成本低,网络容量大、时延短,网络的自组织、自愈能力强、通信可靠,数据安全、工作频段灵活等特性。因此,可利用Zig Bee技术建立无线传感器网络进行无线数据传输,具有广泛的应用前景。
1 无线传输系统结构
由于Zig Bee技术是建立在IEEE 802.15.4标准之上的,可搭建一个无线传感器网络来实现数据的无线传输。基于Zig Bee技术的无线传输系统定义了网络层和应用层框架,主要确定了三种设备[1,5]:Zig Bee协调器、Zig Bee路由器、Zig Bee设备终端。Zig Bee终端设备为采集数据的终端节点,通过接口与传感器数据采集模块相连,直接与路由器通信传输数据而不参与路由选择。Zig Bee路由器[7]作为远程设备之间的中继器来进行通信,能够用来拓展网络的范围。Zig Bee协调器通过接口与上位机相连,其主要功能是为建立和启动网络这一过程设置参数,其中包括选择一个射频信道,唯一的网络标识以及一系列操作参数。上位机可利用Lab VIEW实现数据处理、显示与存储。无线传输系统结构如图1所示。
2 Zig Bee网络节点构成
Zig Bee网络节点主要由传感器数据采集模块、信号调理模块、无线通信(数据收发)模块构成。传感器数据采集模块模块主要由各种类型的传感器和AD/DC转换等子模块构成,其主要功能是利用传感器将各种被测量转换成电信号输出,然后将传感器输出的信号进行放大、滤波、数模转换等。处理器模块是Zig Bee网络节点的计算核心,所有的设备控制、任务调度、能量计算和功能协调、通信协议、数据融合和数据转储程序都将在这个模块的支持下完成。无线通信模块根据Zig Bee网络的特性,主要利用无线通信协议的物理层和MAC层的技术。通过射频芯片完成信号的发射与接收。其硬件原理框图如图2所示。
3 无线数据传输模块硬件设计
根据目前国内外现有典型的无线传感器网络节点选用的芯片类型,主要有两种方式[3]:一种是采用独立的MCU+射频芯片,另一种是集成了MCU+射频芯片的SOC。若Zig Bee网络节点主要是由MCU与无线通信模块的组合,这必然需要人为的布置MCU与无线通信模块的连接,这种组合连接方式的兼容性与芯片之间数据传输可靠性不如集成方式强。因此,该文选用集成了MCU与射频收发器的通信模块。在无线通信模块中采用CC2530芯片,CC2530芯片[10]是用于IEEE 802.15.4、Zig Bee和RF4CE应用的一个真正的片上系统(SOC)解决方案。它能够以非常低的总的材料成本建立强大的网络节点。CC2530结合了领先的RF收发器的优良性能,业界标准的增强型8051 CPU,系统内可编程闪存,8-KB RAM和许多其他强大的功能。CC2530具有不同的运行模式,使得它尤其适应超低功耗要求的系统。运行模式之间的转换时间短进一步确保了低能源消耗。CC2530具有一个IEEE 802.15.4兼容无线收发器,RF内核控制模拟无线模块。它提供了MCU和无线设备之间的一个接口,这使得可以发出命令,读取状态,自动操作和确定无线设备事件的顺序。无线设备还包括一个数据包过滤和地址识别模块。CC2530具有完全集成的压控振荡器,只需要天线、晶振等少量的的外围电路元器件就能在2.4GHZ的频段上工作,其无线通信数据收发原理图如图3所示。
4 无线传输系统抗干扰分析
4.1 Zig Bee技术抗干扰分析
Zig Bee技术的抗干扰特性主要是指抗同频干扰[4],即来自共用相同频段的其他技术的干扰。对于同频干扰的抵御能力是极为重要的,因为它直接影响到设备的性能。Zig Bee在2.4GHz频段内具备强抗干扰能力,Zig Bee系统采用的是直序扩频技术[7,8](DSSS),DSSS采用全频带传送数据,使得原来较高的功率、较窄的频率变成较宽的低功率频率,以有效控制噪声,是一种抗干扰能力极强,保密性,可靠性都很高的通信方式。
4.2 无线射频收发模块抗干扰分析
CC2530射频电路工作2.400GHz~2.4835GHz高频率工作频段[10],抗干扰设计直接关系到射频部分的性能和整个传感器节点的运转情况[7,9]。合理的布局和布线设计及采用多层板既是布线所必须的也是降低电磁干扰提高抗干扰能力的有效手段。射频电路没有用做布线的面积均需用铜填充并连接到地,以提供RF屏蔽达到有效抗干扰的目的;CC2530芯片底部应该接地,为了降低延迟、减少串扰,确保高频信号的传输,要使用多个接地过孔将芯片底部和地层相连;尽可能地减少串扰,减少分布参数的影响,所有的元器件要尽可能紧密地分布在CC2530的周围,并使用较小封装。
4.3 上位机系统抗干扰分析
由于经传感器采集到的信号通常带有某种干扰信号,通过无线传输到上位机系统。因此,在上位机系统中需去除干扰信号,获得有效的目标信号。通常在上位机系统利用干扰信号与目标信号不相关性,对信号做数字相关处理,去除干扰。
5 结束语
该文基于Zig Bee技术建立无线传输系统,实现了短距离的无线数据传输。为了降低功耗与成本,增强数据传输的安全性,采用以CC2530射频芯片为核心的无线通信模块,设计了Zig Bee网络节点,构成了一个完善的无线数据传输系统。为了避免干扰信号的影响,对整个系统各方面进行抗干扰性分析,优化系统模块设计,大大提高了系统的数据传输可靠性及抗干扰能力,因而具有广泛的应用价值。
参考文献
[1]李毅,罗建,马宇锋,等.基于ZigBee的485信号传输系统设计[J].国外电子测量技术,2010(3):60-63.
[2]刘琼,周志光,朱志伟.基于CC2430的低功耗Zigbee无线传感器网络节点的设计[J].湖南工业职业技术学院学报,2009(10):15-16.
[3]王延年,穆文静.基于ZigBee的无线信号采集传输系统的研究[J].西安工程大学学报,2010(8):510-515.
[4]李蛟,杨仁锟,肖峻.2.4GHz无线技术标准及ZigBee抗干扰性能[J].电信工程技术与标准化,2006(3):31-35.
[5]颜艳华,刘军.ZigBee抗干扰性能分析及与其他无线系统的共存[J].中国无线电,2008(11):37-40.
[6]黄锐,李琳,刘易.用nRF2401实现的高速无线测量系统[J].单片机与嵌入式系统应用,2005(1):77-78.
[7]蒋挺,赵成林.紫蜂技术及其应用[M].北京:北京邮电大学出版社,2006.
[8]赵东风,丁洪伟,李远壮,等.无线传感器网络实验教程[M].云南:云南大学出版社,2011.
[9]陈敏,王擘,李军华.无线传感器网络原理与实践[M].北京:化学工业出版社,2011.
ZigBee数据传输 篇5
1 系统结构
1.1 ZigBee技术
ZigBee技术是一种短距离、低复杂度、低功耗、低数据速率、低成本的双向无线网络技术,是一组基于IEEE 802.15.4无线标准研制开发的有关组网、安全和应用软件方面的通信技术。本系统采用2.4 GHz的传输频带,信道带宽为5 MHz,共有16信道可用。由于在2.4 GHz的频段只有250 KB/S的传输速率,所以适用于传感和控制领域[8,9]。
1.2 ZigBee的网络拓扑图
ZigBee网络具有3种网络形态节点:中心协调器,路由器,终端节点。本设计的监测系统由一个ZigBee协调器和若干个外接传感器的终端节点组成,连接温度、pH值传感器的终端节点置于网箱设备附近,依据程序设定时间定时采集,数据采集结束后发送数据到协调器,协调器将接收到的数据通过串口以约定格式打包并通过GSM模块传输到客户管理PC机(图1)。控制中心主机是整个系统的中央监控设备,负责结点的数据通讯、数据分析处理和调节设备,通过界面实现人机交互。控制中心主机通过RS-232接口有线连接中心结点,中心节点通过CC2530芯片集成的无线收发模块与结构相近的路由节点进行无线收发通讯,每个路由节点可以根据需要与一定数量的终端结点组成无线或有线检测群[8]。
2 系统设计
2.1 硬件设计
整个硬件电路系统由9 V大容量蓄电池经稳压电路供电,配太阳能、风能双辅助电源。DS18B20单线式温度传感器可直接采集到温度数据经单片机运算处理。pH传感器是单线电压式传感器,采集到的数据为小电压值,经pH值采集功放电路放大为AD转换芯片TLC549能够转换的电压值[9],然后经过AD转换电路转换成数字信号,送单片机处理转化成pH数值[9,10]。最后通过串口连接到ZigBee模块,将数据发送到终端ZigBee模块,该模块内置的单片机最小系统把数据传送到GSM模块上,由GSM模块最终发送到终点PC机上或用户手机上(图2)。
2.2 系统软件设计
系统基于ZigBee协议栈进行开发,根据海洋网箱监测需求,建立树型网络。协调器负责管理网络、汇聚数据和提供与计算机管理软件的接口,终端设备用来在协调器控制下完成传感器数据的采集和其它特定功能。树型网以网络协调器为中心,所有设备只能与网络协调器进行通信,树型网络中的终端设备如果需要通信,先把各自的数据包发送给网络协调器,然后由网络协调器转发给对方[11]。节点软件流程图如图3所示。
2.3 数据传输
DRF系列的ZigBee模块数据传输主要有数据透明传输方式和点对点数据传输方式。本次设计采用点对点的数据传输方式:数据传送指令(0xFD)+数据长度(0x0A)+目标地址+0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x10(数据共0x0A 比特)。通过发送数据指令+目标地址的方式,实现任意节点间的数据传输。若协调器(Coordinator)从串口接收到数据,会自动发送给所有节点;某个节点从串口接收到数据,也会自动发送到协调器;若数据是协调器发送至终端设备(End Device),则发送数据等于接收数据;若数据是终端设备发送给协调器,则接收数据等于TI Sensor Monitor(组网监控软件)数据加上发送数据。若数据在终端设备之间传送,则发送数据等于接收数据。
2.4 GSM软件设计
GSM模块通过短信的方式把数据发送给用户,使用户实时了解网箱的情况。通过单片机系统和电脑界面,对GSM模块进行调试,完成接收数据和传送数据的功能。在调试GSM模块过程中,需用到以下指令,确保GSM模块能正常使用[12,13,14]。
(1)应答呼叫指令。
指令格式:ATA回车。指令说明:GSM模块返回“OK”,表示工作正常,用于应答来电。
(2)发起呼叫指令。
指令格式:ATD
(3)短信的输入模式指令。
指令格式:AT+CMGF=
(4)读取短信指令。
指令格式:AT+CMGR=
(5)发送短信指令。
指令格式:文本模式(AT+CMGF=1)。AT+CMGS=
(6)删除短信指令。
指令格式:AT+CMGD=
3 系统调试
(1)GSM传输调试。
借助PC机及串口调试助手进行调试,验证信号与PC机终端的传输正确有效性。
(2)Zigbee网络调试。
用仿真器分别对中心协调器和各个路由器节点进行分段调试,保证zigbee网络的正常组网。
(3)数据的采集。
通过单片机编程进行调试,确保能够正确采集到数据。
(4)PC机终端VB界面。
采用VB编程在PC终端机观察采集到的数据。
(5)整个系统调试。
在PC机终端点击开始采集,观察采集的数据。
4 试验结果与分析
为了验证监测系统运行的可靠性,项目组多次在福建省惠安县斗尾港海域的深水网箱养殖现场进行监测。现场的网箱为圆柱形浮式深水网箱,周长40 m,高8 m,水深25 m,布设在离陆地2 km的岛屿周围。应用本监测系统分别对养殖现场6口网箱进行监测。监测仪器包括:DS18B20单线式温度传感器;pH传感器(上海科蓝电化学仪器科技有限公司),表面玻璃探头加装304不锈钢网罩保护;WQ401溶解氧传感器(美国Global Water公司)。从实时网箱监测数据上看,监测系统的工作正常,界面显示数据表明6口网箱传感器工作正常,通信信号都到达监测的终端系统,采集到网箱的数据可信,网箱pH 7.2~7.9,温度18.2~18.9 ℃,与现场实际测量值较为吻合。结果表明,本设计的监测系统软硬件可以匹配,系统可以正常开展现场养殖环境参数监测。
ZigBee数据传输 篇6
随着计算机和无线通信技术的迅速发展,ZigBee技术得到了广泛的应用。ZigBee技术是一种低功耗、低成本、短时延、高容量、高安全、可自组网的无线传输技术,将ZigBee技术应用到需要数据采集的设备和系统中,将会实现数据采集的无线化、规模化。这样不仅摆脱了以往有线数据采集受地理位置、线路和复杂环境因素的限制,而且可以快速和方便地扩大数据采集的规模。
目前电力、水力和电信等单位都设置了很多无人值守的机房,而这些机房一般都位于比较偏远的地方,当机房发生温度过高或漏水的现象时,需要及时通知维护人员,以便及时赶到无人值守的机房,避免产生更大损失。随着计算机和无线通信技术的迅速发展,对机房实现无人值守的远程数据采集已经可以实现。本文提出了一种基于ZigBee的无人值守的远程数据采集系统,该系统利用ZigBee无线通信模块、温湿度传感器模块、计算机终端和安卓智能手机实现了较远距离的无线数据采集,实现了温度和湿度数据以及其它参数的远距离数据传输。此外,利用安卓智能手机的通信技术,利用其发送短信的功能远远扩大了人工监测数据的范围,稍加扩展可以应用于需要无人值守的远程数据采集,在远距离监测方面有很广泛的应用前景。
1 系统的设计
1.1 系统总体结构
基于ZigBee的远程数据采集系统主要由温湿度采集终端、ZigBee中继节点、PC机以及安卓智能手机控制终端四个部分组成,系统总体结构框图如图1所示。
温湿度采集终端采集数据后,通过CC2530ZigBee无线通信模块将数据发往ZigBee中继节点,ZigBee中继节点通过RS232转USB与PC总控中心进行通信,PC机接收到数据后进行相应的处理,同时ZigBee中继节点通过蓝牙与Android手机通信,在Android手机端也会将收到的数据。
1.2 CC2530/ZigBee无线通信模块结构
CC2530/ZigBee无线通信模块的原理框图如图2所示。
图2 CC2530/ZigBee无线通信模块的原理框图
(参见下页)
CC2530/ZigBee无线通信模块使用了CC2530芯片,其内嵌了8051CPU内核。本系统中温湿度采集终端及中继节点都应用了CC2530/ZigBee无线通信模块。对于温湿度采集终端来说,传感器将采集到的模拟量或数字量通过通用I/O传递给CC2530,再由CC2530直接或进行A/D转换后通过收发天线发送出去。对于中继节点,其接收到数据后将通过RS232转USB与PC通信,RS232转蓝牙与Android手机通信。
1.3 温湿度传感器模块结构
系统中采集温湿度的传感器是SHT10,该传感器包括一个电容式聚合体测量湿度元件和一个能隙式测量温度元件,并与一个14位的A/D转换器以及串行接口电路在同一芯片上实现连接,具有稳定性高、精度高、能耗低等特点。外围电路简单,通过串行接口,直接输出数字信号。其接口电路原理图如图3所示。
这里温湿度采集终端中的CC2530是主机,SHT10作为从机与主机通过数据信号线DATA传输数据。DATA在SCK时钟下降沿之后改变状态,并仅在SCK时钟上升沿有效。数据传输期间,在SCK时钟高电平时,DATA必须保持稳定。为避免信号冲突,由CC2530内部8051 CPU将信号DATA拉到低电平。需要一个外部的上拉电阻(例如10kΩ)将信号提拉至高电平。在控制方面,CC2530通过向SHT10发送不同命令分别获取温度与湿度的数据,SHT10还具有CRC-8校验功能,以确保数据传输的准确性。
2 软件设计与实现
2.1 CC2530/ZigBee的片上系统的编程
本系统对CC2530的编程采用了TI公司的ZStack协议栈,该协议栈将ZigBee通信抽象为物理层、介质访问控制层、网络层和应用层,其中应用层包含应用程序支持子层、应用程序框架层和ZDO设备对象。用户只需要编写应用层的代码即可实现相应功能。
2.2 系统软件的设计
PC机的主要功能是通过RS232转USB与ZigBee中继节点通信,将接收到的数据进行处理并实时显示在程序中,由于本系统可随时增加数据采集的节点,所以如果发现有新增节点,则会在程序界面中新增加显示的节点。此外,如果处理中发现温度湿度等测量参数超出之前用户设定的阈值,计算机则将发出警告。
系统软件基于对话框的MFC编程,调用了MSCOMM控件以接收通过串口传过来的数据。MSCOMM有事件驱动与查询两种工作方式,为了达到实时监测的目的,选择事件驱动的方式,一旦收到数据就调用数据处理函数进行分析处理。PC机系统软件的程序流程图如图4所示。
2.3 Android手机
Android智能手机通过蓝牙串口与中继节点通信,与PC总控中心一样,它将采集的数据显示在手机上,如果有参数超出之前用户设定的阈值,手机将会向指定的号码发送短信以警告。Android智能手机端编程基于AndroidSDK2.0(须注意2.0以上的SDK才开放蓝牙API)。Android智能手机蓝牙调用的过程是先通过Blue Tooth Adapter找到远端设备BlueToothDevice(该系统的中远端设备是一个串口转蓝牙),然后建立通信Socket,获取输入输出流。编程中需要在AndroidManifest.xml配置文件中添加相应的标签才可以获得使用蓝牙和发送短信的权限。安卓智能手机的程序流程图如图5所示。
图5 Android智能手机程序流程框图(参见右栏)
3 结束语
本文设计了一种基于ZigBee的无人值守的远程数据采集系统,此系统可以应用在较远距离、较大规模的楼宇监控等场合。由于Zig Bee自组网的特性,此系统可以任意添加数据采集终端来扩大数据采集的规模,同时改变数据采集终端的传感器可以增加采集数据的类型。此外,由于系统中应用Android智能手机发短信的功能,所以可以远距离监测采集到的数据,实现无人值守的检测功能,能够省去较多的人力资源。
参考文献
[1]王东东,郭文成.基于ZigBee技术的路灯无线网络控制系统设计[J].天津工业大学学报,2009,28(1):84-88.
[2]李小珉,赵志宏,郭志.ZigBee无线传感器网络组网实验[J].电子测量技术,2007,30(5):147-149.
[3]Datasheet SHT1x(SHT10,SHT11,SHT15)[EB/OL].http://www.sparkfun.com/datasheets/Sensors/SHT1x_datasheet.pdf
ZigBee数据传输 篇7
1 Zigbee拓扑结构
在Zig Bee路由中,将所有节点分为RN+和RN-两类,其中,RN+ 节点存储空间大,具有路由功能,可以作为路由器和终端设备;RN- 节点无路由功能,存储空间有限器。
Zigbee网络中有且只有一个协调器,可以有多个路由器和终端节点。Zigbee网络最常见的拓扑结构有星状、树状、网状3 种,见图1。
在星状结构中,网络由协调器来控制节点之间的通信,所有的设备只能与协调器通信。在树状结构中,节点只与其父节点通信。
网状结构中,通过使用完全对等的点对点方式来进行通信,只要在通信范围内,全功能设备可以任何其他全功能设备通信。
2 Zigbee路由协议
2.1地址分配机制
Zigbee网络中的节点在加入网络后都会收到其父节点为其分配的16 位短地址,且每一个节点都有一个64 位的唯一的IEEE地址。
Zigbee网络采用分布式地址分配机制,节点在加入网络后,父设备为其子节点分配唯一的网络地址,每个节点通过父节点到达协调器的最小跳数表示设备的深度,网络最大深度为终端节点到协调器的最大跳数。假设父节点能容纳的节点数为Cm,网络最大深度为Lm,子设备中具有路由功能的设备数为Rm,那么父设备可以为能当路由器的子节点分配的地址间隔为Cskip(d)
若父设备地址为A,该节点为其路由器子节点分配的地址间隔为Cskip(d),则第n个具有路由功能的子节点的地址可用式(2)来计算:
式(2)中,
2.2 Zigbee树路由
树路由中,节点在收到数据时,通过式2.3 判断节点是否是当前节点的后代来传播数据,如果节点是当前节点的后代,则将数据帧往下级子节点传送,如果不是当前节点的后代,则将数据帧往上级父节点转发。将目的节点的地址设为D,Zigbee当前路由器地址设为A,深度设为d,若式1.3 成立,那么目的节点是当前路由器的后代:
若已知目的节点是现节点的一个后代,并且目的节点是当前节点的子节点的同时是终端节点,那么下一跳的地址为:
若目的节点不是现节点的后代,那么下一跳地址N可以通过式(5)计算而来:
2.3 AODVjr路由协议
一个完整的路由建立过程分三步完成。第一步:路由发现,广播路由请求分组,第二步:反向路由建立,单播路由请求回复,第三步:单播正向路由的建立。
2.4 Zigbee C+A路由协议
当网络层接收到来自其上层的帧,先判断该目的地址是不是广播帧,若是,则在网络内广播该帧;网络内的路由器或者协调器收到广播帧后,判断目的地址是否是自己的子节点,若是,直接将帧发送给目的设备,若不是自己的子节点,则在路由表中查找与目的节点对应的路由表记录,并将帧转发给路由表记录中对应的下一跳地址节点。如果路由表中找不到对应的路由信息,则启动过路由发现过程,如果设备不具备路由能力,会采用分级路由沿着树转发帧。
使用分级路由算法时,如果帧的目的节点是当前节点的后代节点,则直接将帧发送给合适的子节点;若目的节点不是当前节点的后代,就将帧转发给当前节点的父节点。
3 基于上层数据服务类型的路由改进算法
本文在节点进行路由策略选择时,先考虑上层数据服务类型。树路由在网络刚建立时,或者对于突发的数据流具有相当大的优势,由于不需要进行路由发现过程,其时延远小于ZBR路由控制开销也远小于ZBR路由,而ZBR路由在网络已经建立,或者对于长期绑定的数据流,其平均跳数较小,因而时延小于树路由。
3.1 三种路由方式
网络层的数据帧格式,其中路由数据域占6 个字节,包括目的地址、源地址、转发半径、序列号信息,数据帧有效负载(字节数可变)[1]。帧控制域占两个字节,由帧类型(0 ~ 1位)、协议版本(2 ~ 5 位)、路由发现标志(6 ~ 7 位)、保留、安全域和保留构成。
在帧控制域中,路由发现标志占2 位,通过路由发现标志(Discover Route)字段来选择数据帧的路由方式,路由方式有以下3 种。
1)Suppress route discover:发送数据帧时,先使用已有的路由表条目,如果没有对应的路由条目,且网络层参数nwk Use Tree Routing=True,采用树路由。
2)Enable Route discovery:先使用已经存在的路由表条目,如果没有对应的路由条目,则发起路由发现过程。若节点没有路由功能,采用树路由。
3)Force route discovery:无论是否存在对应的路由条目都强制发起路由发现[2]。
若Discover Route=0x00,选择路由方式(1);相当于采用树路由。
若Discover Route=0x01,选择路由方式(2);相当于ZBR路由。
若Discover Route=0x02,选择路由方式(3);相当于只采用树路由,会产生大量开销,一般不用。
因此,如果应用层数据服务类型是长期绑定的业务流,且节点具有路由功能则采用改进算法二的路由算法,如果节点无路由功能,则采用树路由计算下一跳地址;如果应用层数据服务类型是短期突发的业务流,先利用路由信息,否则无论节点是否具有路由功能都采用树路由来传输数据。
3.2 绑定服务
Zigbee规范应用层提出了一个绑定服务的概念,本文通过这种方式来区分传输业务是长期数据还是突发数据。服务绑定是不同节点的应用层之间对固定数据业务建立的应用服务连接[3]。Zigbee协议栈中应用支持子层可以为两个设备提供绑定服务,这里讲的绑定是指将两个设备的服务和需求进行匹配,两个设备一旦被绑定后,一个绑定设备的信息就可以通过应用层数据实体传送给另个绑定设备,因此,在两个绑定设备间传送的是固定数据业务。但是,该服务只有支持绑定表的设备上才能发起绑定操作,因此,本文下面的仿真假设所有的节点都支持绑定表。
在NS2 构件库中并没有提供太多的对应用层的支持,因此,本文采用在NS2 IEEE802.15.4 仿真平台的基础上,通过编写Otcl脚本来实现节点间数据服务的绑定。例如:将节点2 和节点5 实现数据流绑定可以通过如下程序来实现:
节点之间实现数据流绑定后,在wpan-ZBR的获取命令函数:ZBR::command(int argc,const char* const*argv)中添加相应的代码以获取应用层绑定信息,主要代码如下:
节点在发送数据之前,先判断是否为绑定服务,若是,采用Enable Route discovery路由方式, 不是, 则采用Suppress route discover路由方式,这里假设所有的网络层参数nwk Use Tree Routing=True。对应的程序段如下:
3.3 基于上层数据服务的改进
节点在选择路由策略时,相当于使用的是Enable _discovery_ Route路由,即:当节点具有路由功能时,选择AODVjr,没有则使用树路由进行数据传输,这种路由选择策略适合网络比较稳定,大多数路由都已经发现,突发数据较少的情况,如果网络中突发数据流较多,由于节点的路由表存储空间有限,当网络节点较多时,不可能把所有已经发现的路由都存储下来,因而当增加突发数据流,就会使网络中产生大量RREQ,从而提高了网络消耗,不符合Zigbee网络低功耗的特点,所以,本文在Zigbee网络使用的路由算法(C+A)的基础上,综合考虑应用层数据服务类型,对突发的数据流采用Suppress_ discover_Route,即先利用路由表条目,路由表中不存在路由条目时,不论节点是否具有路由功能都使用树路由;而长期绑定的服务使用Enable _discovery_ Route,即:先利用路由表条目,路由表中不存在路由条目时,若节点具有路由功能,则发起路由发现。这种综合考虑应用层数据服务类型的路由选择策略能在很大程度上较低网络消耗,同时对于突发的数据流由于直接采用树路由转发分组,减少了路由发现过程,时延较小,控制开销也较小,改进算法的流程如图2所示。
3.4 仿真分析
本文使用NS2 软件进行仿真分析,仿真场景设为50m×50 m的正方形区域,信道传输采用瑞丽衰减,仿真时考虑最差情况,即协调器处于网络边缘,节点间通信有效传输范围为15 m,包差错率=0.2%,数据率=250 kbps,仿真时间=100 s,服从泊松分布,包大小为100 bytes,数据流采用绑定数据组和突发数据组组成,突发数据帧数控制在数据帧总数的30% 以内。随着突发数据的增加,分别对改进算法和ZBR的控制开销,分组递交率,平均跳数,平均端到端时延,进行比较分析。
图3 是改进前后路由控制开销的仿真结果,从图3 可以看出,当突发数据流个数较少时,由于有可能出现突发的数据流在网络路由表条目中已经存在,因而改进算法ZBR算法控制开销差不多,而随着突发数据流的增加,由于节点的路由表存储空间有限,不可能将所有的路由信息存储下来,因此广播RREQ产生了大量控制开销,而改进算法只对绑定的数据服务发起路由发现,因而减少了路由发现开销,从而,大大减少了控制开销,降低了网络消耗。
从图4可以看出,当网络刚开始建立,突发数据组较少时,改进算法由于对突发的数据组采用树路由来建立路由。因此,有可能找到的路由不是最优路由,因而平均跳数比ZBR大,随着突发数据组的增加,越来越多的路由已经被发现,新的突发数据组可能获得已经存在的路由,因此改进算法和ZBR算法的平均跳数相差不大。
从图5 可以看出,由于改进算法对应突发的数据流,路由表条目中不存在对应的路由条目时,通过树路由来转发数据,省略了ZBR算法中路由发现过程,因而时延远小于ZBR算法。
从图6 可以看出,随着突发数据组的增加,由于ZBR算法总是要进行路由发现过程,在全网广播RREQ,导致了大量的数据碰撞,因而分组递交率较小,而改进算法使用树路由转发分组,较少了网络中冗余分组的传递,因而碰撞较小,改进算法有明显的较高的分组递交率。
4 结语
本文提出的改进算法通过控制具有路由功能的节点路由策略的选择,综合了树路由和按需驱动路由对数据服务类型的优势,采用分层设计思想,减少了网络中路由分组的转发,降低了网络开销,但是如果网络较大,有可能会导致网络深度较低的节点由于要处理大量的数据,而造成数据帧丢失,这也是今后要研究的一个方向。
参考文献
[1]刘福涛.低功耗小型无线传感器网络的研究与设计[D].杭州:杭州电子科技大学,2012.
[2]彭光路.基于Zig Bee的无线传感器网络在监测系统中的应用研究[D].南京:河海大学,2008.
【ZigBee数据传输】推荐阅读:
Zigbee数据中心09-24
ZigBee定位10-15
ZigBee网络06-13
ZigBee模块06-15
ZigBee静态网络09-22
zigbee基础实验07-14
物联网及ZigBee09-21
ZigBee通信网络09-21
zigbee设计开题报告10-10