ZIgbee设备加入网络过程(方式一 关联加入)


在一个zigbee协 调器设备建立网络后,路由器设备或者终端设备(end device),可以加入协调器建立的网络,具体加入网络有两种方式,一种是通过关联(association)方式,就是待加入的设备发起加入网络,具 体实现方式后面讨论,另一中是直接(direct)方式,就是待加入的设备具体加入到那个设备下,作为该设备的子节点,由以前网络中的设备,想待加入的设 备作为其子设备决定。

   下面重点讨论第一种方式,也是实际中用的最多的方式

   通过关联方式加入一个网络:

  加入一个设备,是两个设备的事,即子设备和待定父设备

  对于子设备,首先子设备调用NLME-NETWORK-DISCOVERY.request 原语,设定待扫描的信道,以及每个信道扫描的时间,网络层收到这个原语,将要求MAC层执行被动或主动扫描。

  具体发送到设备外的是一个becon request 帧,当在这个信道中的设备收到该帧,将会发送becon帧,这是子设备通过BEACON-NOTIFY.indication 原语,告知该设备的MAC层,该becon帧包含了发送该帧的地址信息,以及是否允许其他设备以其子节点的方式加入。待加入的设备,在网络层,将检查该 becon帧 协议 ID是否是zigbee ID 。如果不是,将 忽略;如果是,该设备将复制收到每个becon帧的相关信息到其关联表中(neighbor table)。

  一旦MAC层完成了扫描,将发送 MLME-SCAN.confirm 原语,告知网络层,网络层将发送NLME-NETWORK-DISCOVERY.confirm 原语,告知应用层。

  应用层收到该原语,应用层将根据情况,要么重新要求扫描,或者从关联表中选择所发现的网络加入。调用NLME-JOIN.request 原语,原语中各个参数的设置参看协议(可以在本站下载栏找到)非常容易。如果在关联表中找不到合适的准父节点,将调用原语告知应用层,如果由多个设备可以 满足要求,将选择到协调器节点深度最低的设备,如果有几个设备的深度相同,且都是最小深度,将从中随机选择一个。

 一旦潜在的父节点确定,网络层将调用MLME-ASSOCIATE.request 原语到MAC层。具体设置参看协议相关部分(213页),连接状态将通过MLME-ASSOCIATE.confirm 原语反馈。

  如果试图加入不成功,网络层将收到MAC层通过MLME-ASSOCIATE.confirm告知的加入失败,如果收到的是潜在父节点拒绝该设备加入,这 时候,网络层将会在关联表中,把该潜在父节点的相应部分,潜在父节点位(potential parent bit)置为零,确保网络层,不再给这个设备二次发送加入请求。

  如果一次加入没成功,将选择另一个潜在的父节点加入,指导找到一个合适的设备加入或者所有的设备都不适合。

 如果加入成功,网络层收到的MLME-ASSOCIATE.confirm 原语,将含有该设备可用的16 唯一的逻辑地址,

网络层将在关联表中设置与其父节点的关系,同时,这个父节点也会在其关联表中加入这个新设备。

  如果是以路由器(router)形式成功加入网络,该设备的应用层将发送NLME-STAT_ROUTER. request 原语,网络层将发送MLME-STAT.request 原语到MAC层。收到了MLME-START.confirm 原语,网络层 将发送 NLME-START-ROUTER.confirm 原语,含有同样的状态值。

   对于父节点设备:

  只有协调器或路由器,可以加入设备,进行该操作,首先从MAC层开始,MAC接收到一帧(ASSOCIATE)数据 ,通过 MLME_ASSOCIATE.indication原语传到网罗层,潜在的父节点收到这帧数据,首先判断该设备是否已经存在其关联表中,如果找 到,NLME将获取相应的16位网络地址,并发送 association  response 到MAC层,如果没有找到,将分配一个在这个网络中唯一的地址给待加入的设备,如果潜在父节点已经用完了地址分配,NLME将中止,通过MLME- ASSOCIATE.reponse 原语,告知该设备,不能接收子设备了,在多跳网络中,其他的设备还可以接收。

  如果设备加入得到许可,这时候,将在关联表中创建一个表项,作为其子节点,并通过MLME-ASSOCIATE.reponse 原语,告知该设备,已经成功加入网络。


转自:http://hi.baidu.com/a263238386/item/68ea3ff6570c982e753c4c3f

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,您的问题是关于 Zigbee 路由、网络加入和三种 Zigbee 网络架构的,请允许我逐一解答。 1. Zigbee 路由 Zigbee 路由是指 Zigbee 网络中用于转发信息的设备Zigbee 路由器通常由更强大的处理器和更大的内存组成,以便能够处理更多的数据流量和路由表。Zigbee 路由器可以使 Zigbee 网络更加可靠和稳定。 2. Zigbee 网络加入 Zigbee 网络加入是指在 Zigbee 网络中添加设备过程设备可以是一个 Zigbee 路由器或一个 Zigbee 终端设备。在 Zigbee 网络加入设备需要进行一系列的操作,包括扫描网络加入网络、配置网络参数等。 3. 三种 Zigbee 网络架构 Zigbee 网络通常采用三种不同的架构,分别是星型网络、树型网络和网状网络。 星型网络是指所有设备都直接连接到一个 Zigbee 协调器,这种架构简单易用,但是在网络规模扩大时会存在单点故障的问题。 树型网络是指设备之间形成一颗树状结构,每个节点都可以连接多个子节点,这种架构适合于规模较小且比较分散的 Zigbee 网络。 网状网络是指设备之间形成一个网状结构,每个设备都可以直接连接多个设备,这种架构适合于规模较大且分散的 Zigbee 网络。 以上是对于 Zigbee 路由、网络加入和三种 Zigbee 网络架构的简要介绍,希望能对您有所帮助。如果您有任何其他问题,请随时问我。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值