ESP-IDF 例程——Zigbee

8. zigbee 目录

8.1 例程概述

Zigbee是一种低功耗、短距离无线通信技术,广泛应用于物联网设备。ESP-IDF提供了多个Zigbee例程,涵盖网关、协调器和终端设备等不同角色。

8.2 详细分析

例程名称 所在文件夹路径 核心功能说明 主要调用的内部/外部函数或模块 输入输出参数说明 适用场景及典型应用案例
Zigbee网关示例 examples\zigbee\esp_zigbee_gateway 构建Zigbee网关设备,连接Wi-Fi网络并通过UART与OT-RCP通信形成Zigbee网络 - esp_zigbee_stack_init
- esp_zigbee_network_form
- esp_zigbee_network_steering
- example_connect
输入:Wi-Fi配置、UART引脚配置
输出:Zigbee网络信息(Extended PAN ID、PAN ID、Channel)
适用于构建智能家居网关,连接Zigbee设备到互联网
HA开/关灯泡示例 examples\zigbee\light_sample\HA_on_off_light 配置Zigbee终端设备,作为HA开/关灯泡,响应开关控制命令 - esp_zigbee_stack_init
- esp_zigbee_network_steering
- esp_zb_on_off_server_cb
输入:Zigbee网络配置
输出:灯泡状态(开/关)
适用于智能灯泡等Zigbee终端设备,接收来自协调器或网关的控制命令
HA开/关开关示例 examples\zigbee\light_sample\HA_on_off_switch 配置Zigbee协调器,作为HA开/关开关,控制灯泡设备 - esp_zigbee_stack_init
- esp_zigbee_network_form
- esp_zigbee_network_steering
- esp_zb_on_off_client_send_cmd
输入:Zigbee网络配置、按钮输入
输出:控制命令(开/关切换)
适用于智能开关等Zigbee协调器设备,控制其他Zigbee终端设备

8.3 构建和运行说明

Zigbee网关示例

  1. 配置RCP:在构建ot_rcp示例时,通过menuconfig选择OPENTHREAD_NCP_VENDOR_HOOK
  2. 配置项目:使用idf.py set-target <chip_name>设置正确的芯片目标
  3. 擦除NVRAM:idf.py -p PORT erase-flash
  4. 构建和烧录:idf.py -p PORT flash monitor

HA开/关灯泡示例

  1. 配置项目:使用idf.py --preview set-target TARGET设置正确的芯片目标
  2. 擦除NVRAM:idf.py -p PORT erase-flash
  3. 构建和烧录:idf.py -p PORT flash monitor

HA开/关开关示例

  1. 配置项目:使用idf.py --preview set-target TARGET设置正确的芯片目标
  2. 擦除NVRAM:idf.py -p PORT erase-flash
  3. 构建和烧录:idf.py -p PORT flash monitor

8.4 硬件要求

Zigbee网关示例

  • 两个SoC:一个ESP32系列Wi-Fi SoC(ESP32, ESP32-C, ESP32-S等)和一个ESP32-H2 802.15.4 SoC
  • 通过UART连接两个SoC(默认GPIO4=RX, GPIO5=TX)

HA开/关灯泡示例

  • 一个ESP32-H2开发板作为Zigbee终端设备
  • 另一个ESP32-H2作为Zigbee协调器(加载HA_on_off_switch示例)

HA开/关开关示例

  • 一个ESP32-H2开发板作为Zigbee协调器
  • 另一个ESP32-H2作为Zigbee终端设备(加载HA_on_off_light示例)

8.5 典型应用场景

  1. 智能家居系统:使用Zigbee网关连接多个Zigbee设备(灯泡、开关、传感器等)到互联网
  2. 照明控制系统:通过Zigbee开关控制多个Zigbee灯泡
  3. 物联网设备网络:构建低功耗、可靠的Zigbee设备网络,适用于工业自动化、智能农业等场景

8.6 注意事项

  1. 对于同时支持Wi-Fi和Zigbee的单SoC(如ESP32-C6),由于只有一个RF路径,Wi-Fi和Zigbee不能同时接收,会对性能产生显著影响,建议使用双SoC解决方案
  2. 在构建ot_rcp示例时,必须选择OPENTHREAD_NCP_VENDOR_HOOK选项
  3. 在烧录新固件前,建议擦除NVRAM以清除之前的配置信息
  4. Zigbee网络形成后,会开放180秒允许新设备加入

8.7 扩展阅读


ESP-IDF 例程——Zigbee
https://blog.zhaosn.top/ESP32-examples/08.zigbee/
作者
Zhao SN
发布于
2026年1月21日
更新于
2026年1月21日
许可协议