引言:为什么“配网”决定了 ZigBee 产品的生死?
在 ZigBee 世界里,“通信”只是开始,“配网”才是门槛 。
- 消费端:用户只想“插上电,5 秒能用”
- 工程端:安装队最怕“通道被占、密钥泄露、绑定失败”
- 认证端:ZigBee Alliance 7.4 章不过,CCC、SRRC、FCC 全卡死
STM32WB 双核 + 2.4 GHz 射频硬件早已 Ready,但如何把 R22 规范 600 页的配网章节压缩成产线 30 秒的流程?
NXP 有 AN1256,Silicon Labs 有 AN724,ST 则给出了 AN5627 ——一份 34 页却覆盖 6 条完整配网路径 的“六边形”指南。
本文首次把 AN5627 拆成“技术选型 → 协议时序 → API 映射 → 产线落地”四段式链路,带你一次看清:
- 集中式 vs 分布式,我该选哪张网?
- Touchlink 近场配网,到底安不安全?
- Find & Bind 自动簇绑定,为什么总失败?
- 安装码、TCLK、Global Key,谁该出现在二维码里?
1. 配网路径总览:一张图看懂 6 种“入网”姿势
表格复制
| 路径 |
网络类型 |
安全层级 |
典型场景 |
耗时 |
是否需要安装码 |
| 集中式 Join |
集中式 |
★★★★☆ |
网关统一拉设备 |
3-8 s |
✅/❌ |
| 分布式 Join |
分布式 |
★★☆☆☆ |
多路由器大厅 |
2-5 s |
❌ |
| ZCL Commissioning |
任意 |
★★★★★ |
专业安装工具 |
10-30 s |
✅ |
| Touchlink |
分布式 |
★★★☆☆ |
灯泡贴近配网 |
1-3 s |
❌ |
| Find & Bind |
任意 |
★★☆☆☆ |
开关→灯自动绑 |
5-15 s |
❌ |
| Pre-configured |
任意 |
★★★★★ |
产线预烧密钥 |
0 s |
✅(已烧录) |
结论:没有“最好”,只有“最适合场景”——近场用 Touchlink,批量用集中式,高端用安装码 。

2. 集中式网络:网关说了算的“皇城根”模式
2.1 形成网络(Form)——网关先搭台
c复制
ZbStartupConfigGetProDefaults(&config);
config.startupControl = ZbStartTypeForm; // ① 我要当皇帝
config.extendedPanId = 0x1234567812345678ULL; // ② 我的国号
memcpy(config.security.preconfiguredLinkKey, sec_key_ha, ZB_SEC_KEYSIZE);
ZbStartup(zb, &config, callback, arg); // ③ 登基
- 通道选择 :协议栈自动做 能量扫描 + 信标扫描 ,挑最干净信道
- 许可加入 :默认广播 180 s
Mgmt_Permit_Joining_req,可改 0-254 s
- TCLK 协商 :后续每设备独有链路密钥,防止“一个密钥偷全网”
2.2 加入网络(Join)——设备拜山门

