|
|
|
@ -1,22 +1,91 @@
|
|
|
|
|
### 一、相关文档
|
|
|
|
|
1. [视频教程:小智$ai$服务端本地部署完整教程,支持$DeepSeek$接入](https://www.bilibili.com/video/BV1GvQWYZEd2/)
|
|
|
|
|
### 一、视频教程
|
|
|
|
|
[小智$ai$服务端本地部署完整教程,支持$DeepSeek$接入](https://www.bilibili.com/video/BV1GvQWYZEd2/)
|
|
|
|
|
|
|
|
|
|
2. [固件开源地址](https://github.com/78/xiaozhi-esp32)
|
|
|
|
|
### 二、安装$Anaconda3$
|
|
|
|
|
|
|
|
|
|
3. [服务端开源地址](https://github.com/xinnan-tech/xiaozhi-esp32-server)
|
|
|
|
|
下载地址
|
|
|
|
|
|
|
|
|
|
4. [Windows搭建 ESP IDF 5.3.2开发环境以及编译小智](https://icnynnzcwou8.feishu.cn/wiki/JEYDwTTALi5s2zkGlFGcDiRknXf)
|
|
|
|
|
> https://www.anaconda.com/download
|
|
|
|
|
|
|
|
|
|
安装与配置
|
|
|
|
|
|
|
|
|
|
5. [小智 AI 聊天机器人百科全书](
|
|
|
|
|
https://ccnphfhqs21z.feishu.cn/wiki/F5krwD16viZoF0kKkvDcrZNYnhb)
|
|
|
|
|
> https://blog.csdn.net/2302_76672693/article/details/144267428
|
|
|
|
|
|
|
|
|
|
将下面的四个目录添加到环境变量中
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
D:\anaconda3\Library\mingw-w64\bin
|
|
|
|
|
D:\anaconda3\Library\bin
|
|
|
|
|
D:\anaconda3\Library\usr\bin
|
|
|
|
|
D:\anaconda3\Scripts
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
确认是否安装成功
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
WIN+R,输入cmd打开控制台,输入conda -V
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
使用$Anaconda$ 的黑窗口进行配置
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Anaconda (anaconda3)\Anaconda Prompt.lnk
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
设置$Anaconda$镜像
|
|
|
|
|
|
|
|
|
|
```cmd
|
|
|
|
|
conda config --remove-key channels
|
|
|
|
|
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
|
|
|
|
|
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
|
|
|
|
|
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
|
|
|
|
|
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
|
|
|
|
|
conda config --show channels
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**创建环境**
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
conda create --name python310 python=3.10
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**激活环境**
|
|
|
|
|
|
|
|
|
|
6. [购买店铺链接](https://docs.qq.com/sheet/DWmRhbnVHSnRWc2xz?tab=vajqu5)
|
|
|
|
|
```
|
|
|
|
|
conda activate python310
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**查看当前环境**
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
conda env list
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**退出虚拟环境**
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
conda deactivate
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**查看已安装了哪些包**
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
pip list
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 三、部署步骤
|
|
|
|
|
|
|
|
|
|
### 二、部署
|
|
|
|
|
```shell
|
|
|
|
|
# 如果以前配置过,那么先移除掉,如果以前没有配置过,略过本步骤
|
|
|
|
|
conda remove -n xiaozhi-esp32-server --all -y
|
|
|
|
|
|
|
|
|
|
# 创建虚拟环境
|
|
|
|
|
conda create -n xiaozhi-esp32-server python=3.10 -y
|
|
|
|
|
conda activate xiaozhi-esp32-server
|
|
|
|
|
|
|
|
|
@ -24,14 +93,16 @@ conda activate xiaozhi-esp32-server
|
|
|
|
|
conda install libopus -y
|
|
|
|
|
conda install ffmpeg -y
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 安装音频处理工具,录制,转码,剪辑等
|
|
|
|
|
https://opus-codec.org/downloads/
|
|
|
|
|
下载 Windows 版本的 DLL 文件(通常是 opus.dll)
|
|
|
|
|
将下载的 DLL 文件放在以下位置之一:
|
|
|
|
|
系统目录(如 C:\Windows\System32)
|
|
|
|
|
https://github.com/ShiftMediaProject/opus/releases
|
|
|
|
|
|
|
|
|
|
黄海下载的是:libopus_v1.4_msvc17.zip
|
|
|
|
|
|
|
|
|
|
然后依据下面的文档指示,对环境代码进行配置:
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
> [解决Exception: Could not find Opus library. Make sure it is installed.](https://blog.csdn.net/Rysxt_/article/details/146361114)
|
|
|
|
|
|
|
|
|
|
``` python
|
|
|
|
|
if lib_location is None:
|
|
|
|
|
lib_location = r'D:\anaconda3\envs\xiaozhi-esp32-server\Lib\site-packages\libopus_v1.4_msvc17\bin\x64\opus.dll'
|
|
|
|
@ -52,38 +123,78 @@ pip install -r requirements.txt
|
|
|
|
|
|
|
|
|
|
将model.pt 放到
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
D:\dsWork\QingLong\XiaoZhi\xiaozhi-esp32-server\main\xiaozhi-server\models\SenseVoiceSmall
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**配置项目**
|
|
|
|
|
如果你的xiaozhi-server目录没有data,你需要创建data目录。如果你的data下面没有.config.yaml文件,你可以把源码目录下的config.yaml文件复制一份,重命名为.config.yaml
|
|
|
|
|
|
|
|
|
|
**注册**
|
|
|
|
|
|
|
|
|
|
```cmd
|
|
|
|
|
#我的电脑:
|
|
|
|
|
D:\dsWork\QingLong\XiaoZhi\xiaozhi-esp32-server\main\manager-web
|
|
|
|
|
|
|
|
|
|
#在地址栏输入 cmd 回车,然后输入:
|
|
|
|
|
npm install
|
|
|
|
|
npm run serve
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 三、注册
|
|
|
|
|
http://10.10.21.20:8001/#/home
|
|
|
|
|
huanghai
|
|
|
|
|
DsideaL@123
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 四、修改固件
|
|
|
|
|
编译esp32固件
|
|
|
|
|
https://github.com/TOM88812/xiaozhi-esp32-server/blob/main/docs/firmware-build.md
|
|
|
|
|
|
|
|
|
|
[编译esp32固件](https://github.com/TOM88812/xiaozhi-esp32-server/blob/main/docs/firmware-build.md)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
下载安装
|
|
|
|
|
|
|
|
|
|
esp-idf-tools-setup-offline-5.3.2.exe
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
安装驱动
|
|
|
|
|
|
|
|
|
|
CH343SER.EXE
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
**实验材料**
|
|
|
|
|
处理器型号 ESP32-S3-N16R8
|
|
|
|
|
屏幕 128*32
|
|
|
|
|
处理器型号 $ESP32-S3-N16R8$
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
屏幕 $0.91$英寸,$SSD$ $1306$,分辨率:$128*32$
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
**步骤1**
|
|
|
|
|
双击桌面上的ESP-IDF 5.3 PowerShell 快捷方式
|
|
|
|
|
|
|
|
|
|
**步骤2**
|
|
|
|
|
|
|
|
|
|
**修改WEB服务地址**
|
|
|
|
|
**修改配置文件**
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
D:\dsWork\QingLong\XiaoZhi\xiaozhi-esp32\main\Kconfig.projbuild
|
|
|
|
|
```
|
|
|
|
|
```yaml
|
|
|
|
|
# 设置OTA地址
|
|
|
|
|
config OTA_VERSION_URL
|
|
|
|
|
string "OTA Version URL"
|
|
|
|
|
default "http://10.10.21.20:8002/xiaozhi/ota/"
|
|
|
|
|
help
|
|
|
|
|
The application will access this URL to check for updates.
|
|
|
|
|
|
|
|
|
|
# 配置本地服务器的服务地址
|
|
|
|
|
config WEBSOCKET_URL
|
|
|
|
|
depends on CONNECTION_TYPE_WEBSOCKET
|
|
|
|
|
string "Websocket URL"
|
|
|
|
@ -91,13 +202,6 @@ config WEBSOCKET_URL
|
|
|
|
|
help
|
|
|
|
|
Communication with the server through websocket after wake up.
|
|
|
|
|
|
|
|
|
|
# 清空OTA地址
|
|
|
|
|
config OTA_VERSION_URL
|
|
|
|
|
string "OTA Version URL"
|
|
|
|
|
default ""
|
|
|
|
|
help
|
|
|
|
|
The application will access this URL to check for updates.
|
|
|
|
|
|
|
|
|
|
# 修改默认连接方式
|
|
|
|
|
choice CONNECTION_TYPE
|
|
|
|
|
prompt "Connection Type"
|
|
|
|
@ -109,6 +213,38 @@ choice CONNECTION_TYPE
|
|
|
|
|
config CONNECTION_TYPE_WEBSOCKET
|
|
|
|
|
bool "Websocket"
|
|
|
|
|
endchoice
|
|
|
|
|
|
|
|
|
|
# 设置默认的开发板类型
|
|
|
|
|
choice BOARD_TYPE
|
|
|
|
|
prompt "Board Type"
|
|
|
|
|
default BOARD_TYPE_BREAD_COMPACT_WIFI
|
|
|
|
|
help
|
|
|
|
|
Board type. 开发板类型
|
|
|
|
|
config BOARD_TYPE_BREAD_COMPACT_WIFI
|
|
|
|
|
bool "面包板新版接线(WiFi)"
|
|
|
|
|
config BOARD_TYPE_BREAD_COMPACT_WIFI_LCD
|
|
|
|
|
bool "面包板新版接线(WiFi)+ LCD"
|
|
|
|
|
config BOARD_TYPE_BREAD_COMPACT_ML307
|
|
|
|
|
bool "面包板新版接线(ML307 AT)"
|
|
|
|
|
config BOARD_TYPE_BREAD_COMPACT_ESP32
|
|
|
|
|
bool "面包板(WiFi) ESP32 DevKit"
|
|
|
|
|
config BOARD_TYPE_BREAD_COMPACT_ESP32_LCD
|
|
|
|
|
bool "面包板(WiFi+ LCD) ESP32 DevKit"
|
|
|
|
|
|
|
|
|
|
# 设置默认屏幕
|
|
|
|
|
choice DISPLAY_OLED_TYPE
|
|
|
|
|
depends on BOARD_TYPE_BREAD_COMPACT_WIFI || BOARD_TYPE_BREAD_COMPACT_ML307 || BOARD_TYPE_BREAD_COMPACT_ESP32
|
|
|
|
|
prompt "OLED Type"
|
|
|
|
|
default OLED_SSD1306_128X32
|
|
|
|
|
help
|
|
|
|
|
OLED 屏幕类型选择
|
|
|
|
|
config OLED_SSD1306_128X32
|
|
|
|
|
bool "SSD1306, 分辨率128*32"
|
|
|
|
|
config OLED_SSD1306_128X64
|
|
|
|
|
bool "SSD1306, 分辨率128*64"
|
|
|
|
|
config OLED_SH1106_128X64
|
|
|
|
|
bool "SH1106, 分辨率128*64"
|
|
|
|
|
endchoice
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**设定目标板**
|
|
|
|
@ -123,25 +259,66 @@ idf.py set-target esp32s3
|
|
|
|
|
idf.py menuconfig
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
进入Xiaozhi Assistant选项
|
|
|
|
|
配置一下
|
|
|
|
|
配置一下
|
|
|
|
|
|
|
|
|
|
进入$Xiaozhi$ $Assistant$选项
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
$Board$ $Type$:
|
|
|
|
|
|
|
|
|
|
config BOARD_TYPE_BREAD_COMPACT_WIFI
|
|
|
|
|
bool "面包板新版接线(WiFi)"
|
|
|
|
|
|
|
|
|
|
Board Type: BOARD_TYPE_BREAD_COMPACT_WIFI
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
DISPLAY_OLED_TYPE:OLED_SSD1306_128X32
|
|
|
|
|
$DISPLAY\_OLED\_TYPE$:
|
|
|
|
|
|
|
|
|
|
$OLED\_SSD1306\_128X32$
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
按ESC退回主界面,再点S进行保存。
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
**编译固件**
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
idf.py build
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**打包bin固件**
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
**打包$bin$固件**
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
cd scripts
|
|
|
|
|
python release.py
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
**打包后的产物**
|
|
|
|
|
D:\dsWork\QingLong\XiaoZhi\xiaozhi-esp32\build\merged-binary.bin
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
D:\dsWork\QingLong\XiaoZhi\xiaozhi-esp32\build\merged-binary.bin
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
### 六、相关教程
|
|
|
|
|
|
|
|
|
|
1. [固件开源地址](https://github.com/78/xiaozhi-esp32)
|
|
|
|
|
|
|
|
|
|
2. [服务端开源地址](https://github.com/xinnan-tech/xiaozhi-esp32-server)
|
|
|
|
|
|
|
|
|
|
3. [Windows搭建 ESP IDF 5.3.2开发环境以及编译小智](https://icnynnzcwou8.feishu.cn/wiki/JEYDwTTALi5s2zkGlFGcDiRknXf)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5. [小智 AI 聊天机器人百科全书](
|
|
|
|
|
https://ccnphfhqs21z.feishu.cn/wiki/F5krwD16viZoF0kKkvDcrZNYnhb)
|
|
|
|
|
|
|
|
|
|
6. [购买店铺链接](https://docs.qq.com/sheet/DWmRhbnVHSnRWc2xz?tab=vajqu5)
|