Zigbee组建一个完整的网络包含两个步骤:网络初始化和节点加入网络。其中,节点加入网络可以分为通过协调器直接连接入网和通过已有父节点入网。下面来依次说明。

1. 网络初始化

ZigBee网络初始化只能是由网络协调器发起的,在组建网络前,需要判断本节点还没与其他网络连接。如果节点已经与其他网络连接时,此节点只能作为该网络的子节点。一个ZigBee网络中有且仅有一个ZigBee协调器,一旦网络建立好了,协调器就退化成路由器的角色,甚至是可以去掉协调器的,这一切得益于ZigBee网络的分布式特性。

  1. 网络初始化流程图如下:
  2. 每层详细解释:
  3. 1 .  协调器通过主动扫描,发送信标请求命令(Beacon request command),设置一个扫描期限(T_scan_duration),如果在期限内没检测到回应信标,则认为在其范围内没有其他协调器,那么此时可以建立自己的ZigBee网络,并且作为网络的协调器。非信标网络的设备会等待请求,信标网络的设备会周期性的产生信标并且广播出去。
  4. 2.
  5. 2.1 能量扫描
               对指定信道或者默认信道进行能量检测,以避免可能的干扰,以递增的方式对所检测的信道能量值进行排序,抛弃那些能量值超出范围的信道。选择一系列可用信道。

    2.2主动扫描
                接着通过主动扫描的方式,获取节点通讯半径内的网络信息,然后根据这些信息,找一个最好的、相对安静的信道。最后选择的信道应该是存在最少的ZigBee网络,最好是没有ZigBee网络。

    3.   在所选定的信道上,网络ID(PAN ID)必须是唯一的,不能和其他ZigBee网络冲突,不能为广播地址(0xFFFF)。可以使用设定的PAN ID,也可以通过监听其他网络的ID来随机选择一个不会冲突的ID号.当路由节点或者设备入网时,协调器会给节点分配短地址来通讯。对于协调器来说,网络地址始终为0x0000

2.ZigBee入网流程

ZigBee设备的入网流程,详见下图:

每层详细解释4

节点入网将选择范围内信号最强的父节点加入网络,成功加入后,会得到一个网络短地址,并通过这个地址进行数据的收发。网络拓扑关系和地址会保存在各自的flash中。

选择一个合适的ID后,设备的上层会请求MAC层对物理层和MAC层的phyCurrentChannel、macPANID等PIB属性进行相应的设置。

3.ZigBee分离流程

详见下图:

最新文章

  1. Java 时间的表示
  2. Redis总结(四)Redis 的持久化
  3. TypeError: test() got multiple values for keyword argument 'key'
  4. 【Sharing】开发与研发
  5. JDK 动态代理实现原理
  6. SPOJ LCS 后缀自动机
  7. Azure终于支持大容量虚拟机了-最高32核,448G内存
  8. 黑马程序员-IO(二)
  9. win7系统无线 VirtualBox rehat 32位linux 下 host-only模式相互通信及上网 配置
  10. Java的图片处理工具类
  11. Mac最好的虚拟机软件Parallels,体验比Vmware棒
  12. UVa 11059 最大乘积
  13. 解决ubuntu输入正确用户密码重新跳到无法登录
  14. [Hive_12] Hive 的自定义函数
  15. Visual Studio编辑器“智能提示(IntelliSense)”异常的解决方案
  16. python trie
  17. shell(3)-mysql主从监控shell
  18. English trip V1 - B 24. I'm Interested in... 我对...感兴趣 Teacher:Julia Key: (I/We/They) do/don't (He/She/it)does/doesn't
  19. .Net Core WebApi控制器接收原始请求正文内容
  20. nyoj 最小公倍数

热门文章

  1. zencart技术联盟交流群
  2. android短信发送器源代码
  3. [AngularJS] ui-router: Abstract States
  4. VC++制作DLL具体解释
  5. 解决easyui-datagrid在ie中无法reload问题
  6. VRP相关知识整理
  7. UNIX标准化及实现之限制
  8. 细说linux挂载——mount,及其他……
  9. Linux下的lds链接脚本简介
  10. IOS网络请求框架AFNetworking和ASIHttpRequest对比