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