外观
软件架构总览
应用层 Application
WiFi Manager
Serial Bridge
LCD Menu UI
Web Server
AI Assistant
中间件层 Middleware
TCP Server
HTTP Server
WebSocket
JSON Protocol
驱动层 Drivers
UART Driver
SPI Driver
GPIO/PCNT
RMT (I2C)
LEDC (PWM)
ESP-IDF / FreeRTOS HAL
🔌 串口桥接 (Serial Bridge)
serial/serial_bridge.c (180行)
serial/serial_bridge.h
serial/serial_bridge.h
UART1 双向透传,Stream Buffer 缓冲 2048 字节
支持运行时波特率切换:9600/115200/460800/921600
独立 MCP 数据流,不与 Web/TCP 客户端竞争
RX/TX 原子计数器,支持 Web 实时查询
引脚动态重映射 (pin_config_repin)
FreeRTOS 事件队列驱动,8 优先级任务
📱 LCD 菜单系统 (Menu UI)
lcd/menu_ui.c (650行)
lcd/lcd_driver.c (320行)
lcd/cjk_font.c (中文点阵)
lcd/HZK16 + uni2gb.bin (字库)
lcd/lcd_driver.c (320行)
lcd/cjk_font.c (中文点阵)
lcd/HZK16 + uni2gb.bin (字库)
9 个菜单页面:主页/状态/数据监控/SWD/配置/PWM/SPI/I2C/AI
80×160 像素,20×5 字符,RGB565 帧缓冲
ST7735S SPI 驱动,20MHz 像素时钟
中文 CJK 字库嵌入 (HZK16),支持中英文混排
5Hz 渲染任务 (8KB 栈),S8050 PWM 背光调光
Web 端远程模拟按键 (menu_simulate_button)
🌐 网络服务 (Network)
net/tcp_server.c — TCP 端口 3333
net/http_status.c — HTTP 端口 80
net/ws_server.c — WebSocket
net/dap_server.c — CMSIS-DAP 端口 5555
net/protocol.h — JSON 协议定义
net/http_status.c — HTTP 端口 80
net/ws_server.c — WebSocket
net/dap_server.c — CMSIS-DAP 端口 5555
net/protocol.h — JSON 协议定义
TCP Server 多客户端广播,原始数据透传
HTTP REST API:/api/status /api/baud /api/send
WebSocket 双向 JSON,base64 编码数据帧
CMSIS-DAP TCP 服务器,兼容 OpenOCD
JSON 协议:uart/cfg/wifi/swd/btn/status 6 种消息类型
📊 信号监控 (Monitors)
pwm_mon.c — PWM 频率/占空比 (140行)
spi_mon.c — SPI Slave 捕获 (200行)
i2c_mon.c — I2C Slave/Passive (250行)
clk_mon.c — 时钟频率测量
spi_mon.c — SPI Slave 捕获 (200行)
i2c_mon.c — I2C Slave/Passive (250行)
clk_mon.c — 时钟频率测量
PWM:双沿中断 + esp_timer,Hz~50kHz,支持 LEDC 输出
SPI:硬件 SPI Slave DMA 捕获,环形缓冲 50 条事务
I2C:Slave 模式可靠捕获 + Passive RMT 嗅探
I2C 支持 Master 发送/接收,兼容寄存器读写模式
所有监控器支持 Web/MCP 远程读取和清空
🧱
FreeRTOS 多任务
UI 渲染 (5Hz/8KB栈)
UART 事件 (高优先级)
TCP/HTTP/DAP 服务器
各监控器独立任务
UART 事件 (高优先级)
TCP/HTTP/DAP 服务器
各监控器独立任务
📦
模块化设计
16 个 .c/.h 文件
6 个子目录分层
ESP-IDF 组件化编译
独立头文件 API 定义
6 个子目录分层
ESP-IDF 组件化编译
独立头文件 API 定义
🔄
事件驱动架构
UART 事件队列
GPIO 中断 (按键/PWM)
WiFi 事件回调
WebSocket 异步推送
GPIO 中断 (按键/PWM)
WiFi 事件回调
WebSocket 异步推送
💾
NVS 持久化
WiFi 凭据存储
引脚功能映射
波特率配置
跨重启自动恢复
引脚功能映射
波特率配置
跨重启自动恢复
🌐
多协议并行
TCP:3333 (串口透传)
HTTP:80 (Web 管理)
WebSocket:80 (实时)
TCP:5555 (CMSIS-DAP)
HTTP:80 (Web 管理)
WebSocket:80 (实时)
TCP:5555 (CMSIS-DAP)
🧩
嵌入式资源
HZK16 中文字库 (260KB)
uni2gb 映射表 (130KB)
EMBED_FILES 编译进固件
PSRAM 帧缓冲分配
uni2gb 映射表 (130KB)
EMBED_FILES 编译进固件
PSRAM 帧缓冲分配
通信架构
🤖
AI 助手 →
📡
MCP Server →
🌐
HTTP REST →
📡
ESP32 设备 →
🔌
DUT 硬件 MCP 协议
JSON-RPC over stdio
AI 工具 ↔ MCP Server
HTTP REST
GET/POST JSON
MCP Server ↔ ESP32
硬件接口
UART/SPI/I2C/PWM
ESP32 ↔ DUT 目标设备
连接管理
connect_device(ip)连接设备,首次需提供 IP
disconnect_device()断开当前连接
get_status()WiFi/IP/波特率/收发计数
串口操作
read_serial(max)读取串口数据(独立缓冲区)
send_serial(data)发送串口数据
set_baud(baud)设置波特率
PWM / SPI / I2C
read_pwm() / send_pwm()PWM 读/发
read_spi() / send_spi()SPI 读/发
read_i2c() / send_i2c()I2C 读/发
系统管理
get_pins() / set_pins()引脚协议分配
press_button(btn)模拟按键
clear_buffer()清空缓冲区
🔧 安装配置
安装依赖 :pip install mcp httpx
Claude Code :claude mcp add wireless-debugger -- python mcp_server.py
Claude Desktop :编辑 claude_desktop_config.json 添加 mcpServers
Cursor :编辑 ~/.cursor/mcp.json 添加配置
首次连接 :AI 自动询问设备 IP,输入后保存到 mcp_config.json
自动重连 :下次启动自动加载已保存的 IP
📁 MCP Server 文件
mcp/
├── mcp_server.py 主程序 FastMCP 服务器,18 个工具 + 1 个资源
├── requirements.txt 依赖 mcp>=1.0.0, httpx>=0.27.0
├── mcp_config.json 配置 设备 IP (首次连接后自动生成)
└── config.json 模板 Claude Desktop 配置示例
💡 应用场景
🔌
远程串口调试
AI 通过 MCP 读取 DUT 串口输出,分析日志,发送命令控制设备,无需坐在设备旁边
📊
自动化测试
AI 编写测试脚本,通过 MCP 批量发送 SPI/I2C 命令,自动验证硬件响应
🔧
故障诊断
AI 读取 PWM/SPI/I2C 信号数据,自动分析异常波形、时序问题、通信错误
📚
数据记录
MCP 持续采集传感器数据(I2C/SPI),AI 实时分析趋势并生成报告
🧩
硬件验证
新 PCB 打样后,AI 通过 MCP 自动测试所有接口(UART/SPI/I2C/PWM),快速验证硬件
🤖
AI 驱动开发
结合 EasyEDA MCP + 本项目 MCP,AI 从原理图设计到硬件调试全流程自动化



