可能是全网最保姆的 ESP32 教程了:手把手带你做一个桌面 AI 助手
文章目录
部分视频或图片暂未收录,已在正文保留提示;需要时可查看原文。查看原文 ↗
如果你刚买了 ESP32,或者准备买,那我非常建议你看下我的这篇文章。
对于已经购买的,只要你在用 Claude Code 或 Codex,不用再多花一分钱就能把它变成 AI 助手;对于准备购买的,你能从本篇文章找到信心,因为真的非常简单。
本文章非万字文章,它是能让你一步一步跟着操作不会发晕的文章,接下来我们就开始,把 ESP32 做成一个 AI 助手。
改坏了也不怕。文末番外讲怎么一句话恢复出厂,放心折腾。
本篇文章以立创实战派 ESP32-S3 为示例。
这篇文章你会做的事:
1️⃣ ★ 让 Claude Code 刷固件(本文核心) 2️⃣ 手机配网 3️⃣ 绑定后台,免费换更好的模型 4️⃣ 改名字和性格,开口聊天
⭐ 番外:后悔药,一句话恢复出厂
基础扫盲(看不懂也没关系)
这一节只是让你知道大概在发生什么,看不懂直接跳过,不影响后面的操作。
小智是 GitHub 上的一个开源项目,能把 ESP32 这种小板子变成 AI 语音助手。板子只管听和说,动脑子的是小智的服务器。
后面会碰到三个词,眼熟就行:
-
固件:板子里跑的程序。刷固件,就是把小智装进去,替换出厂的演示系统
-
串口:电脑和板子说话的通道,插上 USB 线就有
-
烧录:把固件写进板子,也有人叫刷机
1️⃣ ★ 让 Claude Code 刷固件(本文核心)
这一章听着最吓人。
但其实非常简单,一步一步跟着操作就行了
Step 0:建一个练习文件夹,在里面打开 Claude Code
新建一个空文件夹,放哪都行,我新建的文件夹名字是 esp32-xiaozhi。后面备份、下载的东西全放这里,不会乱。
💡 名字别起成 xiaozhi-esp32。小智的 GitHub 仓库就叫这个,Claude Code 一看到同名文件夹,会以为你要改源码。
在这个文件夹里打开 Claude Code。我用的是 Claude Code,Codex 这类能在终端里跑命令的 AI 工具也行,下面的提示词可以直接用。
Step 1:插上线,让它认出板子
用 Type-C 数据线把板子接到电脑,发这段:
我用 USB 接了一块立创实战派 ESP32-S3 开发板,准备刷小智 AI 固件。
这一步只认板子,不要往板子里写任何东西。
帮我找到它的串口,在当前文件夹建一个 Python 虚拟环境装好 esptool,读出芯片型号和 Flash 大小。
执行前先告诉我要运行什么命令。
最后告诉我:这块板子能不能刷小智的实战派固件。
它会先装一个叫 esptool 的烧录工具,然后去读板子的信息。
看到这两项,这一步就过了:
-
芯片:ESP32-S3
-
Flash:16MB
我这块读出来还有 8MB PSRAM,串口是 /dev/cu.usbmodem11301,整个过程 1 分钟左右。它最后直接给了结论:能刷。
⚠️ 它说找不到串口?先换根数据线,再换个 USB 口。十有八九是线的问题。
Step 2:先备份原厂固件,这是你的后悔药
刷机之前,先把板子里现在的东西完整存一份。
把开发板的 Flash 整片 16MB 读出来,存到当前文件夹的 backup 目录,文件名带上 factory。
传输速度用 921600 波特率。
存完算一个 sha256,跟备份放在一起。
这一步只读,不要擦除、不要写入。
执行前先告诉我要运行什么命令。
最后告诉我备份文件多大。
这一步最慢,我实测 3 分 32 秒。去倒杯水。
💡 备份时屏幕突然黑了?正常。备份时板子会进入下载模式,不跑任何程序,屏幕就不亮。我第一次看到也愣了一下。备份完它会自动重启,屏幕重新亮回出厂界面。备份过程中别拔线,也别按板子上的键。
跑完你会在 backup 文件夹里看到一个 16MB 的文件。
这个文件千万别删。以后想回到出厂状态,全靠它。
Q:都要刷掉了,为啥还要备份? A:刷机这种事,第一次难免手抖。有了备份,最坏的结果也只是「回到原点」,不会把板子搞废。
Step 3:下载对的固件
去 https://github.com/78/xiaozhi-esp32 的 Releases 页面,
下载最新版里立创实战派 ESP32-S3 对应的固件,文件名带 lichuang-dev。
解压到当前文件夹,找到 merged-binary.bin。
先别烧录。
最后告诉我版本号、文件名和 merged-binary.bin 的大小。
我写这篇时最新版是 v2.5.2,下载的文件是 v2.5.2_lckfb-lichuang-dev.zip,压缩包不到 3MB,里面只有一个 merged-binary.bin,大约 10MB。
Step 4:烧录
前面三步都没问题,再发这段:
把 merged-binary.bin 从 0x0 地址整片烧录到开发板,传输速度用 921600 波特率。
只烧这一个文件,backup 目录里的东西一个字都不许动。
烧完让板子重启,用 Python 读 15 秒串口日志后自动退出,不要用 screen 这类需要手动退出的命令。
执行前先告诉我要运行什么命令。
我这边用了 41 秒。
看到这一行,就是烧进去了:
Hash of data verified.
意思是写进去的数据和文件逐字节对上了。
Claude Code 烧完还顺手核对了一遍 backup 目录,确认备份一个字节都没被动过。
Step 5:★ 验证:屏幕出现「配网模式」
烧完板子会自动重启。
Claude Code 读到的开机日志里,找这三样,上面那张截图下半部分就有:
-
版本号:App version: 2.5.2
-
板型:SKU=lichuang-dev
-
一个热点名:Xiaozhi- 加四位字符
再看一眼板子,屏幕顶部写着「配网模式」,底下滚动着热点名和网址,就成了。
搞定。最难的部分已经过去了。
2️⃣ 手机配网
这一章全在手机上做。
Step 1:连上板子的热点
打开手机 WiFi 设置,找到 Xiaozhi-XXXX 这个热点,后四位跟板子屏幕上显示的一样。我的是 Xiaozhi-B8F1。
直接连,不用密码。
Step 2:填你家的 WiFi
连上热点,iPhone 会自动弹出一个标题叫「受限无线局域网」的页面,这就是配网页面。
看到「受限」两个字别慌。这个热点只是板子临时开的,本来就上不了网,用来让你填 WiFi 信息而已。
没弹的话,打开浏览器访问 http://192.168.4.1。
❶ 在「从下面列表选择 2.4G Wi-Fi」里,点你家的 WiFi,名字会自动填进上面的 SSID ❷ 输入 WiFi 密码 ❸ 点「连接」
旁边的「高级选项」别动,用官方后台用不到。
⚠️ 列表里没有你家 WiFi?多半是路由器只开了 5G。去路由器后台把 2.4G 打开,很多路由器的两个 WiFi 名字只差一个 -5G 后缀。
Step 3:★ 验证:屏幕出现 6 位验证码
连上以后,板子屏幕顶部变成「激活设备」,下面显示 xiaozhi.me 和一个 6 位数字,同时语音念出来。
看到这串数字,说明它已经联网,也找到了小智的服务器。
记下来,下一步要用。
3️⃣ 绑定后台,免费换更好的模型
这一步是在小智后台绑定这台板子。绑定之后,它才知道该用谁的设置跟你聊天。
Step 1:登录小智后台
打开 https://xiaozhi.me ,点击控制台
用手机号收短信验证码登录,也可以切到「用户名密码」。
Step 2:输入验证码,添加设备
第一次进来,智能体列表是空的。点右上角「添加设备」。
填板子屏幕上那 6 位数字,点「添加」。
Step 3:协议选「开源版」
接着会弹出「设备接入协议」。
自己刷的板子只能选「开源版」,「正式版」是锁着的。选好点「开始使用」。
Q:开源版有什么限制? A:免费用,但只限学习,不能拿去卖或者做成产品。自己放桌上玩完全没问题。
Step 4:★ 验证:多出一个智能体,板子换上小圆脸
控制台里会多出一个「未命名智能体」。卡片上写着默认角色「湾湾小何」、默认模型「小智 Lite」,底下的「设备 (1)」说明板子已经挂上来了。
再看板子,验证码消失了,换成一张黄色小圆脸,顶上显示时间。这就是绑好了。
到这里它其实已经能聊天了。但先别急,先把模型换了。
Step 5:绑定 GitHub,解锁更好的模型
在智能体卡片上点「配置」。
切到「模型与记忆」,点开「语言模型」下拉框。默认只能用「小智 Lite」,下面几个都是灰的,中间夹着一行蓝字「GitHub 认证 以下模型免费用」。
点那行蓝字,进到 GitHub 认证页,点「绑定 GitHub」。下面那张表列了认证前后的区别,多出来的有高级模型、视觉模型和 MCP 接入点,不花钱,没理由不绑。
没有 GitHub 账号的话,去 github.com 注册一个,免费。
跳到 GitHub 授权页,点绿色的「Authorize tenclass」。tenclass 就是小智背后的团队。
页面跳回小智,顶上弹出「GitHub 认证成功」就好了。
Step 6:选模型,记得保存
回到「配置 → 模型与记忆」,下拉框里的模型都能选了。后台给每个模型都标了特点:
-
想反应快,选 Qwen 3.6,后台标的是「响应快速」
-
想聊得更有意思,选 DeepSeek V4,后台标的是「性格丰富」
-
豆包 Seed 2.0 后台自己标了「延迟较大」,语音聊天不太推荐
我随手选了 DeepSeek V4。这几个都免费,你挑自己喜欢的就行,不满意随时回来换。
选完点右下角「保存」。
4️⃣ 改名字和性格,开口聊天
Step 1:给它起个名字
还在「配置」里,切到「角色」。
打开「角色介绍」右边的「自定义」开关,把里面的内容换成你想要的。
名字和性格都写在这里,不在固件里,所以改名字不用重新刷机。
这是我用的模板,把【】里的换掉就行:
你叫【名字】,是放在我桌上的 AI 小助手。
说话口语化,每次只说两三句,别长篇大论。
我开心的时候陪我开心;我低落的时候先听我说完,再轻轻安慰,别讲大道理。
不知道的事就说不知道,不要编。
改完点「保存」。
Step 2:★ 验证:喊醒它,聊一句
两种叫醒方式:
-
对它喊「你好小智」
-
短按板子上的 BOOT 键
💡 名字改了,唤醒词还是「你好小智」。唤醒词写在固件里,不归后台管,改它要动板子,这个放到系列第三篇讲。
醒了就正常说话。它回答的时候,屏幕顶上显示「说话中」,下面滚字幕,中间的表情会跟着情绪变。
我第一句喊的是「你好,小智」。
它回我:「我是叼毛,有什么可以帮你的吗?」
不认「小智」这个名字了,后台改的角色生效了。
再试个正经的。我问它:「帮我看下今天北京的天气怎么样。」
它检索后会回答:「北京今天天气不错,晴朗的……」
搞定。你的桌面 AI 助手上线了。
💡 怎么关机?不用找关机键,直接拔线就行。名字、性格、模型都存在后台,下次插上电,它会自己连上 WiFi,回到小圆脸待机。
💡 搬家或者换了路由器?不用重刷固件。名字、性格、模型都存在后台,跟 WiFi 没关系。让 Claude Code 帮你查一下小智怎么重新进入配网模式,再按第二章走一遍就行。
⭐ 番外:后悔药,一句话恢复出厂
想回到最开始那个立创演示系统?
还记得第一章 Step 2 存的那份备份吗?让 Claude Code 把它写回去就行。操作和烧录小智一模一样,只是把要写的文件换成你的备份:
把 backup 目录里带 factory 的那个备份,从 0x0 地址整片写回开发板,传输速度用 921600 波特率。
写之前先核对一下 sha256,对得上再写。
执行前先告诉我要运行什么命令。
写完板子重启,就是开箱时那个演示界面。
想再换回小智,从第一章 Step 4 重新烧一遍就行,WiFi 要重新配一次。
就算板子开机后反复重启,电脑照样能连上它,所以基本不存在「刷成砖」这回事。
这也是为什么我反复说,先备份。
常见问题
Q:电脑认不出板子? A:换一根能传数据的 USB 线,再换个 USB 口。
Q:配网列表里没有我家 WiFi? A:路由器只开了 5G,去路由器后台打开 2.4G。
Q:验证码没听清? A:看板子屏幕,6 位数字一直显示着。
Q:后台的模型都是灰的? A:还没做 GitHub 认证,看第三章 Step 5。
Q:备份跑了 20 多分钟? A:提示词里漏了「921600 波特率」,用的是默认速度,慢 7 倍左右。加上这句重跑就行。
Q:固件下错了怎么办? A:重新下载文件名带 lichuang-dev 的那个,注意别选成带 c3 的,那是另一款板子的固件。从第一章 Step 4 再烧一遍就行。
写在最后
到这一步,你桌上已经有一个会聊天、名字和性格都由你定的 AI 小助手了。
整个过程记住三件事就行:
① 先备份,再动手 ② 让 AI 执行命令前,先看清它要跑什么 ③ 每一步看完结果,再往下走



























