ZigBee 方案介绍

[English]

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 方案:

End Device 方案:

esp_zigbee_sdk 如何启用

esp_zigbee_sdk 具有简单清晰的启用流程, 参考 esp_zigbee_sdk esp_zigbee_HA_sample 例程可以了解到 esp_zigbee_sdk 的启用过程:

  1. 调用 nvs_flash_init() 函数,用于初始化 esp_zigbee_sdk 的存储系统。

  2. 调用 esp_zb_platform_config() 函数,用于初始化设备通信方式。

  3. 调用 esp_zb_init() 函数,用于初始化 ZigBee 节点角色。

  4. 调用 esp_zb_on_off_switch_ep_create() 函数,用于创建应用层需要的 Cluster 和 Attribute。

  5. 调用 esp_zb_device_register() 函数,注册应用层处理的 Cluster 和 Attribute。

  6. 调用 esp_zb_start() 函数,用于启动 ZigBee 协议栈。

  7. 调用 esp_zb_main_loop_iteration() 函数,用于处理 ZigBee 协议栈上报的事件。

ZigBee 参考资料

此外,目前我们已经有一些公开的 ZigBee 方案软件开发资料和硬件资料,如下: