语音卫星硬件 (Voice Satellites)
概念速览
- 语音卫星 (Voice Satellite):放置在房间里的远端拾音 / 播音设备,把音频流通过局域网喂给中央 STT / LLM / TTS 服务
- 代表项目:Home Assistant Voice PE、Rhasspy Satellite、ESPHome Voice Assistant
主流硬件
| 硬件 | 麦克风 | 扬声器 | 屏幕 | 适用 |
|---|---|---|---|---|
| ESP32-S3 Box 3 | 双麦 | 1 W | 2.4” 触控 | 入门 / DIY |
| ESP32-S3 Box LB | 双麦 | 1 W | 无 (LED) | 极简卧室 |
| ReSpeaker 4-Mic Array | 4 麦 | 3.5mm 输出 | 无 | 拾音增强 |
| Atmos 7” Echo | 4 麦 | 5 W | 7” 触控 | 厨房中控 |
| Home Assistant Voice PE | 双麦 | 1 W | 圆形 LED | HA 官方 |
Wyoming 协议
┌──────────┐ audio_chunk ┌──────────┐ transcript ┌──────────┐│ Satellite│ ────────────▶ │ STT 服务 │ ────────────▶ │ Agent ││ (ESP32) │ │ (Whisper) │ │ (LLM) │└──────────┘ └──────────┘ └──────────┘ ▲ │ │ synthesized_audio │ └────────────────────────────────────────────────────┘- 音频格式:Opus 16 kHz mono (默认)
- 服务发现:mDNS / ZeroConf,零配置
- 传输:WebSocket (8765) 或 raw TCP
部署模式
- 多房间协同:每房间 1 个卫星 + 1 个中央服务
- 唤醒词:openWakeWord (本地) / Porcupine (商业)
- 指示反馈:LED 环 / 屏幕表情 (静音 / 唤醒 / 处理中)
📋 复现条件
| 类别 | 必备 | 可选 / 备注 |
|---|---|---|
| 硬件 | ESP32-S3 Box / ReSpeaker XVF3800 / ATOM Echo 1 个 · HA 主机 | 多个卫星 (每房间) |
| 操作系统 | HAOS 14+ · 烧录端 macOS / Linux / Windows | — |
| 软件版本 | ESPHome 2024.10+ · Wyoming 协议 1.5+ · Whisper small-int8 | Piper zh_CN 1.0+ |
| 网络 | 2.4 GHz Wi-Fi · mDNS 通 | 网线给 Satellite (推荐) |
| 账号 | 无 | — |
| 时间 | 烧录 ESP32 10 min · 配 wake word 5 min · 联调 20 min | 每加一个卫星 +15 min |
| 难度 | ⭐⭐⭐ 进阶 | 唤醒词需要反复调灵敏度 |
| 前置知识 | HA 基础 · 串口烧录 | YAML / ESPHome |
⛔ 别这么做 (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 没看门狗、刷机中途断电 |