基于ZigBee的传感器网络设计.docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

?

?

基于ZigBee的传感器网络设计

?

?

杨兆辉+梁丽丽+姜宇

[摘要]针对无线传感器网络节点在网络中失去连接变成链路故障节点问题,提出了一种优化的基于ZigBee传感器网络设计思路。利用节点感知自身网络连接状态变化的方式,减少了网络资源的消耗;利用节点转移的方式,扩展了节点重新加入网络的处理机制。仿真实验证明,该方法有效地增加了故障节点重新加入网络的成功率。

[关键词]ZigBee;故障节点;网络失联;子树节点

doi:10.3969/j.issn.1673-0194.2017.17.074

[中图分类号]TP212.9[文献标识码]A[文章编号]1673-0194(2017)17-0163-02

0引言

近年来,随着物联网技术的飞速发展,作为物联网技术的基础支撑技术之一的无线传感器网络技术也不断成熟。ZigBee专注于无线通信网络技术,也是嵌入式应用的一大热点,针对孤立子树的问题应用动态重构树方法恢复,但此节点若要重新加入网络不能更充分地利用地址空间。

1ZigBee网络自主配置技术

1.1ZigBee网络链路故障

链路故障节点是指失去网络连接的节点,在树形拓扑结构中找不到父节点,当与父节点失联后,在树形拓扑结构中ZigBee的数据采集是向汇聚节点发送信息,所以当链路故障发生后也就无法成功地向汇聚节点发送数据。

在这个树形拓扑结构中节点需要和协调器保持数据同步,此时R1节点失去网络连接,那么R1与R2就会断开,R2以及后代节点也就形成了孤立子树,无法再接收到同步消息。

1.2链路故障节点重新加入网络自主配置方案设计

1.2.1无子节点的链路故障节点

如果链路故障节点无子节点,当重新发起网络请求时,如父节点有空余的地址空间,则根据地址分配公式Cskip计算网络地址,如无地址空间则拒绝其加入,该故障节点会经过一段时间重新再发起请求。

1.2.2有子节点的链路故障节点

若链路故障节点有子节点,要重新加入网络就必须考虑孤立子树问题。链路故障节点充当子树网络的代理协调器,向所有子树网络发送消息,在发送请求时同时考虑子树的节点数、高度等参数。如果请求失败则放弃代理子树按照链路故障节点重新加入网络过程。

2ZigBee网络设计原型系统实现

2.1系统的总体实现结构

ZigBee网络具有自行组网能力,自主配置并收发数据,由路由节点、终端节点、协调器节点组成,而网络的具体角色需要代码来设定,由于网络中只有一个协调器,所以首先编译该部分源码,终端节点能耗低因此代码也简单。

实现步骤:通过Socket接口与网关进行通信实现数据收发;缓存区负责存储数据,当缓存区存满时就向数据库中插入数据也就是数据缓存;从缓存表中提取网络拓扑信息也就是网络拓扑绘制;软件把采集到的传感数据存入数据库中,以便提供给用户查询也就是数据库管理。

2.2链路网络状态检测

检测网络状态只要是对链路故障的排查,当节点已成为故障节点,故障节点需要发起重新加入网络的申请,启动用于同步信标的定时器并设置其计数值,若收到信标消息计数器清零,否则计数器值加1,当累加值超过5时,其值的设定一方面依据Z-Stack协议栈源代码f8wConfig.cfg文件中的宏定义:-DBEACON_REQUEST_DELAY=1000,为了避免向已发生故障的节点發送数据,需要在该周期内判断是否发生故障。

2.3更新子树节点信息

链路故障节点有子节点时,如果成功加入网络,则携带的整棵子树需要更新状态,此时需要广播状态更新消息,使节点同步更新高度、地址、网络等信息,主要代码如下:

voidSub_Tree_Update(){

SUBTREE_UPDATEsub_update;

for(inti=0;ip

if(AF_DataRequest(SampleApp_SubUbdate_DstAddr,//

SampleApp_epDesc,

SAMPLEAPP_SUBTREE_UPDATE_CLUSTERID,

(uint16)sizeof(sub_update),

(uint8*)sub_update,

SampleApp_TranslD,

AF_DISCV_ROUTE,//AF_DISCV_ROUTE,

AF_DEFAULT_RADIUS==afStatus_SUCCESS){}

3基于MATLAB仿真平台实验测试与结果分析

为了评价基于ZigBee的传感器网络设计的性能,本文将与ZigBee标准协议下的修复能力相关算法应用MATLAB仿真进行了比较。

(1)生成网络拓扑:在仿真环境中模拟生成ZigBee网络节点。

(2)设置故障点:将带子节点的网络节点设置为故障节点。

(3)变化节点

文档评论(0)

186****6075 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档