用语音或文字指挥 AI 智能体,
为 ESP32 板卡完成「写固件 → 编译 → OTA 部署 → 遥测验收 → 经验沉淀」的完整闭环
核心链路已验证、架构完整、持续迭代中的系统原型。双层自进化,人在环兜底。
我做的事:架构成什么样、硬件怎么接、问题怎么定位、最终怎么验收。 AI 负责写码与编译这类执行动作——但不是 AI 替我决定了上面这四件事。
An MCP (Model Context Protocol) server that turns an LLM agent into a hardware developer — firmware build / flash / OTA deployment, telemetry self-validation, TTS broadcasting, a tool factory, an experience memory, and a plugin poller for self-evolving capabilities. Bridges AI agents (voice or chat) to ESP32 boards over MQTT/HTTP/WebSocket. Python (asyncio), MIT licensed.
独立开发 · 跌倒检测 独立开发 · EvoAgent 独立开发 · 语音板 团队项目 · 体征监测 规划中 · 陪伴机器宠物
← 活体演示:本站的数据看板直连我这套系统的真实运行数据,不是截图。
先看数字
每个数字都标注了测量上下文;没测过的一律写"未测量",不做估算。
Invoke() 耗时系统长什么样
┌──────────────┐
│ 用户 │
└──────┬───────┘
语音「你好小智」 │ 文字(DSH 会话)
│ │ │
▼ ▼ ▼
┌──────────────────┐ ┌────────────────────────────┐
│ 语音链路 │ │ 智能体层 │
│ │ │ ┌──────────────────────┐ │
│ 语音板 │ │ │ DSH-1 干活者 │ │
│ (evo-voice- │ │ │ 写代码/编译/部署/排障 ◄── ┼── 插件装入
│ terminal) │ │ └──────────┬───────────┘ │
│ │ WS/opus │ │ │ 能力缺口 │
│ ▼ │ │ ▼ │
│ xiaozhi-server │ │ ┌──────────────────────┐ │
│ ASR→LLM→TTS │ │ │ DSH-2 进化者 │ │
└────────┬─────────┘ │ │ (隔离环境开发插件) │──┼── req_*.json
│ │ └──────────────────────┘ │
│ 工具调用 └────────────────────────────┘
▼
┌───────────────────────────────────────────────────┐
│ 能力中枢 (fall-mcp) —— 51 工具 │
│ 部署/烧录/播报/自验收/门控/工具工厂/经验库/插件轮询│
└───────┬──────────────────────────┬────────────────┘
│ MQTT / HTTP / OTA │ 遥测 · 事件回流
▼ ▲
┌───────────────────────────────────────────────┐
│ 硬件层 —— ESP32 板卡 │
│ 跌倒检测板 · 云端烧录板 · 业务板(OTA 双分区) │
└───────────────────────────────────────────────┘
进化回流:工具工厂/经验库 → 注入下一次任务 · DSH-2 插件 → 装入 DSH-1
人在环:关键决策经语音板播报确认(confirm 队列)——AI 全自动不可信
完整机制说明见 EvoAgent 自进化系统。
项目
60 GHz 毫米波雷达做初筛状态机,触发后用摄像头跑 96×96 灰度 INT8 小模型做二次确认, 多帧投票判决,在 ESP32-S3 上完成端侧判定——断网可用、图像不出设备。
独立开发端侧 AI雷达 + 视觉
不是"我用 AI 写代码",而是"我设计了一套让 AI 可靠干活的流程"。 双层自进化:进化"手"(工具与经验)+进化"大脑"(自造插件),全程可审计、可回滚。
独立开发MCP自进化
基于 xiaozhi-esp32 的板卡定制包:裸 I2S 方案,INMP441 数字麦克风 + MAX98357A 数字功放, 没有 I2C codec。5 小时从零 bring-up,含一份完整接线表与四连坑复盘。
独立开发I2S排障
工作室团队项目:我负责硬件全栈(原理图 / PCB / 打样 / 板级调试 / 整机装配) + 涂鸦配网策略 + 平台产品化。其他模块由队友完成,架构我能讲,细节不替他们说。
团队项目 · 我负责硬件与产品化涂鸦 IoT
工程日志:13 个真实事故
这部分是我认为最值得看的内容——大多数项目介绍只讲"做成了什么", 而怎么找到根因才是工程能力真正的证据。
我从 13 个真实排障事故里挑出 6 个成体系地写了下来:现象 → 证据 → 排除过程 → 根因 → 修复 → 方法论。 包括一次「无日志复位」的硬件级定位(最终是功放瞬态电流拉垮电源轨触发欠压复位)。
真话
它的边界在哪
- OTA 只有 fail-safe(下载/写入/校验失败就继续跑旧固件),没有 bootloader 级"新固件启动崩溃自动退回"
- 跌倒板的 v1.7.0 / v1.8.0 尚未上板验证(v1.0.1→v1.6.1 验证过)
- 模型指标是帧级的,不等于事件级检出率
- 系统 node 18 与 DSH 所需的 node ≥20 分工共存,靠包装脚本切换
我踩过并写下来的坑
- 把"固定步长乱码"当成随机噪声 —— 其实是位错位
- 无日志复位先怀疑软件死循环 —— 应该先查电
- 以为"校验逻辑存在"就等于"校验有效" —— 实测发现它从来没生效过
- 把安全扫描器的误报当噪声忽略 —— 误报本身不危险,"告警疲劳"才危险