AI Know 原创 · 硬件实战 · ESP32-S3 教育语音助手

从零搭一台「会教学的 AI 小智」——ESP32-S3 全科教育语音助手实战

一台几十块的开发板 + 一块彩屏 + 一个自建教育服务器,做出一个能听、能说、能讲题、还会卖萌的桌面 AI 学习伙伴。本文把硬件、连接、教学大师设计、界面设计完整拆给你看。


一、项目简介

这是一个基于开源 xiaozhi-esp32 固件 + 自建 xiaozhi-server(教育版) 的离线/私有化 AI 语音助手。和市面上"音箱问天气"不同,它的定位是 中小学全科教育导师

整体可以概括成一句话:设备只负责"耳朵嘴巴眼睛",大脑(识别 + 教学推理)放在自己的阿里云服务器上。


二、硬件介绍

主控用的是 ESP32-S3-N16R8(果云 GOODUUU 42 脚开发板):双核 240MHz,16MB Flash + 8MB PSRAM,自带 WiFi + 蓝牙,跑 LVGL 图形界面和音频流毫无压力。外设全部用面包板 DIY 搭起来:

模块 型号 作用 关键引脚 (GPIO)
主控 ESP32-S3-N16R8 录音/联网/推流/显示
麦克风 INMP441(I2S 数字麦) 拾音 WS=4, SCK=5, DIN=6
功放+喇叭 MAX98357(I2S 功放) 放音 DOUT=7, BCLK=15, LRCK=16
显示屏 2.0 寸 IPS 彩屏 ST7789 / 240×320 表情 + 对话 BL=42, MOSI=47, CLK=21, DC=40, RST=45, CS=41
按键 BOOT / 音量± 配网、切换对话、音量 BOOT=0, VOL+=38, VOL−=39
指示灯 板载 RGB LED 状态指示 48

接线图(面包板 DIY)

整体接线图

喇叭/功放接线单独看这张更清楚:

喇叭接线方式

小贴士:屏幕一定要选对型号。本项目实测用的是 2.0 寸 = ST7789 240×320;1.54/1.3 寸是 ST7789 240×240,1.8 寸才是 ST7735 128×160。型号选错,屏幕就会花屏、颠倒、显示不全(这点后面"踩坑"一节细说)。


三、连接方法(烧录 + 配网 + 连服务器)

整个连接链路分三步:烧录固件 → 配网 → 自动连到教育服务器

1. 烧录固件

flash_download_toolesptool,芯片选 ESP32-S3,参数 16MB / DIO / 80MHz

烧录软件设置

烧录布局(关键):

地址 内容
0x0 合并固件(bootloader + 分区表 + app + assets)
0x9000 NVS(写入服务器连接配置)

本项目把"服务器连接信息"做成一份 NVS 配置烧到 0x9000,所以同一个标准固件,换一份 NVS 就能连到你自己的服务器,非常适合批量部署。

2. 配网

上电后长按 BOOT 进入配网模式,手机连上设备热点,填入 WiFi 即可。

3. 自动连接服务器

NVS 里写好了三件事,设备开机后自动完成:

开机流程:上电 → 连 WiFi → OTA 激活 → WebSocket 连服务器 → 进入待机,此后说话即可对话。


四、系统架构:一次问答的完整链路

系统架构

一句"胡不归原理是什么"从说出到听到回答,经过:

  1. 设备录音(INMP441,16kHz)→ 编码成音频流,通过 WebSocket 推给服务器;
  2. ① VAD 断句(SileroVAD):判断你说完没;
  3. ② ASR 语音识别(FunASR + 热词/纠错):转成文字;
  4. ③ 教学大师 LLM(DeepSeek 双模型路由):理解 + 生成教学讲解;
  5. ④ TTS 合成(EdgeTTS 中文女声):把回答变成语音;
  6. 语音流回推设备播放,同时屏幕显示问答。

设备端轻、服务器端重,这样换模型、调提示词、加热词都只动服务器,设备不用重新烧录


五、教学大师设计原理(核心)

这是本项目和普通"AI 音箱"最大的区别。教学能力来自服务器端 EducationDeepSeekLLM,几个关键设计:

1. 双模型智能路由——好钢用在刀刃上

服务器内置 EducationRouter,根据问题难度自动选模型:

判定靠 难度关键词自动升级:竞赛、丘班、强基、压轴、证明、奥数、培优、不等式、数论、递推、构造、几何综合、函数综合、IMO、CMO … 命中即走强模型。既省钱又保证难题质量。

2. 教学风格而非"答案机"

answer_style: teaching,温度压到 0.2 保证严谨。回答固定走教学路径:

先判题意 → 讲思路 → 给步骤 → 最终答案 → 易错点

条件不全、几何图缺信息、或语音可能听错时,先追问、不硬答

3. 角色与表达约束

角色是"小智全科教育导师",覆盖中小学全科 + 竞赛。同时有一套"去 AI 味"的对话规范:

4. 包容语音识别误差

提示词明确要求:"用户输入是 ASR 转写、可能有谐音错别字,要跨越错别字推断真实意图,不要纠正发音"。配合服务器端热词表,专有名词识别更稳(详见下一节)。


六、界面设计:待机萌脸 + 微信式对话

界面设计

屏幕基于 LVGL 9.4 自绘,分两种形态:

1. 待机:萌系大眼睛(类萌UU)

2. 对话:微信气泡风格

进入聆听/说话状态时,萌脸自动隐藏,露出微信式问答气泡——用户问题、AI 解答清晰分行,配合顶部状态栏(WiFi / 时间 / 状态)。

设计逻辑:待机卖萌、对话务实。眨眼的大眼睛让它像个有生命的伙伴,而真要讲题时又能把内容看清楚。两种界面由设备状态自动切换。


七、语音识别优化(专有名词不再听错)

教育场景里"胡不归、阿氏圆、将军饮马、费马点"这类专名最容易被识别错。两招解决:

  1. LLM 纠错(零成本):在提示词里给一份"常被听错术语表",让大模型按上下文把"壶不归 → 胡不归"纠正回来;
  2. ASR 热词(更彻底):换成支持热词的识别引擎(本地 FunASRServer / 云端豆包·阿里 Qwen3-ASR),把数学术语表加进热词,从源头提升识别率。

本项目附带了一份 math_hotwords.txt(70+ 个中小学/竞赛术语),两种方案都能直接用。


八、踩坑与排障(真实经验)


九、总结

这套方案的价值在于把一个开源语音助手,改造成了一个真正"懂教学"的私有化学习伙伴

如果你也想做一台,硬件几十块、服务器一台学生机就能跑起来。欢迎在评论区交流接线和提示词调优经验。


本文配图:实拍接线/烧录图来自配套教程,界面与架构示意图为本项目原创绘制。


← 返回 AI论坛专题列表