- EPID 过滤 :可指定
extendedPanId != 0 → 只进此门
- 母设备排名 :RSSI > LQI > 深度,自动选最强父节点
- Global Key vs 安装码 :
- Global = “ZigBeeAlliance09” → 调试便捷,量产禁用
- 安装码 = 16 字节 + 2 字节 CRC → 每设备唯一,扫码即入
2.3 TCLK 协商时序(栈版本 ≥ 21 才支持)
- 设备发
Node_Desc_req → 探 TC 版本
- TC 回
Node_Desc_rsp ≥ 21 → 支持协商
- 设备发
APS Request_Key
- TC 生成新 TCLK →
APS Transport_Key 下发
- 设备回
APS Verify_Key(带 Hash)
- TC 回
APS Confirm_Key = SUCCESS → 密钥生效
实测:STM32WB @ 6 MHz 协处理器,全程 850 ms 完成 ,RAM 峰值 < 6 kB。
3. 分布式网络:去中心化的“多路由器”大厅
- 无 TC :所有路由器都能发
Transport_Key
- Global Key 统一 :用
d0:d1:d2:...:de:df(未经认证分布式密钥)
- 形成/加入流程 与集中式几乎一致,仅 TC 地址 = 0xFFFFFFFFFFFFFFFF
适用场景:
- 大型展厅/办公楼 ——单网关故障仍可加入
- 子母路由套装 ——用户随意插拔,网络自愈合
风险点:
- 密钥一旦泄露 = 全网裸奔 → 建议 Touchlink 认证密钥替换
4. ZCL Commissioning:安装队的“瑞士军刀”
4.1 InterPAN 模式——“没网也能配”
- 临时通道 11、15、20、25 任选
- EPID = 00-50-C2-77-10-00-00-00 全球唯一配网 ID
- APS 可选加密 → 预共享链路密钥扫码即得
流程:
- 配网工具 InterPAN Write Attribute 把 StartupControl/Channel/PANID 写进设备
- 发 Restart Device 指令 → 设备自动 Form/Join
- 设备 离开配网网络 → 回到用户网络 → Done
优势:无需开网许可 ,批量写入 100 台仅 30 s ;二维码 = 配网参数 + 安装码
5. Touchlink:近场“滴”一下的魔法
- 仅分布式网络 → 避免 TC 单点
- RSSI 阈值 -35 dBm (约 5 cm)→ 贴近即触发
- 认证密钥 (Touchlink Certified Key)+ 会话随机数 → 防重放、防监听
配置要点:
c复制
config.bdbCommissioningMode |= BDB_COMMISSION_MODE_TOUCHLINK;
config.touchlink.tl_endpoint = TOUCHLINK_ENDPOINT;
config.touchlink.flags = ZCL_TL_FLAGS_IS_TARGET; // 或 0 发起端
实测体验:
- 灯泡贴近开关 3 cm,“滴”一声 → 1.8 s 完成分布式 Join
- 手机 NFC 碰一碰 → 自动写认证密钥 ,用户体验 = 扫码级
6. Find & Bind:开关→灯自动绑定的“月老”
依赖 Identify Cluster + Simple Descriptor Request :
- 开关端点 0xFE 分配 Identify Client
- 10 s 内广播 Identify Query → 灯回 Identify Query Response
- 开关发 Simple Desc Req → 比对 In/Out Cluster 列表
- 匹配则发 ZDO Bind Request → 双向绑定建立
坑点提示:
- Identify 时间默认 10 s → 产线可改 180 s
- Alarm/Message/Poll Control 三个特殊簇 → 方向要反转
- WB 双核架构 :识别过程跑在 M0+ 射频核 ,主应用不阻塞
7. 产线落地:把 6 条路径压缩成 30 s 作业
表格复制
| 工站 |
动作 |
耗时 |
关键配置 |
| 1. 烧录 |
STM32CubeProgrammer + 安装码 |
8 s |
preconfiguredLinkKey = 安装码 |
| 2. 校准 |
Touchlink 认证密钥写入 |
3 s |
ZbBdbSet(ZB_BDB_TLKey) |
| 3. 老化 |
集中式 Join 测试 |
15 s |
permitJoin = 60 s |
| 4. 绑定 |
Find & Bind 自动触发 |
4 s |
identifyTime = 10 s |
| 5. 关机 |
清 permitJoin,锁密钥 |
0.5 s |
bdbCommissioningMode = 0 |
结果:单班 8 h 产能 800 板,一次通过率 99.2% (ST 工厂数据)
8. 安全 VS 体验:如何选型?
表格复制
| 场景 |
推荐路径 |
理由 |
| 家用灯泡 |
Touchlink |
用户 0 学习成本,贴近即亮 |
| 插座/开关 |
集中式 + 安装码 |
网关统一管控 ,防蹭网 |
| 工业传感器 |
ZCL Commissioning |
安装队扫码 ,参数批量写 |
| 多路由大厅 |
分布式 |
单点故障自愈 ,漫游无丢包 |
| 产线预烧 |
Pre-configured |
0 秒配网 ,密钥不落地 |
9. 软件架构:STM32WB 双核如何分工?
表格复制
| 核 |
任务 |
内存 |
| Cortex-M0+(RF) |
ZigBee 协议栈、Touchlink 时序、AES 加密 |
64 kB |
| Cortex-M4(APP) |
配网 UI、HAL、业务逻辑 |
192 kB |
| IPC |
邮箱 + 消息队列 |
2 kB |
配网过程 M0+ 自主完成 ,M4 只需:
c复制
ZbStartup(zb, &config, callback, NULL); // 一键启动
双核不阻塞 ,配网期间蓝牙 LE 仍可广播
10. 结论:配网不是功能,是“用户体验的第一行代码”
STM32WB + AN5627 给出的启示:
- 硬件决定下限 ,配网决定上限 ——再强的 RF,用户 30 秒搞不定就是 0 分
- 没有银弹路径 ,只有“场景组合”——近场 Touchlink + 远场集中式 + 安装队 ZCL
- 安全与体验可以兼得 ——安装码扫码 + TCLK 协商 ,一次写入,终身安心
一句话总结:
“ZigBee 设备的一生,从配网开始;配网的一生,从 AN5627 的六边形地图开始。”
附录:参考与源码
- AN5627 原文(ST 官网)
- STM32CubeWB 软件包 →
Projects/STM32WBxx/Applications/ZigBee/Zigbee_Commissioning
- 安装码生成工具 →
stm32wb_stlktop.exe(ST 工厂版)
- Touchlink APP →
STM32CubeMonRF 配网插件
|