如果你按照教程使用的是全模块部署,就应该会有ota地址。
此刻,请你用浏览器打开你的ota地址,例如我的ota地址
http://192.168.1.25:8002/xiaozhi/ota/
如果显示“OTA接口运行正常,websocket集群数量:X”。那就往下。
如果显示“OTA接口运行不正常”,大概是你还没在智控台
配置Websocket
地址。那就:
-
1、使用超级管理员登录智控台
-
2、顶部菜单点击
参数管理
-
3、在列表中找到
server.websocket
项目,输入你的Websocket
地址。例如我的就是
ws://192.168.1.25:8000/xiaozhi/v1/
配置完后,再使用浏览器刷新你的ota接口地址,看看是不是正常了。如果还不正常就,就再次确认一下Websocket是否正常启动,是否配置了Websocket地址。
先按照这个教程配置项目环境《Windows搭建 ESP IDF 5.3.2开发环境以及编译小智》
配置好编译环境后,下载虾哥iaozhi-esp32项目源码,
从这里下载虾哥xiaozhi-esp32项目源码。
下载后,打开xiaozhi-esp32/main/Kconfig.projbuild
文件。
找到OTA_VERSION_URL
的default
的内容,把https://api.tenclass.net/xiaozhi/ota/
改成你自己的地址,例如,我的接口地址是http://192.168.1.25:8002/xiaozhi/ota/
,就把内容改成这个。
修改前:
config OTA_VERSION_URL
string "OTA Version URL"
default "https://api.tenclass.net/xiaozhi/ota/"
help
The application will access this URL to check for updates.
修改后:
config OTA_VERSION_URL
string "OTA Version URL"
default "http://192.168.1.25:8002/xiaozhi/ota/"
help
The application will access this URL to check for updates.
设置编译参数
# 终端命令行进入xiaozhi-esp32的根目录
cd xiaozhi-esp32
# 例如我使用的板子是esp32s3,所以设置编译目标为esp32s3,如果你的板子是其他型号,请替换成对应的型号
idf.py set-target esp32s3
# 进入菜单配置
idf.py menuconfig
进入菜单配置后,再进入Xiaozhi Assistant
,将CONNECTION_TYPE
设置为Websocket
回退到主菜单,再进入Xiaozhi Assistant
,将BOARD_TYPE
设置你板子的具体型号
保存退出,回到终端命令行。
idf.py build
如果是vscode安装的idf可以使用F1
或者ctrl+shift+p
,输入idf然后直接选择进行编译
还可以直接进行烧录不用接下来的操作
cd scripts
python release.py
编译成功后,会在项目根目录下的build
目录下生成固件文件merged-binary.bin
。
这个merged-binary.bin
就是要烧录到硬件上的固件文件。
注意:如果执行到第二命令后,报了“zip”相关的错误,请忽略这个错误,只要build
目录下生成固件文件merged-binary.bin
,对你没有太大影响,请继续。
将esp32设备连接电脑,使用chrome浏览器,打开以下网址
https://espressif.github.io/esp-launchpad/
打开这个教程,Flash工具/Web端烧录固件(无IDF开发环境)。
翻到:方式二:ESP-Launchpad 浏览器WEB端烧录
,从3. 烧录固件/下载到开发板
开始,按照教程操作。
烧录成功且联网成功后,通过唤醒词唤醒小智,留意server端输出的控制台信息。
以下是一些常见问题,供参考: