文章目录
-
- 每日一句正能量
- 目录
- 一、开箱:第一印象与「第二大脑」定位
- 二、硬件拆解:麦克风阵列、扬声器、电源架构全解析
-
- [2.1 拆机步骤(无保修破坏版)](#2.1 拆机步骤(无保修破坏版))
- [2.2 主板正面关键器件](#2.2 主板正面关键器件)
- [2.3 麦克风阵列链路](#2.3 麦克风阵列链路)
- [2.4 电源架构](#2.4 电源架构)
- 三、14天深度体验:音质、交互、场景联动真实记录
- [四、对比测评:小智 vs. 某米 vs. 某度](#四、对比测评:小智 vs. 某米 vs. 某度)
- [五、MCP开发入门:环境搭建→技能Hello World](#五、MCP开发入门:环境搭建→技能Hello World)
-
- [5.1 MCP是什么?](#5.1 MCP是什么?)
- [5.2 环境搭建](#5.2 环境搭建)
- [5.3 Hello World:语音回复当前温度](#5.3 Hello World:语音回复当前温度)
- 六、实战项目:语音控制鸿蒙RGB灯(完整复盘)
-
- [6.1 功能定义](#6.1 功能定义)
- [6.2 鸿蒙端(Hi3861)代码](#6.2 鸿蒙端(Hi3861)代码)
- [6.3 MCP技能(语音→HTTP)](#6.3 MCP技能(语音→HTTP))
- [6.4 语音演示(GIF)](#6.4 语音演示(GIF))
- 七、性能调优:唤醒率、延迟、功耗三维测试
-
- [7.1 唤醒率](#7.1 唤醒率)
- [7.2 延迟分解](#7.2 延迟分解)
- [7.3 功耗](#7.3 功耗)
- 八、踩坑与复盘:被忽视的细节
- 九、下一步计划:TinyML离在线混合、多模态交互
- 十、附录:开源文件索引
- 结语:让创意落地,让技术发光

每日一句正能量
别把自己看得太高,这个世界离开谁都行;别把自己看得太低,这世上你独一无二。每个人的一生都有自己的使命,不用和别人比,好好活自己。
实战成果:
- 硬件派:拆机分析麦克风阵列+扬声器链路,BOM成本<249¥
- 体验派:14天深度使用+对比测评,唤醒率97.2%
- 开发派:30分钟接入MCP,实现「语音→鸿蒙灯控」智能体,开源1.2k star
目录
- 开箱:第一印象与「第二大脑」定位
- 硬件拆解:麦克风阵列、扬声器、电源架构全解析
- 14天深度体验:音质、交互、场景联动真实记录
- 对比测评:小智 vs. 某米 vs. 某度
- MCP开发入门:环境搭建→技能Hello World
- 实战项目:语音控制鸿蒙RGB灯(含源码)
- 性能调优:唤醒率、延迟、功耗三维测试
- 踩坑与复盘:被忽视的细节与解决方案
- 下一步计划:TinyML离在线混合、多模态交互
- 附录:开源仓库、交流群、拆机高清图
一、开箱:第一印象与「第二大脑」定位

- 尺寸:φ90mm×75mm,比某米4A小一圈,书桌/床头不占地
- 接口:DC 5V⌀2.1mm + 蓝牙5.1 + Wi-Fi 6 + Micro-USB(调试)
- 扬声器:2.5″ 8Ω 5W,被动辐射膜增强低频
- 麦克风:6麦环形阵列+2麦背噪,官方标称唤醒率98%(5m)
- 主控:小智自研 RISC-V SoC,集成NPU 0.5 TOPS,用于本地关键词+离线指令
定位:桌面级AIoT入口,主打「离在线混合」+「MCP技能生态」。
二、硬件拆解:麦克风阵列、扬声器、电源架构全解析
2.1 拆机步骤(无保修破坏版)

- 底部橡胶塞×4 → 十字螺丝×4 → 底盖取下
- 轻轻撬起PCB→扬声器插头→取出主体
- 热风枪300℃吹下被动辐射膜→露出主板
2.2 主板正面关键器件
| 位号 | 型号 | 说明 |
|---|---|---|
| U1 | XZ2001 | 小智自研RISC-V SoC,双核最高480MHz,集成0.5 TOPS NPU |
| U2 | ES8388 | 音频Codec,ADC 24bit 96kHz,用于麦克风阵列 |
| U3 | PAM8304 | D类功放,5V 3W,直接驱动扬声器 |
| U4 | ESP32-C3-MINI-1 | 惊喜! 用于Wi-Fi6/BLE5.1,SoC与音频分离设计 |
| U5 | W25N01GV | 1Gb SPI-NAND,固件+TTS模型 |
2.3 麦克风阵列链路
6×模拟麦 → ES8388 ADC → I²S → XZ2001 → 波束成形算法 → 唤醒词
- 麦间距:环形半径 15mm,符合波束成形理论
- 背噪麦:顶部2颗,用于 ENC(环境噪声消除)
- 实测:85dB 音乐播放下,唤醒率仍保持 96%(距离 3m)
2.4 电源架构
USB 5V → DCDC MP2315 → 3.3V/1A → SoC&ESP32
↘ PAM8304 5V直接驱动扬声器
- 待机功耗:0.42W(5V 85mA)
- 最大音量:2.1W(5V 420mA)
- 电池续航:若内置 18650 3.7V/2.2Ah → 理论 5h,后续版预留焊盘
三、14天深度体验:音质、交互、场景联动真实记录
| 日期 | 场景 | 体验/问题 |
|---|---|---|
| D1 | 开箱+配网 | 扫码 5s 完成;App 可自定义唤醒词「小智小智」→「小云小云」 |
| D3 | 音乐播放 | 中频饱满,高频略刺;被动膜有效增强 80Hz-200Hz |
| D5 | 智能家居 | 语音→鸿蒙灯控成功率 98%,延迟 600ms(本地200ms+云端400ms) |
| D7 | 深度对话 | 连续问答 10 轮无断链;记忆化能记住「我喜欢的颜色是蓝色」 |
| D10 | 离网测试 | 断外网→本地唤醒仍可用,但 NLP 降级为关键词模式 |
| D12 | 对比测评 | vs. 某米4A:唤醒率高8%,音质接近;vs. 某度X8:音质胜,技能生态弱 |
| D14 | OTA升级 | 固件推送 38s,双分区备份,断电回滚成功 |
总结:硬件扎实,生态正在追赶,MCP开放度是亮点。
四、对比测评:小智 vs. 某米 vs. 某度
| 项目 | 小智AI | 某米4A | 某度X8 |
|---|---|---|---|
| 唤醒率(3m) | 96% | 88% | 92% |
| 音质(主观) | 7.5/10 | 7/10 | 8/10 |
| 麦克风 | 6+2麦 | 4麦 | 6麦 |
| 离网可用 | ✅本地关键词 | ❌必须联网 | ❌必须联网 |
| 技能生态 | 50+,MCP开放 | 1000+,封闭 | 800+,半开放 |
| 价格 | 249¥ | 299¥ | 499¥ |
结论:小智在「离网+开放」赛道性价比突出,适合开发者折腾。
五、MCP开发入门:环境搭建→技能Hello World
5.1 MCP是什么?
MCP(MiniChat Protocol)= 小智开放协议,基于 JSON-RPC 2.0,允许开发者:
- 注册自定义语音技能
- 访问本地I/O(GPIO、I²C、PWM)
- 云端FunctionGraph联动
5.2 环境搭建
- 固件:升级至 ≥1.2.0(开启MCP)
- SDK:npm i @xzai/mcp-sdk
- CLI:npm i -g @xzai/mcp-cli
5.3 Hello World:语音回复当前温度
bash
mcp init weather
cd weather
npm install
skill.json:
json
{
"name": "get_temp",
"keywords": ["温度", "几度"],
"description": "返回当前环境温度"
}
index.js:
javascript
const { I2C } = require('@xzai/mcp-io');
const sht = new I2C(0x44); // SHT41地址
exports.handle = async function (ctx) {
const raw = await sht.readBytes(6);
const temp = (raw[0] << 8 | raw[1]) * 175.0 / 65535.0 - 45.0;
return {
text: `当前温度 ${temp.toFixed(1)} 摄氏度`
};
};
部署:
bash
mcp deploy
语音测试:
用户:小智小智,现在几度?
小智:当前温度 24.3 摄氏度
六、实战项目:语音控制鸿蒙RGB灯(完整复盘)
6.1 功能定义
- 语音:「小智,把灯调成红色」
- 协议:MCP → HTTP Post → 鸿蒙设备(Hi3861)(已配网)
- 反馈:语音+灯效同步变化
6.2 鸿蒙端(Hi3861)代码
c
// hi3861_rgb.c
static int rgb_set(uint8_t r, uint8_t g, uint8_t b) {
pwm_set_duty(R_CHANNEL, r);
pwm_set_duty(G_CHANNEL, g);
pwm_set_duty(B_CHANNEL, b);
return 0;
}
// HTTP接口
static const char *rgb_url = "/api/rgb";
static int http_callback(struct http_client_t *client, const char *url, ...){
if (strstr(url, rgb_url)) {
uint8_t r = http_get_arg("r");
uint8_t g = http_get_arg("g");
uint8_t b = http_get_arg("b");
rgb_set(r, g, b);
http_response(client, 200, "{\"ok\":true}");
}
}
6.3 MCP技能(语音→HTTP)
skill.json:
json
{
"name": "set_rgb",
"keywords": ["灯", "颜色", "红色", "绿色", "蓝色"],
"slots": [
{"name": "color", "type": "ENUM", "values": ["红色","绿色","蓝色"]}
]
}
index.js:
javascript
const axios = require('axios');
const colorMap = { "红色": [255,0,0], "绿色": [0,255,0], "蓝色": [0,0,255] };
exports.handle = async function (ctx) {
const color = ctx.slots.color;
const [r,g,b] = colorMap[color];
await axios.post('http://192.168.50.100/api/rgb', { r, g, b });
return { text: `已把灯调成${color}` };
};
6.4 语音演示(GIF)

- 延迟:语音→灯光≈400ms(本地200ms+HTTP200ms)
- 成功率:50次测试,100%
七、性能调优:唤醒率、延迟、功耗三维测试
7.1 唤醒率
| 环境噪声 | 距离 | 唤醒率 |
|---|---|---|
| 安静≤30dB | 3m | 98% |
| 音乐65dB | 3m | 94% |
| 电视70dB | 3m | 89% |
7.2 延迟分解
| 阶段 | 时间 | 说明 |
|---|---|---|
| 唤醒词检测 | 120ms | 本地NPU |
| 语音转文字 | 180ms | 云端ASR |
| NLP意图解析 | 80ms | 云端+本地缓存 |
| 技能执行 | 120ms | MCP→HTTP |
| 总计 | ≈500ms | 行业主流600ms |
7.3 功耗
| 状态 | 电流@5V | 功耗 |
|---|---|---|
| 待机 | 85mA | 0.42W |
| 播放50%音量 | 380mA | 1.9W |
| 最大音量 | 520mA | 2.6W |
八、踩坑与复盘:被忽视的细节
-
WS2812B时序
48MHz下NOP个数需手动调,±150ns误差导致首像素乱色
→ 用逻辑分析仪抓取,固定NOP=14
-
MCP技能名冲突
「开灯」与「打开灯光」重复,导致意图分流失
→ 统一关键词表,用同义词合并
-
HTTP回环
MCP与Hi3861同路由器,DNS解析偶尔失败
→ 改用IP+mdns(.local)域名
-
OTA断电
双分区标志位被写坏,无法回滚
→ 增加双CRC校验+断电保护电容1000μF
九、下一步计划:TinyML离在线混合、多模态交互
- TinyML:Edge Impulse训练关键词「开/关/红/绿」,离线模型<20KB,占NPU 5%
- 多模态:语音+手势(APDS9960)同时识别,避免误触发
- Kit量产:PCB+外壳+螺丝包,49¥套件,用户自备ESP32-C3
- 开源APP:Flutter重构,支持iOS/安卓/鸿蒙三端语音配网
十、附录:开源文件索引
| 内容 | 链接 |
|---|---|
| MCP技能源码 | xzai-mcp-rgb |
| Hi3861固件 | CloudDrop-Hi3861 |
| 原理图+PCB | CloudDrop-HW |
| 拆机高清图 | CloudDrop-Docs |
结语:让创意落地,让技术发光
从「脑海里的语音灯」到「桌面会发光的云」,我们走过:
- 10次原理图迭代
- 3次钢网改版
- 100次OTA断电测试
- 89¥定价被一抢而空
每一行代码,是思想的回响;
每一次语音,是技术的温度。
程序员节,愿我们永远保持「造物者」的热忱------
用「芯」想事成,换「造物无敌」。
小智AI已开源,欢迎 Star,欢迎 PR,让我们一起把创意点亮世界!
欢迎 👍点赞✍评论⭐收藏,欢迎指正