Files
server/docs/FIRMWARE-BUILD.md
2025-11-02 19:34:16 +08:00

3.5 KiB
Raw Permalink Blame History

编译esp32固件

  1. 下载xiaozhi-esp32 项目,按照这个教程配置项目环境《Windows搭建 ESP IDF 5.3.2开发环境以及编译小智》

  2. 打开xiaozhi-esp32/main/Kconfig.projbuild文件,找到WEBSOCKET_URLdefault的内容,把wss://api.tenclass.net 改成你自己的地址,例如,我的接口地址是ws://192.168.1.25:8091,就把内容改成这个。

修改前:

config WEBSOCKET_URL
    depends on CONNECTION_TYPE_WEBSOCKET
    string "Websocket URL"
    default "wss://api.tenclass.net/xiaozhi/v1/"
    help
        Communication with the server through websocket after wake up.

修改后(示例)

config WEBSOCKET_URL
    depends on CONNECTION_TYPE_WEBSOCKET
    string "Websocket URL"
    default "ws://192.168.5.167:8091/ws/xiaozhi/v1/"
    help
        Communication with the server through websocket after wake up.

注意:你的地址是ws://开头,不是wss://开头,一定不要写错了。

注意:你的地址是ws://开头,不是wss://开头,一定不要写错了。

注意:你的地址是ws://开头,不是wss://开头,一定不要写错了。

你也可以修改ota地址以提供更多设备信息服务修改ota地址后无法通过官方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.5.167:8091/api/device/ota"
    help
        The application will access this URL to check for updates.
  1. 设置编译参数
# 终端命令行进入xiaozhi-esp32的根目录
cd xiaozhi-esp32
# 例如我使用的板子是esp32s3所以设置编译目标为esp32s3如果你的板子是其他型号请替换成对应的型号
idf.py set-target esp32s3
# 进入菜单配置
idf.py menuconfig

图片

进入菜单配置后,再进入Xiaozhi Assistant,将CONNECTION_TYPE设置为Websocket 回退到主菜单,再进入Xiaozhi Assistant,将BOARD_TYPE设置你板子的具体型号 保存退出,回到终端命令行。

图片

  1. 编译固件
idf.py build

如果是vscode安装的idf可以使用F1或者ctrl+shift+p,输入idf然后直接选择进行编译

还可以直接进行烧录不用接下来的操作

  1. 打包bin固件
cd scripts
python release.py

编译成功后,会在项目根目录下的build目录下生成固件文件merged-binary.bin。 这个merged-binary.bin就是要烧录到硬件上的固件文件。

注意如果执行到第二命令后报了“zip”相关的错误请忽略这个错误只要build目录下生成固件文件merged-binary.bin ,对你没有太大影响,请继续。

  1. 烧录固件 将esp32设备连接电脑使用chrome浏览器打开以下网址
https://espressif.github.io/esp-launchpad/

打开这个教程,Flash工具/Web端烧录固件无IDF开发环境。 翻到:方式二ESP-Launchpad 浏览器WEB端烧录,从3. 烧录固件/下载到开发板开始,按照教程操作。

烧录成功且联网成功后通过唤醒词唤醒小智留意server端输出的控制台信息。