惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园_首页
Blog — PlanetScale
Blog — PlanetScale
腾讯CDC
aimingoo的专栏
aimingoo的专栏
Microsoft Azure Blog
Microsoft Azure Blog
A
About on SuperTechFans
J
Java Code Geeks
G
Google Developers Blog
N
Netflix TechBlog - Medium
Vercel News
Vercel News
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
I
InfoQ
Stack Overflow Blog
Stack Overflow Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
T
The Blog of Author Tim Ferriss
罗磊的独立博客
GbyAI
GbyAI
小众软件
小众软件
大猫的无限游戏
大猫的无限游戏
WordPress大学
WordPress大学
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - YZG

zigbee路由(报文实例) Zigbee系列(路由机制) Zigbee系列(end device) Zigbee系列(概览) kallsyms , addr to symbol Linux checksum flag in kernel ubuntu apt-xxx 清空DNS缓存 shell loop shell 参数 power sequece grep 文件内容搜索 netif_receive_skb pt_prev why? virtual machine AVR地址空间 altera 与 xilinx fifo 时序的区别 如何在Linux下实现50万并发 Linux tcp socket相关参数设置 对Linux下socket限制的理解
Zigbee系列(网络)
YZG · 2018-10-16 · via 博客园 - YZG

Zigbee设备类型

Coordinator:形成网络,选择信道、PANID、允许其他设备加入等。

Router: 作为路由节点,转发报文。

End Device: 终端节点,不转发报文。

Zigbee网络类型

Zigbee PRO标准只支持mesh网络类型。

R

outer device常规入网流程示例

  1. 子设备在各个信道广播beacon request,查询哪个网络允许加入。

  1. 协调器和路由节点回应beacon报文。

    主要字段:

    PAN Coordinator: 是否是协调器 (source address)

    Association permit: 是否允许新设备入网

    GTS相关字段: zigbee pro不使用GTS非竞争网络的字段。

    Stack profile、NWK protocol version: zigbee版本。

    Router Capacity: 是否能接受路由设备的入网请求

    End Device Capacity: 是否能接受end device的入网请求,即作为end device设备的父节点。

    NWK extended pan id: 网络的唯一标识,pan id可变,extended pan id不变。

  1. 子设备在可入网的网络中,选择信号最优的一个进行关联。

    Association Request

  2. 协调器接收设备的关联请求后,单播回应Association Response.

    给子设备分配短地址。

  3. 协调器通过子设备的认证后,发送网络密钥,负载使用tc link key加密。

    Transport Key

  4. 子设备解析network key,入网成功。发送device announce通知网络中的其他设备,自己加入网络。

Zigbee3.0子设备入网后需要更新link key,参考《zigbee3.0 security特性.docx》

End device入网流程

  1. End device通过beacon request查询信道是否有网络可以加入。

  2. 协调器和路由节点回应beacon

  3. End device选择协调器或路由节点加入。

    End device 直接接入协调器

  4. End device发送association request,请求加入网络

  5. 协调器(父节点)回应association response,分配短地址给子设备。

  6. 协调器(Trust Center)通过Transport Key命令传输nwk key,报文使用TC link key加密。(这里协调器和子设备没有使用install codes,使用的是global link key)

  7. 子设备正确解析transport key报文,获得nwk key

  8. 子设备广播device announce报文,通知其他设备自己已成功加入网络。

以路由节点做父节点

  1. 向父节点发送Association Request

  2. 父节点回应Asspciation Response, 提供短地址

  3. 父节点向协调器发送update device,通知协调器有设备加入(unsecured join, 还没有经过TC验证)

  4. TC验证通过后,协调器经过end device的父节点给end device发送network key,需要父节点做中转。协调器和该父节点的数据使用nwk key加密,父节点转发给子设备的数据,去掉tunnel头,使用link key加密。

  5. 子设备获得网络密钥,入网成功。

  6. 子设备广播device announce.

BDB中定义的流程: