首次启动:配网、激活与绑定
小智设备第一次通电后,依次完成三件事:连上 Wi‑Fi、向服务器报到并检查版本、用激活码绑定到你的账号。本页按固件 v2.5.2 的实际代码,说明每一步设备在做什么、你会看到什么,以及卡住时怎么处理。
流程总览
- 上电后,设备检查是否保存过 Wi‑Fi:没有就进入配网模式;有则尝试连接,60 秒内没连上同样回到配网模式。
- 联网后设备进入「激活设备」状态,向 OTA 地址请求版本信息。
- 服务器返回新固件则先升级;返回激活码则显示并朗读激活码。
- 你在控制台输入激活码完成绑定。设备随后加载通信协议配置,进入待机并播放成功提示音。
第一步:配网
什么时候进入配网模式
- 设备没有保存任何 Wi‑Fi(首次启动);
- 已保存的 Wi‑Fi 在 60 秒内没有连上;
- 在启动阶段按下开发板上的配网按键。按键因板而异:例如
bread-compact-wifi在启动阶段单击 BOOT 键进入配网,其他开发板请查看main/boards/下对应目录的 README。
热点配网(默认)
固件默认使用热点配网(menuconfig 中 WiFi Configuration Method → Hotspot,默认开启)。
- 屏幕和语音提示「配网模式」,内容形如“手机连接热点
Xiaozhi-XXXX,浏览器访问192.168.4.1”。热点名称以Xiaozhi-开头,后接设备 MAC 地址末两个字节,以屏幕显示为准。 - 手机连接该热点,在浏览器中打开
192.168.4.1。热点是开放网络,没有密码,最多同时连接 4 台设备,请在可信环境中尽快完成配网。 - 在配网页选择路由器并输入密码。多数芯片只支持 2.4 GHz;ESP32-C5 另支持 5 GHz。
- 保存后设备退出配网模式,并用新的 Wi‑Fi 凭据重新连接。
配网页的「高级」选项卡提供 OTA 地址、Wi‑Fi 发射功率和 Wi‑Fi 休眠模式(OTA 地址与休眠两项由固件决定是否显示,v2.5.2 均已显示)。在这里填写的 OTA 地址会替代默认值,设备此后向该地址请求版本与激活信息,请只填写你信任的服务器。
BluFi 配网
BluFi 在构建固件时选择,不能与热点配网同时启用。启用后设备的蓝牙名称为 Xiaozhi-Blufi,用 EspBlufi 等客户端发送 Wi‑Fi 凭据即可。配置方法见 BluFi 配网指南。
第二步:检查版本
联网后,固件向 OTA 地址发起请求。地址取自配网页的设置,没有设置时使用 menuconfig 中 Default OTA URL(CONFIG_OTA_URL)的值。请求头带有设备标识:Device-Id(MAC 地址)、Client-Id(设备 UUID)、Activation-Version、User-Agent、Accept-Language;读到有效 eFuse 序列号的设备还会带上 Serial-Number。
服务器返回的 JSON 可以包含:
| 字段 | 作用 |
|---|---|
firmware | 新固件的版本与下载地址;有新版本时设备先升级 |
activation | message(提示文字)、code(激活码)、challenge(挑战串)、timeout_ms |
mqtt / websocket | 后续对话使用的通信配置,协议见 WebSocket 与 MQTT + UDP |
没有 activation 字段时,设备视为无需激活,直接继续启动。
第三步:激活与绑定
- 响应带有激活码时,设备在屏幕上显示服务器给出的提示文字,播放提示音,再逐位朗读激活码中的数字。
- 登录官方控制台,按页面指引输入激活码,把设备绑定到你的账号。
- 在你操作期间,设备持续向
<OTA 地址>/activate提交应答:读到 eFuse 序列号的设备提交hmac-sha256结果(用 eFuse 中的 HMAC 密钥对challenge签名),其他设备提交空对象。服务器返回200表示激活成功,返回202表示还没绑定(设备等 3 秒再试),其他状态则等 10 秒再试。 - 一轮最多尝试 10 次;仍未完成时设备回到「检查版本」再来一轮,请以屏幕上最新显示的激活码为准。
- 激活成功后,设备按服务器下发的配置初始化通信协议(响应里没有任何协议配置时默认使用 MQTT),显示版本号并播放成功提示音,随后即可开始对话。
常见问题排查
| 现象 | 可能原因 | 处理 |
|---|---|---|
| 屏幕没有配网提示 | 设备已保存 Wi‑Fi,会先尝试连接,60 秒后才进入配网;或固件构建为 BluFi 方式 | 等待 60 秒,或在启动阶段按配网键;BluFi 固件请用手机搜索 Xiaozhi-Blufi |
| 手机连上热点却打不开配网页 | 手机没有停留在设备热点上 | 确认仍连着 Xiaozhi- 开头的热点,再访问 192.168.4.1 |
| 保存后又回到配网模式 | 60 秒内没有连上路由器 | 核对名称与密码,确认路由器开启 2.4 GHz |
| 提示“检查新版本失败,将在 N 秒后重试” | OTA 地址不可达,或服务器返回非 200 | 检查网络;如果改过 OTA 地址,核对其是否正确。重试间隔从 10 秒起每次翻倍,最多重试 10 次 |
| 一直停在激活码界面 | 设备在等待控制台完成绑定(服务器返回 202) | 在控制台输入屏幕最新显示的激活码 |
| 想更换 Wi‑Fi | 设备已有保存的网络,不会自动进入配网 | 用开发板的配网按键重新进入配网模式,按键因板而异 |
相关阅读
来源:78/xiaozhi-esp32 v2.5.2 的 wifi_board.cc、ota.cc、application.cc、Kconfig.projbuild,以及配网组件 78/esp-wifi-connect 的 README。