|
| 1 | +# 编译1.6.0版本esp32固件 |
| 2 | + |
| 3 | +## 第1步 配置环境 |
| 4 | +先按照这个教程配置项目环境[《Windows搭建 ESP IDF 5.3.2开发环境以及编译小智》](https://icnynnzcwou8.feishu.cn/wiki/JEYDwTTALi5s2zkGlFGcDiRknXf) |
| 5 | + |
| 6 | +## 第2步 打开配置文件 |
| 7 | +配置好编译环境后,下载虾哥iaozhi-esp32项目源码, |
| 8 | + |
| 9 | + |
| 10 | +从这里下载虾哥[xiaozhi-esp32项目1.6.0版本源码](https://github.com/78/xiaozhi-esp32/archive/refs/tags/v1.6.0.zip)。 |
| 11 | + |
| 12 | +从这里下载虾哥[xiaozhi-esp32项目1.6.0版本源码](https://github.com/78/xiaozhi-esp32/archive/refs/tags/v1.6.0.zip)。 |
| 13 | + |
| 14 | +从这里下载虾哥[xiaozhi-esp32项目1.6.0版本源码](https://github.com/78/xiaozhi-esp32/archive/refs/tags/v1.6.0.zip)。 |
| 15 | + |
| 16 | +下载后,解压缩包,打开`xiaozhi-esp32/main/Kconfig.projbuild`文件。 |
| 17 | + |
| 18 | + |
| 19 | +## 第3步 修改WEBSOCKET地址 |
| 20 | +找到`WEBSOCKET_URL`的`default`的内容,把`wss://api.tenclass.net/xiaozhi/v1/` |
| 21 | + 改成你自己的地址,例如,我的接口地址是`ws://192.168.1.25:8000/xiaozhi/v1/`,就把内容改成这个。 |
| 22 | + |
| 23 | +修改前: |
| 24 | + |
| 25 | +``` |
| 26 | +config WEBSOCKET_URL |
| 27 | + depends on CONNECTION_TYPE_WEBSOCKET |
| 28 | + string "Websocket URL" |
| 29 | + default "wss://api.tenclass.net/xiaozhi/v1/" |
| 30 | + help |
| 31 | + Communication with the server through websocket after wake up. |
| 32 | +``` |
| 33 | + |
| 34 | +修改后(示例): |
| 35 | + |
| 36 | +``` |
| 37 | +config WEBSOCKET_URL |
| 38 | + depends on CONNECTION_TYPE_WEBSOCKET |
| 39 | + string "Websocket URL" |
| 40 | + default "ws://192.168.1.25:8000/xiaozhi/v1/" |
| 41 | + help |
| 42 | + Communication with the server through websocket after wake up. |
| 43 | +``` |
| 44 | + |
| 45 | +注意:你的地址是`ws://`开头,不是`wss://`开头,一定不要写错了。 |
| 46 | + |
| 47 | +注意:你的地址是`ws://`开头,不是`wss://`开头,一定不要写错了。 |
| 48 | + |
| 49 | +注意:你的地址是`ws://`开头,不是`wss://`开头,一定不要写错了。 |
| 50 | + |
| 51 | +## 第4步 设置编译参数 |
| 52 | + |
| 53 | +设置编译参数 |
| 54 | + |
| 55 | +``` |
| 56 | +# 终端命令行进入xiaozhi-esp32的根目录 |
| 57 | +cd xiaozhi-esp32 |
| 58 | +# 例如我使用的板子是esp32s3,所以设置编译目标为esp32s3,如果你的板子是其他型号,请替换成对应的型号 |
| 59 | +idf.py set-target esp32s3 |
| 60 | +# 进入菜单配置 |
| 61 | +idf.py menuconfig |
| 62 | +``` |
| 63 | + |
| 64 | + |
| 65 | + |
| 66 | +进入菜单配置后,再进入`Xiaozhi Assistant`,将`CONNECTION_TYPE`设置为`Websocket` |
| 67 | +回退到主菜单,再进入`Xiaozhi Assistant`,将`BOARD_TYPE`设置你板子的具体型号 |
| 68 | +保存退出,回到终端命令行。 |
| 69 | + |
| 70 | + |
| 71 | + |
| 72 | +## 第5步 编译固件 |
| 73 | + |
| 74 | +``` |
| 75 | +idf.py build |
| 76 | +``` |
| 77 | + |
| 78 | +如果是vscode安装的idf可以使用`F1`或者`ctrl+shift+p`,输入idf然后直接选择进行编译 |
| 79 | + |
| 80 | +还可以直接进行烧录不用接下来的操作 |
| 81 | + |
| 82 | +<img src="./images/vscode_idf.png" width="500px"/> |
| 83 | + |
| 84 | +## 第6步 打包bin固件 |
| 85 | + |
| 86 | +``` |
| 87 | +cd scripts |
| 88 | +python release.py |
| 89 | +``` |
| 90 | + |
| 91 | +编译成功后,会在项目根目录下的`build`目录下生成固件文件`merged-binary.bin`。 |
| 92 | +这个`merged-binary.bin`就是要烧录到硬件上的固件文件。 |
| 93 | + |
| 94 | +注意:如果执行到第二命令后,报了“zip”相关的错误,请忽略这个错误,只要`build`目录下生成固件文件`merged-binary.bin` |
| 95 | +,对你没有太大影响,请继续。 |
| 96 | + |
| 97 | +## 第7步 烧录固件 |
| 98 | + 将esp32设备连接电脑,使用chrome浏览器,打开以下网址 |
| 99 | + |
| 100 | +``` |
| 101 | +https://espressif.github.io/esp-launchpad/ |
| 102 | +``` |
| 103 | + |
| 104 | +打开这个教程,[Flash工具/Web端烧录固件(无IDF开发环境)](https://ccnphfhqs21z.feishu.cn/wiki/Zpz4wXBtdimBrLk25WdcXzxcnNS)。 |
| 105 | +翻到:`方式二:ESP-Launchpad 浏览器WEB端烧录`,从`3. 烧录固件/下载到开发板`开始,按照教程操作。 |
| 106 | + |
| 107 | +烧录成功且联网成功后,通过唤醒词唤醒小智,留意server端输出的控制台信息。 |
| 108 | + |
| 109 | +## 常见问题 |
| 110 | +以下是一些常见问题,供参考: |
| 111 | + |
| 112 | +[1、为什么我说的话,小智识别出来很多韩文、日文、英文](./FAQ.md) |
| 113 | + |
| 114 | +[2、为什么会出现“TTS 任务出错 文件不存在”?](./FAQ.md) |
| 115 | + |
| 116 | +[3、TTS 经常失败,经常超时](./FAQ.md) |
| 117 | + |
| 118 | +[4、使用Wifi能连接自建服务器,但是4G模式却接不上](./FAQ.md) |
| 119 | + |
| 120 | +[5、如何提高小智对话响应速度?](./FAQ.md) |
| 121 | + |
| 122 | +[6、我说话很慢,停顿时小智老是抢话](./FAQ.md) |
| 123 | + |
| 124 | +[7、我想通过小智控制电灯、空调、远程开关机等操作](./FAQ.md) |
0 commit comments