ZigBee 3.0理论教程-通用-1-06:建网与组网


【配套源码文档软件硬件等资源,请移步技术交流群:拿破仑ZigBee(263671349)】
【所有相关IDESDK均可从群文件免费获取,也全都是免安装的,解压出来直接就能开始开发】

持续更新中,欢迎关注!

一、创建网络

首先,由协调器创建一个网络,您必须准备4个参数:

  • PAN ID
  • 扩展 PAN ID
  • 工作频道
  • 发射功率

您需要指定这四个参数。如果您不这样做,协调器将随机选择一个PAN ID和一个扩展的PAN ID。如果您未指定频道,则协调器将扫描并选择一个相对安静的频道进行工作。

二、加入网络

网络创建后,新设备可以开始加入。

  1. 新设备将开始查找可连接的网络。在此阶段,新设备不知道可加入的网络处于哪个信道,所以它将通过扫描的方式来发现可加入的网络。它将在每个信道上都发送Beacon Request,等待一会儿如果没有回应的话,就跳到下一个信道继续发Beacon Request。
  2. 路由器和协调器将使用Beacon中携带的网络信息来响应Beacon Request。这些信息包括PAN ID,扩展PAN ID以及路由器或协调器的其他一些属性,例如设备是否允许连接,设备是否具有允许新设备连接的能力。
  3. 新设备可以从不同设备接收多个Beacon。它将选择信号质量最好的一个,并开始发送Association Request。在该Association Request中,将PAN ID设置为所选的PAN,并将目标节点ID设置为所选设备的节点ID。在这个报文里面,将会携带这个新设备的设备类型等信息。
  4. 当路由器或协调器收到此Association Request时,它将为新设备选择一个节点ID,并以Association Response进行响应。然后,新设备获得了其Node ID,但由于未获得Network Key而无法与其他节点通信。
  5. 协调器会将当前的Network Key传输到新设备。该传输消息在应用程序层中使用Well-Known Link Key加密
  6. 当新设备收到此消息时,它将使用Well-Known Link Key对消息解密并获取Network Key。之后,该设备实际上已加入网络,并能够与网络中的所有其他节点通信。
  7. 设备将发送一条Device Announce,以通知网络的其他节点,以通知他们我已加入。

  1. 在出厂之前,应该已经将Install Code烧录到新设备里面了。
  2. 在加入之前,用户需要获取新设备的Install Code和Eui64,然后在协调器上对其进行配置。
  3. 然后,协调器从Install Code中获取Link Key,并将协调器设置为使用此Link Key来加密此新设备的传输Network Key消息。
  4. 当协调器开始将Network Key传输到新设备时,它将对消息使用Install Code Derived Link Key进行加密并将其传输到新设备
  5. 当新设备收到此消息时,它将从闪存中读取Install Code并计算得出应和协调器端相同的Link Key,然后使用此密钥对消息进行解密并获取Network Key。

其余过程类似于使用Well-Known Link Key进行组网的过程。

 

持续更新中,欢迎关注!

 

【所有相关IDESDK均可从群文件免费获取,也全都是免安装的,解压出来直接就能开始开发】
【配套源码文档软件硬件等资源,请移步技术交流群:拿破仑ZigBee(263671349)】

文章作者: 拿破仑940911
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 拿破仑940911 !
评论
  目录