You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

4.6 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

编译esp32固件

第1步 配置环境

先按照这个教程配置项目环境《Windows搭建 ESP IDF 5.3.2开发环境以及编译小智》

第2步 打开配置文件

配置好编译环境后,下载虾哥xiaozhi-esp32项目源码,进入虾哥项目,打开xiaozhi-esp32/main/Kconfig.projbuild文件。

第3步 修改WEBSOCKET地址

找到WEBSOCKET_URLdefault的内容,把wss://api.tenclass.net/xiaozhi/v1/ 改成你自己的地址,例如,我的接口地址是ws://192.168.1.25:8000/xiaozhi/v1/,就把内容改成这个。

修改前:

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.1.25:8000/xiaozhi/v1/"
    help
        Communication with the server through websocket after wake up.

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

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

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

第4步 修改OTA地址

如果你是全模块部署本项目就修改OTA接口如果你只是部署了8000端口的xiaozhi-server可以继续沿用虾哥团队的OTA接口。如果你不修改OTA接口请直接忽略本第4步直接看第5步

找到OTA_VERSION_URLdefault的内容,把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.

第5步 设置编译参数

设置编译参数

# 终端命令行进入xiaozhi-esp32的根目录
cd xiaozhi-esp32
# 例如我使用的板子是esp32s3所以设置编译目标为esp32s3如果你的板子是其他型号请替换成对应的型号
idf.py set-target esp32s3
# 进入菜单配置
idf.py menuconfig

图片

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

图片

第6步 编译固件

idf.py build

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

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

第7步 打包bin固件

cd scripts
python release.py

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

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

第8步 烧录固件

将esp32设备连接电脑使用chrome浏览器打开以下网址

https://espressif.github.io/esp-launchpad/

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

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

常见问题

以下是一些常见问题,供参考:

1、为什么我说的话小智识别出来很多韩文、日文、英文

2、为什么会出现“TTS 任务出错 文件不存在”?

3、TTS 经常失败,经常超时

4、使用Wifi能连接自建服务器但是4G模式却接不上

5、如何提高小智对话响应速度

6、我说话很慢停顿时小智老是抢话

7、我想通过小智控制电灯、空调、远程开关机等操作