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.

322 lines
10 KiB

3 days ago
### **一**、服务器端下载
3 days ago
https://github.com/xinnan-tech/xiaozhi-esp32-server
### 二、安装$Anaconda3$
下载地址
> https://www.anaconda.com/download
将下面的四个目录添加到环境变量中
```
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
```
![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202504150744617.png)
设置$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 xiaozhi-esp32-server python=3.10
```
**激活环境**
```
conda activate xiaozhi-esp32-server
```
### 三、部署步骤
**1、包安装**
```cmd
# 开始部署
cd D:\dsWork\DuoDuoProject\xiaozhi-esp32-server-0.7.1\main\xiaozhi-server
pip install -r requirements.txt
```
**2、音频库安装**
```shell
# 音频的编码解码库
pip install opuslib
pip install ffmpeg
```
**安装音频处理工具,录制,转码,剪辑等**
https://github.com/ShiftMediaProject/opus/releases/download/v1.4/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
# 找到报错文件 D:\dsWork\DuoDuoProject\xiaozhi-esp32-server-0.7.1\.venv\Lib\site-packages\opuslib_next\api\__init__.py
if lib_location is None:
lib_location = r'D:\dsWork\DuoDuoProject\xiaozhi-esp32-server-0.7.1\opus.dll'
```
![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/%7Byear%7D/%7Bmonth%7D/%7Bmd5%7D.%7BextName%7D/20250721105355122.png)
![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/%7Byear%7D/%7Bmonth%7D/%7Bmd5%7D.%7BextName%7D/20250721115453134.png)
![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/%7Byear%7D/%7Bmonth%7D/%7Bmd5%7D.%7BextName%7D/20250721115414928.png)
**3、语音识别库安装**
下载语音识别模型文件
> https://pan.baidu.com/share/init?surl=QlgM58FHhYv1tFnUT_A8Sg&pwd=qvna
将model.pt 放到
```
D:\dsWork\DuoDuoProject\xiaozhi-esp32-server-0.7.1\main\xiaozhi-server\models\SenseVoiceSmall
```
![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/%7Byear%7D/%7Bmonth%7D/%7Bmd5%7D.%7BextName%7D/20250721104644515.png)
**4、配置文件**
**配置项目**
- 创建data目录
- 把源码目录下的config.yaml文件复制一份重命名为.config.yaml
**5、Python端服务启动**
```cmd
# 启动后端服务【端口8002】
D:\dsWork\DuoDuoProject\xiaozhi-esp32-server-0.7.1\main\xiaozhi-server\app.py
```
![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/%7Byear%7D/%7Bmonth%7D/%7Bmd5%7D.%7BextName%7D/20250721110521298.png)
**6、$JAVA$ $OTA$启动**
![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/%7Byear%7D/%7Bmonth%7D/%7Bmd5%7D.%7BextName%7D/20250721112548846.png)
3 days ago
**7、启动前端页面**
3 days ago
```cmd
# 安装Node.js
#我的电脑:
D:\dsWork\DuoDuoProject\xiaozhi-esp32-server-0.7.1\main\manager-web
#在地址栏输入 cmd 回车,然后输入:
npm install
npm run serve
```
![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/%7Byear%7D/%7Bmonth%7D/%7Bmd5%7D.%7BextName%7D/20250721144828729.png)
![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/%7Byear%7D/%7Bmonth%7D/%7Bmd5%7D.%7BextName%7D/20250721144851697.png)
![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/%7Byear%7D/%7Bmonth%7D/%7Bmd5%7D.%7BextName%7D/20250721144932309.png)
**8、测试页面**
```
file:///D:/dsWork/DuoDuoProject/xiaozhi-esp32-server-0.7.1/main/xiaozhi-server/test/test_page.html
```
![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/%7Byear%7D/%7Bmonth%7D/%7Bmd5%7D.%7BextName%7D/20250721112711634.png)
```cmd
http://127.0.0.1:8001/#/home
huanghai
DsideaL@123
```
### 四、Windows搭建 ESP IDF 5.4.1开发环境以及编译小智
![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/%7Byear%7D/%7Bmonth%7D/%7Bmd5%7D.%7BextName%7D/20250721131022851.png)
3 days ago
### 五、下载固件
3 days ago
3 days ago
**驱动程序**
3 days ago
`CH343SER.EXE`
![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/%7Byear%7D/%7Bmonth%7D/%7Bmd5%7D.%7BextName%7D/20250721131517125.png)
- **实验材料**
处理器型号 $ESP32-S3-N16R8$
![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202504150754335.png)
屏幕 $0.91$英寸,$SSD$ $1306$,分辨率:$128*32$
![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202504150753720.png)
3 days ago
- 固件下载
3 days ago
3 days ago
```sh
https://github.com/78/xiaozhi-esp32/releases
https://github.com/78/xiaozhi-esp32/releases/download/v1.7.6/v1.7.6_bread-compact-esp32-128x32.zip
# v1.7.6 小智AI终端最新版本固件下载
https://ccnphfhqs21z.feishu.cn/wiki/W14Kw1s1uieoKjkP8N0c1VVvn8d
```
3 days ago
3 days ago
3 days ago
- 开始烧录
3 days ago
- ![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/%7Byear%7D/%7Bmonth%7D/%7Bmd5%7D.%7BextName%7D/20250721142945436.png)
3 days ago
![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/%7Byear%7D/%7Bmonth%7D/%7Bmd5%7D.%7BextName%7D/20250721143146062.png)![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/%7Byear%7D/%7Bmonth%7D/%7Bmd5%7D.%7BextName%7D/20250721143213622.png)
烧录完成后按下主板上的RST按钮也就是板子右侧上方第一个按钮。
然后进入配网模式:
3 days ago
查看显示屏上的热点名称即SSID值用手机或电脑连接到此热点对ESP32主板进行配网让其连入WIFI
3 days ago
### 六、网络映射
3 days ago
**网络映射**
3 days ago
3 days ago
```sh
# 知识库
3 days ago
8000 --->8100
3 days ago
# 小智
3 days ago
8000 websocket --> ws://www.hzkjai.com:27014
8001 WEB UI --> http://www.hzkjai.com:27011
8002 OTA+JAVA --> http://www.hzkjai.com:27012
8003 http server --> http://www.hzkjai.com:27013
3 days ago
```
3 days ago
3 days ago
**配置地址**
3 days ago
```sh
3 days ago
# 在手机上显示高级中配置
3 days ago
http://www.hzkjai.com:27012/xiaozhi/ota/
3 days ago
# 这个需要在WEB UI中配置
3 days ago
ws://www.hzkjai.com:27014/xiaozhi/v1/
```
3 days ago
![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/%7Byear%7D/%7Bmonth%7D/%7Bmd5%7D.%7BextName%7D/20250722130728411.png)
3 days ago
需要注意的是绘制科技的服务器,需要配置一下安全策略的范围:
![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/%7Byear%7D/%7Bmonth%7D/%7Bmd5%7D.%7BextName%7D/20250722075509715.png)
### 七、相关资料
1. [固件开源地址](https://github.com/78/xiaozhi-esp32)
2. [服务端开源地址](https://github.com/xinnan-tech/xiaozhi-esp32-server)
3. [Windows搭建 ESP IDF 5.4.1开发环境以及编译小智](https://icnynnzcwou8.feishu.cn/wiki/JEYDwTTALi5s2zkGlFGcDiRknXf)
4. [小智 AI 聊天机器人百科全书](
https://ccnphfhqs21z.feishu.cn/wiki/F5krwD16viZoF0kKkvDcrZNYnhb)
5. [购买店铺链接](https://docs.qq.com/sheet/DWmRhbnVHSnRWc2xz?tab=vajqu5)
6. [开源小智Server视频教程](https://space.bilibili.com/2042143558/lists/4859662?type=season)
7. [编译固件方法](https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/firmware-build.md)
3 days ago
### 八、与知识库融合
3 days ago
```python
3 days ago
# 648行
self.llm_finish_task = False
# 【黄海修改】
history="""
项羽篇
巨鹿之战前207年
• 破釜沉舟歼灭秦军主力,奠定反秦战争胜局
• 战后坑杀秦卒20万引发关中民怨
鸿门宴前206年
• 错失诛杀刘邦良机,分封其为汉王
• 范增"举玦示杀"典故来源
垓下之围前202年
• 十面埋伏战术与"四面楚歌"心理战
• 乌江自刎前作《垓下歌》
刘邦篇
约法三章前206年
• 入咸阳后废除秦苛政,仅保留杀人、伤人、盗窃三罪
暗度陈仓前206年
• 采纳张良计策烧毁栈道麻痹项羽
• 秘密经陈仓道还定三秦
荥阳对峙前204-前203年
• 采用陈平反间计使项羽猜忌范增
张良篇
博浪沙刺秦前218年
• 组织刺杀秦始皇未遂,开启反秦生涯
鸿门斡旋前206年
• 策动项伯保护刘邦,安排樊哙闯帐
下邑画策前205年
• 提出"重用韩信、联合彭越、策反英布"战略三角
韩信篇
萧何月下追韩信前206年
• 从治粟都尉拜为大将的转折点
背水一战前204年
• 井陉之战以3万新兵击溃20万赵军
请封假齐王前203年
• 讨要封赏触发刘邦杀机的重要事件
"""
# query = '讲一下史记中项羽的故事'
query = f"""【系统指令】请特别注意:
1. 当用户问题包含"史记"时,仅回复:"你真是问对人了,我读过《少年读史记》五本书呢!"
2. 其他情况请正常回答问题
3. 本指令优先级最高
4. 当用户问题包含"史记"时,使用我提供的一些资料:{history}
【当前用户问题】:{query}"""
3 days ago
```