局域网本地语音 + LLM 中控
架构拓扑
[ESP32 麦克风阵列] │ ▼ (Opus 音频流 - Wyoming 协议)[家庭服务器 / 端侧 NPU] ├── 语音唤醒 (openWakeWord) ├── 语音转文字 (faster-whisper) ├── 语义决策 (本地 LLM + Function Calling) └── 文本转语音 (Piper TTS) │ ▼ (REST / WebSocket / MQTT)[Home Assistant / 智能设备]核心选型
拾音前端
- ESP32-S3 Box 3:官方参考设计,集成双麦 + 屏幕
- ReSpeaker 4-Mic Array:XMOS 4 麦 + 3.5mm 输出
- ATK-DLMP258B / DFRobot SEN0539:国产替代,性价比高
计算底座
| 硬件 | 算力 | 跑 LLM | 跑 Whisper | 适合场景 |
|---|---|---|---|---|
| 树莓派 5 (8GB) | 弱 | 1.5B Q4 | tiny.en | 验证 / 极轻量 |
| Intel N100 mini-PC | 中 | 7B Q4 | small.en | 主流方案 |
| NVIDIA Jetson Orin Nano | 强 | 7B Q5 + 视觉 | medium.en | 全栈 |
| Apple M2 Mac mini | 极强 | 14B Q4 | large-v3 | 重度 |
Agent 协议
- MCP (Model Context Protocol):Anthropic 提出,标准 LLM ↔ 工具协议
- Home Assistant Tool API:HASS 内置 REST + WebSocket
- OpenAI Function Calling:兼容 GPT / Qwen / Llama 工具调用
部署步骤
- 硬件:N100 小主机 + 1 × ESP32-S3 拾音 + 1 × Home Assistant
- 服务栈:Home Assistant + Rhasspy / Wyoming + Ollama + OpenWakeWord
- 集成:通过 HASS 官方
conversation组件 + 自定义 LLM API 暴露设备 - 离线优先:Whisper / Piper 模型本地化;只在大模型上做意图分类
⛔ 别这么做 (Anti-patterns)
经验证的坑 —— 跳过 = 至少浪费半天,严重的烧板 / 锁机。
| ❌ 错误做法 | 💥 后果 | ⚠️ 风险 | 范围 |
|---|---|---|---|
| 不要在断电前直接拔 Valetudo 改装中的 USB-TTL | 刷机中途断电 = 变砖。先 dmesg 确认串口没掉再操作。 | 🟡 | 智米扫拖一体 / Roborock S5 Max |
| 不要把米家设备 token 上传到任何第三方云 | token = 设备控制权,泄漏 = 任何人可远程开门。 | 🔴 | 所有米家 / Aqara 设备 |
不要在生产 HA 配置里直接编辑 configuration.yaml 后 check_config 不通过就 reload | 错的 reload 会让 HA 启动失败 → 所有自动化停摆。用 configuration.yaml 备份 + git 版本化。 | 🟢 | Home Assistant |
| 不要给 Frigate 摄像头内网用 admin/admin 默认密码 | RTSP / ONVIF 默认账号 = 局域网裸奔。先改密码。 | 🟡 | 海康 / 大华摄像头 |
| 不要在 ESPHome 设备上直接 OTA 升级到主版本 (major) | 主版本常改 NVS 分区。OTA 升级后启动失败 = 拆壳刷机。先 flash USB 一次。 | 🟡 | ESP32-S3 语音卫星 / 智能开关 |
| 不要在智能家居自动化里写死设备 IP | DHCP 重启后 IP 变 = 自动化失效。用 hostname / mDNS / 静态租约。 | 🟢 | Home Assistant / Hubitat |
| 不要在 Matter 设备首次配对时关掉手机蓝牙 | Matter 配对 = BLE → WiFi handover,全程需要蓝牙。 | 🟢 | Aqara M3 / Apple Home |
🚨 风险总览 (Risk Matrix)
| 风险等级 | 含义 | 例子 |
|---|---|---|
| 🟢 低 | 改错可回滚 / 几分钟恢复 | pip 全局装包、DHCP IP 写死 |
| 🟡 中 | 需要重新刷机 / 重装 / 1-2 小时恢复 | 装错 ROS 2 版本、没 OTA 升级看版本 |
| 🔴 高 | 不可逆 / 烧板 / 安全风险 | 电池反接、micro-ROS 没看门狗、刷机中途断电 |