ZigBee 方案介绍
ZigBee 方案综述
ZigBee 方案主要针对 IoT 应用场景下的各种网络接口之间的连接与通信,如 SPI、SDIO、USB、Wi-Fi、以太网等网络接口。
方案特点:
能够兼容标准的 ZigBee 节点
组网速度块、延迟低、自恢复
支持低功耗设备
支持 ZigBee 方案的 ESP 芯片情况如下:
ESP32H2
ESP32C6
ZigBee 常见应用场景
ZigBee GateWay:
NCP 方案:
esp-zigbee-sdk/examples/esp_zigbee_ncp : 展示了如何配置 ZigBee 网络协同处理器设备,通过 UART 接入 MCU 。MCU 设备通过 Wi-Fi 或者有线以太网网口连接至路由器,智能设备通过连接至设备协调器实现组网控制。
RCP 方案:
esp-idf/examples/openthread/ot_rcp : 展示了如何配置 802.15.4 radio ,通过 UART 接入 Espressif SoC 。MCU 设备通过 Wi-Fi 或者有线以太网网口连接至路由器,智能设备通过连接至设备协调器实现组网控制。
ZigBee 标准节点:
Coordintor 方案:
esp-zigbee-sdk/examples/esp_zigbee_HA_sample/HA_on_off_switch: 展示了如何配置 ZigBee 协调器并将其用作 HA On Off 开关设备。
End Device 方案:
esp-zigbee-sdk/examples/esp_zigbee_HA_sample/HA_on_off_light: 展示了如何配置 ZigBee 终端节点并将其用作 HA 灯设备。
esp_zigbee_sdk 如何启用
esp_zigbee_sdk 具有简单清晰的启用流程, 参考 esp_zigbee_sdk esp_zigbee_HA_sample 例程可以了解到 esp_zigbee_sdk 的启用过程:
调用 nvs_flash_init() 函数,用于初始化 esp_zigbee_sdk 的存储系统。
调用 esp_zb_platform_config() 函数,用于初始化设备通信方式。
调用 esp_zb_init() 函数,用于初始化 ZigBee 节点角色。
调用 esp_zb_on_off_switch_ep_create() 函数,用于创建应用层需要的 Cluster 和 Attribute。
调用 esp_zb_device_register() 函数,注册应用层处理的 Cluster 和 Attribute。
调用 esp_zb_start() 函数,用于启动 ZigBee 协议栈。
调用 esp_zb_main_loop_iteration() 函数,用于处理 ZigBee 协议栈上报的事件。
ZigBee 参考资料
此外,目前我们已经有一些公开的 ZigBee 方案软件开发资料和硬件资料,如下:
ZigBee 软件参考
开发板购买
模组/开发板资料及选型参考