ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

ESP32-C6变身Zigbee设备:从协议到固件实战指南

ESP32-C6变身Zigbee设备:从协议到固件实战指南 这次我们来看一个非常实际的硬件玩法把一片普通的 ESP32-C6 开发板变成一个真正能加入 Zigbee 网络的智能设备。不是自己搞一套私有协议也不是用 WiFi 模拟开关而是芯片本身以 Zigbee 协议直接和网关通信。它可以作为温湿度传感器、智能开关、无线按键甚至 Zigbee 中继器出现在 Home Assistant、Zigbee2MQTT 这类生态里。这个项目的核心价值在三点第一ESP32-C6 内置 IEEE 802.15.4 射频跑 Zigbee 不是靠“软模拟”而是硬件原生支持第二乐鑫提供了完整的 Zigbee 协议栈和 SDK开发门槛比很多人想象的低第三一块开发板可以反复烧录不同固件今天当开关明天当传感器一套板子就能覆盖多个智能家居场景。整个项目实施要花的时间并不夸张准备一块 ESP32-C6 开发板安装 ESP-IDF 或 Arduino 环境编译一个最小固件烧录后通过 Zigbee 网关配对整个过程基本可以拆成“编译→烧录→入网→控制”四步。本文会从 Zigbee 协议体系结构讲起再展开 Zigbee Cluster Library 的常用集群映射然后给出环境准备、固件开发、烧录验证和排错清单。适合正在做智能家居 DIY、硬件原型开发以及想了解 Zigbee 在 ESP32-C6 上怎么落地的人。1. ESP32-C6 核心能力速览能力项说明芯片型号乐鑫 ESP32-C6无线能力2.4GHz 频段Wi-Fi 6、Bluetooth 5.0、IEEE 802.15.4Zigbee 模式原生射频可做协调器、路由器、终端设备开发方式ESP-IDF ESP-Zigbee-SDK或 Arduino 环境典型设备类型温湿度传感器、智能开关、无线按键、门磁、中继器对接网关Home Assistant、Zigbee2MQTT、兼容 Zigbee 3.0 的网关启动方式上电自启动按固件逻辑进入配网流程接口能力通过 Zigbee 集群读写属性内部可映射 GPIO、传感器、继电器批量任务可以批量烧录多块开发板统一固件逐个入网适合人群嵌入式开发者、智能家居玩家、硬件产品原型工程师这里需要先说清楚一个关键点ESP32-C6 能“变成 Zigbee 智能设备”依赖的是芯片内部的 802.15.4 射频硬件。其他常见型号如 ESP32、ESP32-S3 没有这个硬件不能通过软件把 WiFi 射频变成 Zigbee。所以这个玩法只适用于 ESP32-C6 这类带 802.15.4 射频的芯片或模组。购买开发板时优先选 ESP32-C6-WROOM-1、ESP32-C6-MINI-1 这类模组的开发板确保天线和参考设计完整即可。2. Zigbee 协议体系结构ESP32-C6 里跑的是什么要想真正把一个 ESP32-C6 变成 Zigbee 设备需要理解 Zigbee 协议栈是怎么分层的。很多人一开始对着代码很懵不知道zb开头的 API 和cluster之间是什么关系。这里把 Zigbee 协议体系结构按常用分层拆开看。2.1 物理层与 MAC 层Zigbee 的底层基于 IEEE 802.15.4 标准使用 2.4GHz 频段典型速率 250kbps。ESP32-C6 的 802.15.4 射频就工作在这一层负责载波监听、数据帧收发、ACK 确认、信道选择等工作。这一层的参数包括信道、PAN ID、短地址、扩展地址等是 Zigbee 网络的基础。值得注意的一点是Zigbee 和 Wi-Fi 都在 2.4GHz 频段工作信道会存在重叠。Zigbee 常用信道集中在 11 到 26其中不少信道和 Wi-Fi 的 1、6、11 信道存在干扰关系。做实际项目时最好通过信道扫描选择一个干扰较少的信道。2.2 网络层网络层负责建立和维护网状网络解决设备加入、离开、路由、寻址、数据转发等问题。Zigbee 网络中有三种设备角色角色说明ESP32-C6 是否支持Coordinator协调器创建网络分配地址管理网络安全支持Router路由器转发数据允许其他设备加入网络支持End Device终端设备连接网络可以休眠一般不具备路由能力支持在“把 ESP32-C6 变成 Zigbee 智能设备”的典型项目中通常把 ESP32-C6 配置为终端设备或路由器然后加入一个已有的 Zigbee 网络。这时 ESP32-C6 的固件需要携带网络加入能力例如通过按键触发入网、自动选择信道、使用网络密钥加密通信等。2.3 应用支持子层应用支持子层APS负责端到端的应用数据调度包括端点寻址、集群绑定、组播地址管理、消息分割和重组等。可以把它理解成一个“中转区”上层应用把数据交给 APSAPS 再包上寻址信息交给网络层。ESP-Zigbee-SDK 里的大部分 API 都是在与这一层打交道。2.4 应用框架、ZDO 与 ZCL应用框架Application Framework定义了端点、设备描述、集群映射。设备描述决定了一个设备对外是什么类型例如“温度传感器”“可调光灯泡”“智能插座”。Zigbee 设备对象ZDO负责设备发现、绑定、网络管理。比如多个设备之间建立绑定关系让一个开关直接控制一个灯泡就是通过 ZDO 完成的。ZCLZigbee Cluster Library是应用层的核心标准。它规定了一组通用集群每个集群包含属性和命令。例如 On/Off 集群包含on、off、toggle命令温度测量集群包含measured_value属性。ESP32-C6 固件要做的事就是把本地 GPIO、传感器数值映射到对应集群的属性和命令上。3. Zigbee Cluster LibraryZCL中文对照与设备映射ZCL 是 Zigbee 应用开发里最需要耐心看的部分。做普通串口开发时你直接读引脚数值就行但在 Zigbee 设备里数据必须按标准集群格式上报否则网关无法解析。3.1 ZCL 是什么ZigBee Cluster Library中文一般叫“Zigbee 集群库”。它不是某一个设备的功能代码而是一套通用的数据模型和命令集。ZCL 把常见的 IoT 能力抽象成“集群”每一个集群都定义了一组属性、命令和事件。设备只需要选择自己要支持的集群并实现这些集群的读写逻辑就能与任意遵循 ZCL 标准的网关互通。例如一个智能插座至少要支持 Basic 集群、Device Management 集群、On/Off 集群和可能存在的 Electrical Measurement 集群。网关要向插座发送“开”“关”指令实际上就是向 On/Off 集群写入或发送命令。3.2 常用集群中文对照集群英文名集群中文名典型用途Basic基础信息固件版本、厂商信息、设备类型Power Configuration电源配置电池电量、电源状态On/Off开关控制控制继电器、灯泡、插座Level Control亮度调节调光灯、风扇调速Color Control颜色控制RGB 灯、色温调节Temperature Measurement温度测量温度传感器上报Relative Humidity Measurement相对湿度测量湿度传感器上报Occupancy Sensing人体存在感应PIR、雷达传感器IAS Zone入侵报警区门磁、烟雾报警、水浸报警Multistate Input/Output多状态输入/输出多档位开关、模式切换Scenes场景场景保存和调用Groups组管理一键控制多个设备OTA Upgrade固件升级远程固件升级Basic Device Information基础设备信息设备发现、能力查询3.3 从“设备类型”到“集群映射”开发时首先要确定 ESP32-C6 对外扮演什么设备。不同设备类型需要注册的端点和集群不同。以温湿度传感器为例典型配置如下端点设备类型需要实现的集群Endpoint 1温度传感器Basic、Power Configuration、Temperature MeasurementEndpoint 2湿度传感器Basic、Relative Humidity Measurement以智能开关为例端点设备类型需要实现的集群Endpoint 1On/Off 设备Basic、On/Off、Groups、Scenes固件里会有一个“回调函数”处理网关下发的命令。比如收到 On/Off 命令时把 GPIO 拉高或拉低收到温度属性读取请求时从传感器读取数据并返回。这个回调机制是 ZCL 开发的主线。4. 适用场景与使用边界4.1 适合场景把 ESP32-C6 变成 Zigbee 设备适合以下场景自制 Zigbee 传感器。把温湿度传感器、PIR 人体传感器、空气质量模块接到 ESP32-C6 上通过 Zigbee 上报告警或数据。自制 Zigbee 开关。把继电器、MOS 管、可控硅接到 GPIO做成 Zigbee 控制的插座、灯控或水泵开关。自制无线按键。一个电池供电的 ESP32-C6 终端设备搭配按键按下时通过 Zigbee 发送命令控制网关或其他 Zigbee 设备。做 Zigbee 中继器。把 ESP32-C6 配置为路由器扩大整个 Zigbee 网络的覆盖范围。产品原型验证。在正式打板之前用开发板模拟最终设备的 Zigbee 行为验证网关兼容性和通信逻辑。4.2 不适合场景它不是全能的。以下场景需要谨慎需要超低功耗且长时间电池供电的场景。ESP32-C6 相比专用 Zigbee SoC 功耗更高终端设备的休眠策略需要仔细配置否则电池续航会明显变短。需要大量数据吞吐的场景。Zigbee 2.4GHz 物理层速率只有 250kbps不适合传输图片、音频或频繁的大数据包。对射频认证要求高的量产场景。单品量产前需要做无线认证比如 FCC、CE 等这部分不是软件能解决的。没有 Zigbee 网关节点的场景。如果用户家里没有 Zigbee 协调器单独一块 ESP32-C6 终端设备是没有意义的。4.3 使用边界与合规提醒Zigbee 设备加入网络时会涉及网络密钥、PAN ID、设备认证等多个安全环节。开发测试时建议使用独立网关和独立测试环境不要把生产环境的密钥随意暴露。涉及传感器采集、尤其是涉及人员活动、声音、图像等场景时要遵守当地隐私法规明确告知使用范围并取得必要授权。项目进入量产或商用阶段前应完成相关无线认证、软件合规检查和数据安全评估。5. 硬件准备与环境搭建5.1 硬件清单硬件数量说明ESP32-C6 开发板1 块必须带 802.15.4 天线推荐官方 DevKitC 或兼容板USB 数据线1 根用于供电和串口烧录Zigbee 网关1 个Home Assistant Zigbee2MQTT、CC2652P 协调器、Sonoff 协调器等传感器模块或继电器模块可选按设备类型选择杜邦线、面包板若干原型连接注意ESP32-C6 开发板的 USB 转串口芯片型号会影响驱动安装。常见的是板载 ESP32-C6 原生 USB-Serial-JTAG也可以用 CP2102、CH343 等外部芯片。第一次插上电脑如果设备管理器没识别出串口先安装对应驱动。5.2 三类开发环境选型开发 Zigbee 固件主要有三条路线环境优点适合场景ESP-IDF ESP-Zigbee-SDK官方支持功能完整可配置信道、角色、集群正式产品原型、深度定制Arduino ESP32 核心上手快库生态丰富快速验证、教学演示PlatformIO Arduino项目管理方便跨平台有多个硬件目标的项目从学习角度建议先走 ESP-IDF 路线因为 ESP-Zigbee-SDK 的示例更接近官方调试目标遇到问题也容易在文档里查到依据。如果只是快速验证“这块板能不能加入 Zigbee 网关”Arduino 路线也足够。5.3 软件检查清单安装完开发环境后先确认以下内容python、git是否可用。ESP-IDF 版本是否支持 ESP32-C6。一般来说用较新的 release 版本即可。是否安装了 ESP32-C6 的芯片目标支持。idf.py --version能正常输出版本号。串口驱动是否识别。6. 固件开发与烧录流程6.1 创建工程ESP-IDF 工程结构通常是这样的my_zigbee_device/ ├── CMakeLists.txt ├── main/ │ ├── CMakeLists.txt │ └── main.c ├── components/ │ └── esp-zigbee-sdk/ └── sdkconfig如果使用 ESP-Zigbee-SDK在工程中引入 Zigbee 组件后通过idf.py set-target esp32c6设置目标芯片再执行构建。6.2 最小固件结构下面是一个示意代码展示 Zigbee 终端设备固件的基本骨架// 示意代码接口名称可能随 SDK 版本变化 #include esp_zb_core.h #include esp_zb_ha.h #include esp_zb_zcl.h #include esp_zb_bdb.h static void zb_task(void *pvParameters) { /* 配置 Zigbee 平台启用原生 802.15.4 射频 */ esp_zb_platform_config_t config { .radio_config { .radio_mode ESP_ZB_RADIO_MODE_NATIVE, }, .host_config { .host_connection_mode ESP_ZB_HOST_CONNECTION_MODE_NONE, }, }; ESP_ERROR_CHECK(esp_zb_platform_config(config)); ESP_ERROR_CHECK(esp_zb_core_init()); /* 创建 endpoint注册 cluster见 SDK 示例 */ /* 启动入网流程以 JOIN 模式加入已有网络 */ esp_zb_bdb_start_top_level_commissioning(ESP_ZB_BDB_MODE_JOIN); while (1) { /* 处理事件循环 */ } } void app_main(void) { xTaskCreate(zb_task, zb_task, 4096, NULL, 5, NULL); }这里面最核心的是两个阶段平台初始化和配网。平台初始化让 802.15.4 射频跑起来配网让设备去寻找 Zigbee 协调器。实际项目中配网动作通常会绑定到一个 GPIO 按键上触发一次入网。也可以在开机后延迟一段时间自动进入配对模式方便首次使用。6.3 生成温湿度传感器设备和智能开关的区别温湿度传感器主要实现的是“上报属性”固件逻辑偏向传感器采集// 示意代码周期性读取传感器数据 while (1) { float temp read_temperature(); float humi read_humidity(); // 更新 ZCL 属性并上报 update_temperature_cluster(temp); update_humidity_cluster(humi); vTaskDelay(pdMS_TO_TICKS(5000)); }智能开关主要实现的是“接收命令”固件逻辑偏向 GPIO 控制// 示意代码收到开关命令后的处理 static void on_off_cmd_handler(bool on_off) { if (on_off) { gpio_set_level(RELAY_GPIO, 1); } else { gpio_set_level(RELAY_GPIO, 0); } }最后把on_off_cmd_handler挂到 ZCL 的 On/Off 集群回调里。网关下发开关命令时就会触发这个回调。6.4 编译与烧录在工程根目录执行# 设置编译目标芯片 idf.py set-target esp32c6 # 编译 idf.py build # 烧录并打开串口监视 idf.py flash monitor如果使用 Arduino IDE 或 PlatformIO流程也是类似的选择 ESP32-C6 开发板编译上传然后打开串口监视器观察日志。烧录前注意串口号。在 Linux 或 macOS 下可以先执行ls /dev/tty*查看Windows 下打开设备管理器确认 COM 口。7. 功能测试把 ESP32-C6 接入 Zigbee 网关固件烧录完成只是第一步。真正验证“智能设备”是否成立要看它能不能被 Zigbee 网关发现并控制。7.1 准备工作网关进入配对状态以 Zigbee2MQTT Home Assistant 为例打开 Zigbee2MQTT 的 Web 界面。点击“Permit join允许加入”。设置允许加入的时间窗口例如 2 分钟。如果使用的是 Home Assistant 自带 Zigbee 插件或 Sonoff Zigbee 网关在“设备”页面选择添加设备并进入配对模式即可。7.2 让 ESP32-C6 触发入网让 ESP32-C6 进入配网状态有两种常见方式固件里配置了入网按钮按下按钮触发ESP_ZB_BDB_MODE_JOIN。固件里开机延迟自动入网上电后等待数秒自动发起入网请求。从串口日志中可以看到设备扫描信道、寻找协调器、尝试加入网络的过程。部分协议栈会打印Network joined、Joined as router/end device之类信息。7.3 验证设备出现在网关Zigbee2MQTT 的 Web 界面会实时列出新发现的设备。一个典型的 ESP32-C6 终端设备会显示为“温湿度传感器”或“智能开关”并带有对应的设备类型图标。在 Home Assistant 的“设备”页面也可以看到新设备名称和所属集成。判断入网成功的标准网关设备列表出现新设备。设备名称和固件中设置的型号基本一致或至少能识别设备类型。设备可以正常上报属性和接收命令。网关后台日志没有频繁报错或超时。7.4 从网关发送控制命令如果 ESP32-C6 实现的是智能开关在 Zigbee2MQTT 的“设备”页面找到“on”和“off”按钮。点击“on”继电器或 LED 应该动作点击“off”设备应该恢复关闭状态。如果实现的是传感器在设备页面可以看到温度、湿度数值数值会按固件设置的上报周期刷新。7.5 重启与重连验证把 ESP32-C6 断电再上电观察它能否在数秒内自动重新加入同一个 Zigbee 网络。这一步很关键Zigbee 设备掉线重连能力直接影响实际使用体验。正常情况下终端设备使用上次保存的网络信息和密钥自动入网不需要再走一次配对流程。8. 消息交互、调试与批量任务机制8.1 Zigbee 消息在 ESP32-C6 内部怎么流转一次完整控制链路大致是Zigbee 网关发送 On/Off 命令 → 802.15.4 射频接收 → 网络层解析数据包 → APS 层确认端点和集群 → ZCL 层找到 On/Off 集群 → 回调函数触发 → GPIO 拉高/拉低反过来传感器上报GPIO 读取温度传感器 → 协议栈构造 Temperature Measurement 属性 → 打包成 Zigbee 数据帧 → 发给 Zigbee 网关 → 网关解析并更新设备状态理解这条链路有助于定位问题。例如“设备在网关中能看到但命令不生效”问题可能出在 ZCL 集群回调没有正确注册而“设备完全不上报数据”可能出在传感器读取或数据更新逻辑。8.2 调试方法调试 Zigbee 设备比调试普通串口设备多一层复杂性。常见调试手段包括串口日志。在固件中加入ESP_LOG或printf跟踪配网状态、属性读取、命令回调。网关日志。Zigbee2MQTT 的日志模式可以显示数据包内容便于确认消息是否到达。抓包。如果问题出在物理层或网络层可以借用带抓包功能的 Zigbee 工具查看空中报文但这一般在开发后期才需要。注意插入大量日志打印会增加处理延迟影响实时性。调试完成后正式构建最好关闭低级别日志。8.3 批量烧录与量产思路ESP32-C6 可以做批量部署这一点对产品原型验证很有价值。批量烧录的常见方式使用乐鑫官方工具esptool.py进行命令行烧录。多块开发板通过 USB Hub 同时连接使用脚本依次烧录。统一固件通过串口或 OTA 下发配置。为每一台设备预设一个唯一的 IEEE 地址或设备标识便于调试区分。批量任务的关键是有一个可重复的烧录流程。最好把烧录命令写成脚本# 示例脚本批量烧录多块 ESP32-C6 开发板 esptool.py --chip esp32c6 -p /dev/ttyUSB0 write_flash \ 0x0 build/bootloader.bin \ 0x8000 build/partition-table.bin \ 0x10000 build/my_zigbee_device.bin实际串口号、分区地址、固件路径需要以生成的 build 输出为准。8.4 与 Zigbee2MQTT 的配合Zigbee2MQTT 是开发阶段非常方便的验证工具。设备一旦被 Zigbee2MQTT 发现会自动转换成 MQTT 消息例如zigbee2mqtt/my_device/set表示下发设置命令zigbee2mqtt/my_device表示上报状态。通过 MQTT 调试工具你可以非常清楚地看到 ESP32-C6 上报的数据和网关下发的指令。9. 性能与稳定性观察9.1 内存与 flash 占用ESP32-C6 的片上 SRAM 为 512KB运行 Zigbee 协议栈、Wi-Fi 协议栈和应用代码时内存占用会比较敏感。具体内存占用要根据固件版本、集群数量、日志级别而定。建议采用以下观察方式编译结束后查看.map文件和idf.py size输出。运行阶段调用heap_caps_get_free_size统计可用堆内存。观察长时间运行后内存是否持续下降排查是否有内存泄漏。9.2 休眠与功耗终端设备可以进入休眠模式来省电。启用休眠后Zigbee 协议栈会定时唤醒与父节点通信。观察功耗时可以用功耗分析工具或电流表测量真实电流曲线。注意休眠策略会影响设备上报延迟休眠周期越长越省电但网关查询设备时的响应越慢。9.3 信噪比与范围问题Zigbee 与 Wi-Fi 同处 2.4GHz 频段。家中路由器密集时Zigbee 通信可能受到干扰。建议使用 Zigbee 信道扫描选择空闲信道。尽量避免把 Zigbee 协调器和 WiFi 路由器放得太近。开发板上天线区域不要被金属物体遮挡。如果设备安装位置距离网关较远考虑把 ESP32-C6 配置为路由器增强网络覆盖。9.4 提高稳定性设备入网后不是烧录完就结束了。长期运行稳定性取决于几个方面网络密钥是否稳定保存。设备断电重连逻辑是否健壮。是否处理了 ZCL 命令的异常输入。是否对传感器读取做了超时保护。是否有固件升级通道方便后续修复。10. 常见问题与排查方法问题现象可能原因排查方式解决方案开发板无法识别串口USB 驱动未装查看设备管理器安装对应 USB 转串口驱动编译报错提示找不到 esp32c6ESP-IDF 版本过旧执行idf.py --version升级 ESP-IDF 到支持 ESP32-C6 的版本固件烧录后日志不输出串口波特率不对或短按了 Boot检查 monitor 波特率重新进入烧录模式确认串口设备发现不到 Zigbee 网关网关未进入配对状态查看 Zigbee2MQTT 界面开启“允许加入”并重试设备能加入但命令不生效ZCL 集群回调未注册查看串口日志在固件中处理对应集群命令上报数据偶尔丢失信道干扰或电源不稳定查看网关日志和数据间隔换信道优化供电设备断电后无法重连网络信息保存不完整查看日志中网络参数检查 flash 存储确认 NV 保存正常内存持续下降协议栈或应用代码内存泄漏观察free heap曲线检查任务栈、动态分配、事件处理WiFi 和 Zigbee 同时用时卡顿射频共存调度问题测试 wifi 吞吐与 zigbee 上报核对 ESP32-C6 共存配置和天线隔离11. 最佳实践与扩展方向11.1 从最小系统开始第一版固件先不要做太复杂的功能。建议先以“一个 On/Off 开关”或“一个温度读数上报”为最小目标验证从编译、烧录到网关注册的整条链路。链路通了再逐步加传感器、加遥控、加场景联动问题定位会容易很多。11.2 保留一份最小可运行配置工程里建议保留一个minimal配置不要因为后续功能越来越多把最小可复现环境破坏掉。维护一份干净的最小工程对排查问题、确认芯片和 SDK 自身是否有改动非常有用。11.3 目录与配置管理对于批量项目建议把固件源码、编译产物、烧录脚本、网关配对记录分别管理例如project/ ├── firmware/ # 固件源码 ├── build/ # 编译输出 ├── tools/ # 烧录脚本、批量工具 ├── config/ # 设备配置、网络密钥模板 └── logs/ # 测试日志、网关日志设备数量多起来后建议记录每一块开发板的序列号、烧录固件版本、入网时间和网关设备名方便后期定位问题。11.4 版权、授权与合规提醒自研设备接入 Zigbee 网络时需要注意以下几点如果设备会采集位置、声音、图像或人员活动数据必须遵守隐私法规明确告知用户并取得合法授权。如果使用第三方传感器模块、算法库注意它们的开源协议和商用限制。如果做产品化要完成必要的无线认证和电源安全测试。不要把 Zigbee 网络密钥硬编码到公开固件中生产中应通过安全配置流程写入。11.5 后续扩展方向ESP32-C6 的优势是同时具备 Wi-Fi 6、BLE 和 802.15.4。做完 Zigbee 终端设备后可以继续尝试把 ESP32-C6 同时配置为 Zigbee 协调器和 Wi-Fi 桥接器做一个低成本 Zigbee 网关。在 ESP32-C6 上跑 Matter over Thread与 Zigbee 共存对比研究。结合 Wi-Fi BLE做多协议设备例如 BLE 配网 Zigbee 业务控制。做 Zigbee 到 MQTT 的透明桥接接入到自有物联网平台。12. 总结与下一步这个项目最值得尝试的一点是让一块几十元的开发板直接成为标准 Zigbee 智能设备。相比买成品 Zigbee 传感器它的价值在于可控想改成什么设备类型就写对应集群想扩展什么传感器就把传感器接到 GPIO 上。整套链路从协议栈到硬件都是开放的排错和定制都比黑盒设备方便。最先建议验证的功能是把设备成功加入 Zigbee 网关。这一步跑通了后面很多功能都是在这个基础上叠加。最容易踩的坑集中在三处ESP-IDF 版本与芯片支持不匹配导致编译失败网关未开启配对导致设备搜不到网络集群回调未注册导致设备入网但命令不生效。建议把这三点放在第一轮测试里重点检查。后续可以继续扩展的方向很多做多设备联动的 Zigbee 网络做低功耗终端做 Zigbee 到 MQTT 的桥接甚至做一个小型 Zigbee 网关原型。建议先保存一套可以稳定复现的烧录和入网流程后续开发都基于这套流程走。这个项目适合动手实践也适合作为 Zigbee 协议学习和智能家居原型开发的起点。
返回列表