AI小智本地部署
1.安装phpstudy
1.1.安装该软件是为了获得web环境:MySQL+Apache+redio+phpmyadmin,介绍如下:
✅ 1. MySQL(数据库)
作用:关系型数据库管理系统,存储结构化数据,如用户信息、订单、文章内容等。
特点:支持 SQL 语法、事务、索引、高性能查询。
✅ 2. Apache(Web服务器)
作用:处理 HTTP 请求,将网页内容(HTML、PHP、图片等)传输给浏览器。
特点:稳定、支持虚拟主机、模块丰富、兼容性强。
✅ 3. Redis(内存缓存/消息队列)
作用:提高系统性能,缓存热点数据,或作为消息队列使用。
特点:基于内存,速度极快,支持多种数据结构(字符串、哈希、列表、集合等)。
✅ 4. phpMyAdmin(MySQL 图形化管理工具)
作用:用浏览器管理 MySQL 数据库,可执行增删改查、导入导出等操作。
特点:界面友好,免命令行,适合开发和调试数据库
1.2.下载链接:PHPstudy
1.3.安装好PHPstudy之后操作
- 点击软件管理
- 安装MySQL数据库8.0.12
- 安装redis3.0.504
- 安装phpmyadmin4.8.5
- 启动三个套件:apache,mysql,redio
- 回到首页,打开右上角数据库管理工具,输入用户名和密码,例如:root/123456
- 新建数据库,例如:xiaozhi_esp32_server
2.安装JDK21环境
参考CSDN:https://blog.csdn.net/Du_XiaoNan/article/details/137373260
2.1.根据系统下载JDK21链接
2.2.安装JDK21
安装过程基本点击下一步,安装路径要记一下,默认为 C:\Program Files\Java\jdk-21(可更改),例如:D:\Program Files\Java\jdk-21
安装完成后点击关闭。
2.3.配置JDK21环境变量
找到 jdk21 安装路径,
- 搜索并打开环境变量
- 点击新建系统变量
- 名为"JAVA_HOME",变量值为"%JDK-21%“
- 再新建系统变量名为"JDK-21”,变量值指定路径为"D:\Program Finles\jdk-21"(前面步骤中解压后存放jdk-21的路径),设置成功后点击确定。
- 继续新建系统变量,变量名为CLASSPATH,变量值为
“.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib;”
设置成功后点击确定。
- 系统变量中找到Path,双击打开编辑
新建环境变量,%JAVA_HOME%\bin,并再连续点击3个点确定。
(注意:如果之前下载过JDK21,该表的第一行很有可能已经存在一个"javapath"环境变量。有这个环境变量在我们的环境变量配置会被忽略掉,所以应当把该环境变量放在"%JAVA_HOME%\bin"下面或者删掉自动导入的变量,例如图中"C:\Program Files\Common Files\Oracle\Java\javapath"移到下面)
注: 如果想更换其他版本只需要下好不同版本后,将 JAVA-HOME变量 下的 %JDK - 8% 换成需要的版本即可。
2.4.验证JDK21安装和配置
- 键盘同时按win+R,输入cmd,确定打开命令行窗口
2) 输入java后,点击回车正常显示
- 输入javac,正常显示
- 输入java -version,显示版本例如:21.0.7
3.安装Maven环境(java项目管理与构建工具)
参考CSDN:https://blog.csdn.net/inexaustible/article/details/127219595
3.1.下载链接
3.2.解压到D盘,例如:D:\apache-maven-3.9.9,目录结构如下
3.3.配置环境变量
- 同样搜索并打开环境变量
- 在系统变量下点击新建,变量名输入MAVEN_HOME,变量值为maven的安装目录,之后点击确定
- 在系统变量中找到Path,双击打开编辑
新建环境变量 %MAVEN_HOME%\bin,并再连续点击3个确定。
3.4.验证maven安装和配置
cmd命令行中输入:mvn -version,看到maven的版本号则maven配置成功
4.安装VScode及插件java extension pack
4.1.下载链接
4.2.安装VSCode
选择安装路径>全勾选>继续安装即可
4.3.安装插件java extension pack
5.启动java后端
5.1.下载xiaozhi-esp32-server项目(下载链接)
5.2.改名并用VSCode打开
下载下来的文件名称为xiaozhi-esp32-server-main,修改名字为xiaozhi-esp32-server,用vscode打开
-
在VSCode内打开项目路径:xiaozhi-esp32-server\main\manager-api\src\main\resources下的application-dev.yml文件。
确认url链接服务器名称一致,账户密码与前面设置的也一致。
-
再打开AdminApplication.java,按F5运行调试
6.启动web前端
6.1.安装node.js
- 下载并安装node.js,下载链接
- 选择安装路径》添加到环境变量》一路确认安装即可。
6.2.安装项目依赖,启动web服务
- win+R打开cmd终端
- cd命令进入项目路径:xiaozhi-esp32-server\main\manager-web
- 执行命令安装依赖:npm install
- 执行命令启动web服务:npm run serve
- 浏览器打开链接 http://127.0.0.1:8001(启动web服务成功会显示该链接)
- 浏览器打开:http://localhost:8001,默认注册第一个用户,即是超级管理员,以后的用户都是普通用户。例如:xiaoAn/我密码2013.
- 提前注册智谱AI账户并复制APIkeys,网址
个人中心》项目管理》复制API key
- 回到智控台,模型配置
7.安装python环境
7.1.安装anaconda
下载
7.2.以管理员身份运行
右击以管理员身份运行终端
逐行运行命令:
- conda remove -n xiaozhi-esp32-server --all -y
- conda create -n xiaozhi-esp32-server python=3.10 -y
- conda activate xiaozhi-esp32-server
继续运行命令添加清华源通道
-
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
-
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
-
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
-
conda install libopus -y
-
conda install ffmpeg -y
(注:如果清华园通道有问题参考解决方案)
方法 1:使用 conda-forge 通道
libopus 主要在 conda-forge 通道中提供,因此需要先添加 conda-forge,然后安装:
conda config --add channels conda-forge
conda install libopus -y
如果 conda config --add channels conda-forge 失败,可以手动指定通道:
conda install -c conda-forge libopus -y
7.3.安装项目依赖
继续在anaconda终端cd命令进入项目路径:xiaozhi-esp32-server\main\xiaozhi-server,逐行执行命令
- conda activate xiaozhi-esp32-server
- pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
- pip install -r requirements.txt
7.4.下载语音识别模型文件
魔塔下载
将下载好的.pt文件放到项目路径下:xiaozhi-esp32-server\main\xiaozhi-server\models\SenseVoiceSmall
7.4.配置项目文件
- 在文件夹路径“xiaozhi-esp32-server\main\xiaozhi-server”下新建文件夹data,复制config_from_api.yaml到data下重命名 .config.yaml
- 用编辑器打开 .config.yaml,清空之后粘贴以下内容进去
manager-api:url: http://127.0.0.1:8002/xiaozhisecret: 你的server.secret值
(secret的值需要提前在智控台获取)
- 运行项目
依然是Anaconda命令窗口在xiaozhi-server目录下执行命令
- conda activate xiaozhi-esp32-server
- python app.py
运行成功看到输出websocket地址,记下它
将websocket地址填入智控台参数管理中的server.websocket参数值中
8.编译78/xiaozhi-esp32项目
8.1下载后解压项目并修改配置文件
下载
解压后用编辑器打开xiaozhi-esp32\main下的文件Kconfig.projbuild
将官方的ota链接api.tenclass.net改成自己的ip(xxx.xxx.xxx.xxx),例如前面看到的websocket地址就有ip:ws://xxx.xxx.xxx.xxx:8000/xiaozhi/v1
例如:http://自己局域网ip::8002/xiaozhi/ota/
8.2.重新编译上传项目到开发板(新版本已经看不到websocket,修改配置文件Kconfig.projbuild)
- 方法一:vscode编译上传
底部小齿轮进行配置后编译上传,参考视频
- 方法二:ESP-IDF PowerShell编译上传
执行命令方式上传
-
idf.py set-target esp32s3
-
idf.py menuconfig
选择开发板、flash大小、屏幕类型尺寸等设置
-
idf.py build
-
idf.py -p COMx flash
8.3.设置OTA
配网阶段设置自定义OTA链接,这里的ip以自己局域网为准,已经更换过网络要重新设置。
成功配网并设置OTA地址3秒后重启,让输入验证码,打开智控台新增设备即可
参考B站效果视频