diff --git a/README.md b/README.md index 5479d02036..2b6173c367 100644 --- a/README.md +++ b/README.md @@ -147,14 +147,16 @@ server: ## 部署文档 +![Banners](docs/images/banner2.png) + 本项目提供两种部署方式,请根据您的具体需求选择: #### 🚀 部署方式选择 | 部署方式 | 特点 | 适用场景 | Docker部署文档 | 源码部署文档 | |---------|------|---------|---------|---------| -| **最简化安装** | 智能对话、IOT功能,数据存储在配置文件 | 低配置环境,无需数据库 | [Docker只运行Server](./docs/Deployment.md#%E6%96%B9%E5%BC%8F%E4%B8%80docker%E5%8F%AA%E8%BF%90%E8%A1%8Cserver) | [本地源码只运行Server](./docs/Deployment.md#%E6%96%B9%E5%BC%8F%E4%BA%8C%E6%9C%AC%E5%9C%B0%E6%BA%90%E7%A0%81%E5%8F%AA%E8%BF%90%E8%A1%8Cserver)| -| **全模块安装** | 智能对话、IOT、OTA、智控台,数据存储在数据库 | 完整功能体验 |[Docker运行全模块](./docs/Deployment_all.md#%E6%96%B9%E5%BC%8F%E4%B8%80docker%E8%BF%90%E8%A1%8C%E5%85%A8%E6%A8%A1%E5%9D%97) | [本地源码运行全模块](./docs/Deployment_all.md#%E6%96%B9%E5%BC%8F%E4%BA%8C%E6%9C%AC%E5%9C%B0%E6%BA%90%E7%A0%81%E8%BF%90%E8%A1%8C%E5%85%A8%E6%A8%A1%E5%9D%97) | +| **最简化安装** | 智能对话、IOT功能,数据存储在配置文件 | 低配置环境,无需数据库,仅支持虾哥1.6.0及以下固件版本 | [Docker只运行Server](./docs/Deployment.md#%E6%96%B9%E5%BC%8F%E4%B8%80docker%E5%8F%AA%E8%BF%90%E8%A1%8Cserver) | [本地源码只运行Server](./docs/Deployment.md#%E6%96%B9%E5%BC%8F%E4%BA%8C%E6%9C%AC%E5%9C%B0%E6%BA%90%E7%A0%81%E5%8F%AA%E8%BF%90%E8%A1%8Cserver)| +| **全模块安装** | 智能对话、IOT、OTA、智控台,数据存储在数据库 | 完整功能体验,支持虾哥最新固件 |[Docker运行全模块](./docs/Deployment_all.md#%E6%96%B9%E5%BC%8F%E4%B8%80docker%E8%BF%90%E8%A1%8C%E5%85%A8%E6%A8%A1%E5%9D%97) | [本地源码运行全模块](./docs/Deployment_all.md#%E6%96%B9%E5%BC%8F%E4%BA%8C%E6%9C%AC%E5%9C%B0%E6%BA%90%E7%A0%81%E8%BF%90%E8%A1%8C%E5%85%A8%E6%A8%A1%E5%9D%97) | > 💡 提示:以下是按最新代码部署后的测试平台,有需要可烧录测试,并发为6个,每天会清空数据 diff --git a/docs/Deployment.md b/docs/Deployment.md index 097aea59b2..508fa75406 100644 --- a/docs/Deployment.md +++ b/docs/Deployment.md @@ -290,7 +290,7 @@ LLM: 这个信息很有用的,后面`编译esp32固件`需要用到。 -接下来,你就可以开始 [编译esp32固件](firmware-build.md)了。 +接下来,你就可以开始 [编译1.6.0版本esp32固件](firmware-build.md)了。 以下是一些常见问题,供参考: diff --git a/docs/Deployment_all.md b/docs/Deployment_all.md index 8c6048c504..21c629f835 100644 --- a/docs/Deployment_all.md +++ b/docs/Deployment_all.md @@ -182,7 +182,11 @@ Websocket接口: ws://你电脑局域网的ip:8000/xiaozhi/v1/ ``` -接下来,你就可以开始 [编译esp32固件](firmware-build.md)了。 +接下来,你就可以开始操作你的esp32设备了,你可以`自行编译esp32固件`也可以配置使用`虾哥编译好的1.6.1以上版本的固件`。两个任选一个 + +1、 [编译自己的esp32固件](firmware-build.md)了。 + +2、 [基于虾哥编译好的固件配置自定义服务器](firmware-setting.md)了。 # 方式二:本地源码运行全模块 @@ -402,7 +406,11 @@ Websocket接口: ws://你电脑局域网的ip:8000/xiaozhi/v1/ ``` -接下来,你就可以开始 [编译esp32固件](firmware-build.md)了。 +接下来,你就可以开始操作你的esp32设备了,你可以`自行编译esp32固件`也可以配置使用`虾哥编译好的1.6.1以上版本的固件`。两个任选一个 + +1、 [编译自己的esp32固件](firmware-build.md)了。 + +2、 [基于虾哥编译好的固件配置自定义服务器](firmware-setting.md)了。 # 常见问题 diff --git a/docs/firmware-build-1.6.0.md b/docs/firmware-build-1.6.0.md new file mode 100644 index 0000000000..5e37d59ebb --- /dev/null +++ b/docs/firmware-build-1.6.0.md @@ -0,0 +1,124 @@ +# 编译1.6.0版本esp32固件 + +## 第1步 配置环境 +先按照这个教程配置项目环境[《Windows搭建 ESP IDF 5.3.2开发环境以及编译小智》](https://icnynnzcwou8.feishu.cn/wiki/JEYDwTTALi5s2zkGlFGcDiRknXf) + +## 第2步 打开配置文件 +配置好编译环境后,下载虾哥iaozhi-esp32项目源码, + + +从这里下载虾哥[xiaozhi-esp32项目1.6.0版本源码](https://github.com/78/xiaozhi-esp32/archive/refs/tags/v1.6.0.zip)。 + +从这里下载虾哥[xiaozhi-esp32项目1.6.0版本源码](https://github.com/78/xiaozhi-esp32/archive/refs/tags/v1.6.0.zip)。 + +从这里下载虾哥[xiaozhi-esp32项目1.6.0版本源码](https://github.com/78/xiaozhi-esp32/archive/refs/tags/v1.6.0.zip)。 + +下载后,解压缩包,打开`xiaozhi-esp32/main/Kconfig.projbuild`文件。 + + +## 第3步 修改WEBSOCKET地址 +找到`WEBSOCKET_URL`的`default`的内容,把`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步 设置编译参数 + +设置编译参数 + +``` +# 终端命令行进入xiaozhi-esp32的根目录 +cd xiaozhi-esp32 +# 例如我使用的板子是esp32s3,所以设置编译目标为esp32s3,如果你的板子是其他型号,请替换成对应的型号 +idf.py set-target esp32s3 +# 进入菜单配置 +idf.py menuconfig +``` + +![图片](images/build_setting01.png) + +进入菜单配置后,再进入`Xiaozhi Assistant`,将`CONNECTION_TYPE`设置为`Websocket` +回退到主菜单,再进入`Xiaozhi Assistant`,将`BOARD_TYPE`设置你板子的具体型号 +保存退出,回到终端命令行。 + +![图片](images/build_setting02.png) + +## 第5步 编译固件 + +``` +idf.py build +``` + +如果是vscode安装的idf可以使用`F1`或者`ctrl+shift+p`,输入idf然后直接选择进行编译 + +还可以直接进行烧录不用接下来的操作 + + + +## 第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开发环境)](https://ccnphfhqs21z.feishu.cn/wiki/Zpz4wXBtdimBrLk25WdcXzxcnNS)。 +翻到:`方式二:ESP-Launchpad 浏览器WEB端烧录`,从`3. 烧录固件/下载到开发板`开始,按照教程操作。 + +烧录成功且联网成功后,通过唤醒词唤醒小智,留意server端输出的控制台信息。 + +## 常见问题 +以下是一些常见问题,供参考: + +[1、为什么我说的话,小智识别出来很多韩文、日文、英文](./FAQ.md) + +[2、为什么会出现“TTS 任务出错 文件不存在”?](./FAQ.md) + +[3、TTS 经常失败,经常超时](./FAQ.md) + +[4、使用Wifi能连接自建服务器,但是4G模式却接不上](./FAQ.md) + +[5、如何提高小智对话响应速度?](./FAQ.md) + +[6、我说话很慢,停顿时小智老是抢话](./FAQ.md) + +[7、我想通过小智控制电灯、空调、远程开关机等操作](./FAQ.md) diff --git a/docs/firmware-build.md b/docs/firmware-build.md index c3c3347a0a..f821805a3a 100644 --- a/docs/firmware-build.md +++ b/docs/firmware-build.md @@ -1,4 +1,4 @@ -# 编译esp32固件 +# esp32固件编译 ## 第1步 配置环境 先按照这个教程配置项目环境[《Windows搭建 ESP IDF 5.3.2开发环境以及编译小智》](https://icnynnzcwou8.feishu.cn/wiki/JEYDwTTALi5s2zkGlFGcDiRknXf) @@ -6,49 +6,11 @@ ## 第2步 打开配置文件 配置好编译环境后,下载虾哥iaozhi-esp32项目源码, -从这里下载虾哥[xiaozhi-esp32项目源码](https://github.com/78/xiaozhi-esp32/archive/refs/tags/v1.6.0.zip)。 +从这里下载虾哥[xiaozhi-esp32项目源码](https://github.com/78/xiaozhi-esp32)。 -从这里下载虾哥[xiaozhi-esp32项目源码](https://github.com/78/xiaozhi-esp32/archive/refs/tags/v1.6.0.zip)。 +下载后,打开`xiaozhi-esp32/main/Kconfig.projbuild`文件。 -从这里下载虾哥[xiaozhi-esp32项目源码](https://github.com/78/xiaozhi-esp32/archive/refs/tags/v1.6.0.zip)。 - -下载后,解压缩包,打开`xiaozhi-esp32/main/Kconfig.projbuild`文件。 - - -## 第3步 修改WEBSOCKET地址 -找到`WEBSOCKET_URL`的`default`的内容,把`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步 +## 第3步 修改OTA地址 找到`OTA_VERSION_URL`的`default`的内容,把`https://api.tenclass.net/xiaozhi/ota/` 改成你自己的地址,例如,我的接口地址是`http://192.168.1.25:8002/xiaozhi/ota/`,就把内容改成这个。 @@ -70,7 +32,7 @@ config OTA_VERSION_URL The application will access this URL to check for updates. ``` -## 第5步 设置编译参数 +## 第4步 设置编译参数 设置编译参数 @@ -91,7 +53,7 @@ idf.py menuconfig ![图片](images/build_setting02.png) -## 第6步 编译固件 +## 第5步 编译固件 ``` idf.py build @@ -103,7 +65,7 @@ idf.py build -## 第7步 打包bin固件 +## 第6步 打包bin固件 ``` cd scripts @@ -116,7 +78,7 @@ python release.py 注意:如果执行到第二命令后,报了“zip”相关的错误,请忽略这个错误,只要`build`目录下生成固件文件`merged-binary.bin` ,对你没有太大影响,请继续。 -## 第8步 烧录固件 +## 第7步 烧录固件 将esp32设备连接电脑,使用chrome浏览器,打开以下网址 ``` diff --git a/docs/firmware-setting.md b/docs/firmware-setting.md new file mode 100644 index 0000000000..ae66b6e93f --- /dev/null +++ b/docs/firmware-setting.md @@ -0,0 +1,53 @@ +# 基于虾哥编译好的固件配置自定义服务器 + +## 第1步 确认版本 +烧录虾哥已经编译好的1.6.1版本固件 + +## 第2步 准备你的ota地址 +如果你按照教程使用的是全模块部署,就应该会有ota地址。 + +此刻,请你用浏览器打开你的ota地址,例如我的ota地址 +``` +https://2662r3426b.vicp.fun/xiaozhi/ota/ +``` + +如果显示“OTA接口运行正常,websocket集群数量:X”。那就往下。 + +如果显示“OTA接口运行不正常”,大概是你还没在`智控台`配置`Websocket`地址。那就: + +- 1、使用超级管理员登录智控台 + +- 2、顶部菜单点击`参数管理` + +- 3、在列表中找到`server.websocket`项目,输入你的`Websocket`地址。例如我的就是 + +``` +wss://2662r3426b.vicp.fun/xiaozhi/v1/ +``` + +配置完后,再使用浏览器刷新你的ota接口地址,看看是不是正常了。如果还不正常就,就再次确认一下Websocket是否正常启动,是否配置了Websocket地址。 + +## 第3步 进入配网模式 +进入机器的配网模式,在页面顶部,点击“高级选项”,在里面输入你服务器的`ota`地址,点击保存。重启设备 + +## 第4步 唤醒小智,查看日志输出 + +唤醒小智,看看日志是不是正常输出。 + + +## 常见问题 +以下是一些常见问题,供参考: + +[1、为什么我说的话,小智识别出来很多韩文、日文、英文](./FAQ.md) + +[2、为什么会出现“TTS 任务出错 文件不存在”?](./FAQ.md) + +[3、TTS 经常失败,经常超时](./FAQ.md) + +[4、使用Wifi能连接自建服务器,但是4G模式却接不上](./FAQ.md) + +[5、如何提高小智对话响应速度?](./FAQ.md) + +[6、我说话很慢,停顿时小智老是抢话](./FAQ.md) + +[7、我想通过小智控制电灯、空调、远程开关机等操作](./FAQ.md)