M-Design设计竞赛 - zigbee调试器
该项目使用了ESP32-C6,实现了zigbee调试器的设计,它的主要功能为:在esp32-c6实现了一个串口REPL的功能,根据串口输入指令,可以作为zigbee调试器来调试zigbee设备。
标签
ESPIDF
ZigBee
ESP32-C6
_剑山
更新2025-04-02
22

一、项目介绍与创意介绍

本项目是参加2025贸泽电子M-Design创意设计竞赛的方向三:无线通信、物联网 作业。

本项目基于乐鑫官方ESP-Zigbee-SDK开发,旨在构建一款支持串口REPL(交互式命令行)​的Zigbee调试工具,帮助开发者快速接入现有Zigbee网络,实现设备通信调试、网络拓扑分析及数据包捕获功能。其核心创意在于将复杂的Zigbee协议栈操作封装为简单易用的命令行指令,大幅降低Zigbee开发门槛


创意亮点

  1. REPL交互模式:通过串口输入指令直接控制Zigbee设备,如加入网络、发送数据、查询节点状态等。
  2. 跨平台兼容性:支持通过USB转串口模块连接PC或嵌入式主机,适配多种开发环境。
  3. 协议透明化:将ZCL、ZDA、ZGP、ZDO等指令封装为文本命令,简化设备间通信流程。

二、硬件设计简介

项目硬件基于ESP32-C6芯片(支持Zigbee 3.0协议)开发。

  • 主控芯片:ESP32-C6,集成2.4GHz射频与RISC-V内核,支持低功耗模式。
  • 其他设备:ESP-PROG(实现与PC串口通信)

三、方案框图与设计思路

整体架构

image.png

设计思路

  1. 模块化分层
    • 应用层:REPL命令行解析器,将用户输入转换为Zigbee API调用。
    • 协议栈层:基于ESP-Zigbee-SDK实现网络加入、数据包封装/解析
    • 硬件抽象层:串口驱动、射频配置及低功耗管理。
  2. 关键流程
    • 设备上电后初始化Zigbee协议栈
    • 用户通过串口发送指令(如panid 0x1234 设置连接的panid、channel 25设置连接的通道),协议栈响应并返回操作结果。

四、软件流程图与关键代码

软件流程图

启动初始化 → 协议栈配置 → 串口监听 → 解析指令 → 执行Zigbee操作 → 返回响应  

关键代码片段

  1. Zigbee网络初始化​(基于ESP-Zigbee-SDK):
void app_main(void) {
    esp_zb_platform_config_t config = {
        .radio_config = ESP_ZB_DEFAULT_RADIO_CONFIG(),
        .host_config  = ESP_ZB_DEFAULT_HOST_CONFIG(),
    };
    ESP_ERROR_CHECK(nvs_flash_init());
    ESP_ERROR_CHECK(esp_zb_console_init());
    ESP_ERROR_CHECK(esp_zb_platform_config(&config));
    xTaskCreate(zb_stack_main_task, "Zigbee_main", 4096, NULL, 5, NULL);
    ESP_LOGI(TAG, "Start ESP Zigbee Console");
    ESP_ERROR_CHECK(esp_zb_console_start());
}

static void zb_stack_main_task(void *pvParameters) {
    zb_stack_init();


    /* Do not call `esp_zb_start()`.
     *
     * We want the timing of starting the stack to be mananged by CLI,
     * so that we have a chance to do configurations on the stack.
     *
     */


    esp_zb_stack_main_loop();


    esp_zb_console_deinit();
    vTaskDelete(NULL);
}

​五、PCB

原理图

image.pngimage.png

layout图

image.png

3D图

image.png

PCB实物图片



六、软件工作截图及实物演示

image.png

1743565180102.png




、竞赛心得体会与建议

心得

  • 模块化设计至关重要:将协议栈、硬件驱动与业务逻辑解耦,提升代码可维护性
  • 文档与调试工具:善用ESP-Zigbee-SDK的调试日志功能,结合Wireshark抓包加速开发

​七、附件说明

项目资源已上传至电子森林平台(设计资源-附件):

  • 代码文件250203_esp32c6_zigbee_dongle.zip(包含完整工程与编译说明)。


附件下载
250203_esp32c6_zigbee_dongle.zip.001
250203_esp32c6_zigbee_dongle.zip.002
250203_esp32c6_zigbee_dongle.zip.003
250203_esp32c6_zigbee_dongle.zip.004
团队介绍
个人
评论
0 / 100
查看更多
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2024 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号