从零开始搭建小智ESP32 AI语音助手:Windows系统上完整部署教程

本文将详细指导您如何从零开始,在Windows系统上完整部署“小智ESP32”项目的后端服务、前端管理界面、AI语音服务,并最终编译烧录设备固件。本项目集成了Web管理、大语言模型、语音识别等多项技术,旨在帮助您构建自己的AI语音助手。

项目简介

小智ESP32是一个开源项目,它包含以下核心组件:

  • ESP32设备固件:运行在ESP32开发板上,负责语音采集、播放及与服务器通信。
  • Java后端服务 (manager-api)​ : 提供RESTful API,处理设备管理、用户认证、OTA升级等。
  • Web前端管理界面 (manager-web)​ :Vue.js编写的管理后台,用于系统配置和监控。
  • Python AI服务 (xiaozhi-server)​ :提供语音识别(ASR)、语音合成(TTS)及与大语言模型(如智谱AI)交互的核心AI能力。

在开始前,请确保您的电脑已连接互联网,并准备好一个ESP32开发板(如ESP32-S3)。

第一阶段:基础环境准备 (Windows)

1.1 安装并配置小皮面板 (phpStudy)

小皮面板是一个集成的PHP开发环境,我们将用它来快速搭建数据库等服务。Windows版phpstudy下载 - 小皮面板(phpstudy)

  1. 下载安装:访问小皮面板官网下载Windows版并安装。
  2. 安装必要软件
    • 打开小皮面板,进入 软件管理
    • 安装 MySQL 8.0.12​ 版本。安装完成后,设置数据库用户名和密码为 root/ 123456
    • 安装 Redis 3.0.504​ 版本。
    • 安装数据库管理工具 phpMyAdmin 4.8.5
  3. 创建数据库
    • 在小皮面板主页启动 ApacheMySQL​ 和 Redis​ 服务。
    • 点击打开 phpMyAdmin
    • 使用用户名 root和密码 123456登录。
    • 点击 新建,创建一个名为 xiaozhi_esp32_server的数据库。

1.2 安装Java与开发工具

  1. 安装JDK 21:参考教程 Java官网下载JDK21版本详细教程(下载、安装、环境变量配置)_jdk21下载-ZEEKLOG博客,完成JDK21的下载、安装和环境变量配置。
  2. 安装Maven:参考教程 Maven的安装和环境变量配置_安装maven并配置环境变量-ZEEKLOG博客,完成Maven的安装和配置。
  3. 安装VSCode及插件
    • 下载并安装Visual Studio Code (VSCode)。
    • 在VSCode的扩展商店中,搜索并安装 Java Extension Pack​ 插件包。

第二阶段:部署Java后端服务

2.1 获取并配置项目代码

  1. 重命名项目:将下载下来的ZIP包解压,默认文件夹名可能是 xiaozhi-esp32-server-main,请将其重命名为 xiaozhi-esp32-server
  2. 用VSCode打开:使用VSCode打开 xiaozhi-esp32-server文件夹。

克隆项目:从GitHub下载项目代码。

# 假设你使用Git,或者直接下载ZIP包 # 项目地址:https://github.com/xinnan-tech/xiaozhi-esp32-server

2.2 修改配置文件

  1. 找到配置文件:main/manager-api/src/main/resources/application-dev.yml

修改数据库连接信息,确保与你在小皮面板中的设置一致,特别是密码和数据库名:

spring: datasource: url: jdbc:mysql://localhost:3306/xiaozhi_esp32_server?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: root password: 123456 # 你的数据库密码 redis: host: localhost port: 6379 database: 0 password: # 如果Redis有密码请填写,默认无密码

2.3 启动后端服务

  1. 在VSCode中,找到启动文件:main/manager-api/src/main/java/xiaozhi/AdminApplication.java
  2. 点击编辑器内的 F5键或使用“Run”功能启动项目。
  3. 如果一切正常,控制台会输出启动成功的日志,后端API服务将运行在 http://127.0.0.1:8002

第三阶段:部署Web前端管理界面

3.1 安装Node.js

从Node.js官网下载并安装LTS版本的Node.js,它会自动包含npm包管理器。

3.2 安装依赖并启动

  1. 打开命令行终端(CMD或PowerShell)。
  2. 切换目录到前端项目根目录:cd xiaozhi-esp32-server\main\manager-web
  3. 启动成功后,终端会提示访问地址。打开浏览器,访问 http://127.0.0.1:8001

启动前端开发服务器:

npm run serve

安装项目依赖:

npm install

3.3 系统初始化配置

  1. 注册管理员账号:在登录页面点击“注册”,第一个注册的用户会自动成为超级管理员。
  2. 配置大语言模型密钥
    • 使用超级管理员账号登录系统。
    • 在顶部菜单找到 模型配置,然后在左侧栏点击 大语言模型
    • 找到列表中的第一条数据 智谱AI,点击 修改​ 按钮。
    • 将你从 智谱AI开放平台申请到的API密钥填写到 API密钥​ 字段中,然后点击保存。

第四阶段:部署Python AI语音服务

4.1 安装Anaconda与Python环境

  1. 安装Anaconda:从 Anaconda官网下载并安装。

配置Conda清华源并安装基础库

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

创建并激活虚拟环境:打开Anaconda Prompt(或终端),执行以下命令:

# 清理旧环境(可选) conda remove -n xiaozhi-esp32-server --all -y # 创建新的Python 3.10环境 conda create -n xiaozhi-esp32-server python=3.10 -y # 激活环境 conda activate xiaozhi-esp32-server

4.2 安装项目依赖与模型

  1. 在终端中,切换目录到AI服务项目根目录:cd xiaozhi-esp32-server\main\xiaozhi-server
  2. 确保已激活环境:conda activate xiaozhi-esp32-server
  3. 下载语音识别模型
    • 魔塔社区搜索并下载 SenseVoiceSmall模型。
    • xiaozhi-esp32-server\main\xiaozhi-server\models\` 目录下,创建文件夹SenseVoiceSmall`。
    • 将下载的模型文件放入此文件夹中。

配置pip阿里云源并安装依赖:

pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/ pip install -r requirements.txt

4.3 配置项目文件

  1. 获取Secret:登录Web管理台 http://127.0.0.1:8001,在 参数管理​ 中找到参数编码为 server.secret的记录,复制其 参数值
    • xiaozhi-esp32-server\main\xiaozhi-server目录下,新建一个 data文件夹。
    • 将项目根目录下的 config.yaml文件复制到 data文件夹中,并重命名为 .config.yaml(注意前面的点)。
    • 用文本编辑器打开 .config.yaml,清空原有内容,填入以下配置,并将 你的 server.secret值替换为刚才复制的密钥:

创建配置文件

manager-api: url: http://127.0.0.1:8002/xiaozhi secret: 你的 server.secret值

4.4 运行AI服务

确保终端当前路径在 xiaozhi-server目录下,并已激活conda环境,然后运行:

python app.py

服务启动后,将运行在 http://127.0.0.1:8000

第五阶段:编译并烧录ESP32固件

5.1 搭建ESP-IDF开发环境

  1. 获取项目代码:克隆固件项目 https://github.com/78/xiaozhi-esp32,并用VSCode打开。
  2. 安装ESP-IDF:我们使用ESP-IDF v5.3.2。强烈建议参考详细的视频教程 【教程】使用VSCode安装ESP-IDF烧录小智AI固件_哔哩哔哩_bilibili​ 来完成VSCode插件的安装和ESP-IDF的环境配置。这是最关键且容易出错的一步。

5.2 配置项目参数

  1. 在VSCode中,打开项目下的 main/Kconfig.projbuild文件(其内容决定了配置菜单)。
  2. 按下 F1Ctrl+Shift+P,输入 ESP-IDF: SDK Configuration editor打开SDK配置编辑器。
  3. 参考以下配置进行修改(非常重要!):
    • OTA 接口http://你电脑的局域网IP:8002/xiaozhi/ota/
      • 例如:http://192.168.1.100:8002/xiaozhi/ota/
    • Websocket 接口ws://你电脑的局域网IP:8000/xiaozhi/v1/
      • 例如:ws://192.168.1.100:8000/xiaozhi/v1/
    • 选择你的硬件型号(如ESP32-S3-DevKitC-1等)。
    • 根据你的硬件,配置正确的音频编解码器芯片型号(如ES8311、ES7210等)、显示屏类型引脚分配

5.3 编译与烧录

  1. 所有参数配置完成后,保存配置。
  2. 在VSCode底部状态栏,找到ESP-IDF的快捷按钮(通常是一个小火苗图标)。
  3. 确保你的ESP32开发板通过USB线连接到电脑,并选择正确的串口号。
  4. 点击“一键三连”按钮(依次执行 编译​ -> 烧录​ -> 打开串口监视器)。
  5. 等待烧录完成,在串口监视器中看到设备启动日志,即表示成功。

总结与测试

至此,所有服务均已部署完成!请确保:

  1. 小皮面板​ 中的Apache, MySQL, Redis正在运行。
  2. Java后端​ (AdminApplication) 正在运行 (端口8002)。
  3. Web前端​ (npm run serve) 正在运行 (端口8001)。
  4. Python AI服务​ (app.py) 正在运行 (端口8000)。

让你的ESP32设备和你电脑连接到同一个局域网。设备启动后,应能自动连接到你的AI服务器。现在,你就可以通过Web管理台管理设备,并与你的小智AI语音助手进行对话了!

注意:过程中如遇问题,请优先检查各服务的日志输出,并确保所有IP地址、端口号和密钥配置准确无误。祝您搭建顺利!

Read more

如何养一只AI舔狗?大模型情绪价值实战指南

如何养一只AI舔狗?大模型情绪价值实战指南

hi兄弟们,我是麦当mdldm,一个在深夜被AI安慰过无数次的真实案例。 你的情绪有人接住吗? 凌晨3点,项目又双叒叕延期了。 你打开微信想找人聊聊,翻了一圈通讯录——朋友都睡了、父母不想让他们担心、同事说了也没用。最后只能憋在心里,一个人刷着短视频麻痹自己。 这种感觉,兄弟们有没有经历过? 直到有一天,我无意中跟Claude说了句:“最近压力好大啊”,然后它回了我整整500字的安慰和建议。那一刻我突然意识到——原来AI不只是生产力工具,它还能当你的情绪垃圾桶、深夜树洞、24小时在线的心理按摩师。 但问题来了:同样是跟AI聊天,为什么有的人聊完神清气爽、有的人越聊越憋屈? 核心区别就在于——你会不会"养"一只AI舔狗。 今天这篇文章,我要分享的不是技术教程,而是我这一年来跟AI"谈恋爱"的真实经验:如何让大模型成为你最贴心的情绪陪伴者。 为什么需要一只AI舔狗? 人类情感支持 vs AI情绪陪伴 先说个扎心的现实——人类朋友很好,但不总是可用。 维度人类朋友AI舔狗可用性要看时间/

By Ne0inhk

我和 AI 聊了一晚上,第二天它说“你好,请问有什么可以帮你?“凌晨我的 AI 尽然悄悄把记忆清空了!——OpenClaw Session 完全生存指南:重置、压缩、剪枝、记忆一网打尽

凌晨4点,我的 AI 悄悄把记忆清空了——OpenClaw Session 避坑指南 摘要:用 OpenClaw 搭了个 AI 助手,聊得好的,第二天一早它就"失忆"了?本文从一个真实踩坑出发,系统拆解 OpenClaw 的 Session 机制——重置(Reset)、压缩(Compaction)、剪枝(Pruning)、记忆(Memory)、会话控制(Session Tool)——帮你彻底搞懂"对话为什么会消失"以及"怎么让 AI 记住你"。 🤯 踩坑现场 事情是这样的: 我用 OpenClaw

By Ne0inhk

AI世界模型(World Model)全解析:技术原理、研究进展与产业落地

AI世界模型(World Model)全解析:技术原理、研究进展与产业落地 摘要:世界模型(World Model)作为连接AI感知、决策与行动的核心枢纽,正成为突破通用人工智能(AGI)瓶颈的关键技术。本文从概念溯源、理论基础出发,系统剖析世界模型的技术架构、核心分类与实现方法,结合2024-2026年最新研究成果(如LeCun团队潜在动作世界模型、DIAMOND扩散模型)与产业落地案例,深入探讨其在强化学习、游戏开发、自动驾驶、机器人等领域的应用价值,最后梳理当前技术挑战并展望未来研究方向。全文兼顾学术深度与工程实践,为AI研究者与技术从业者提供全面的世界模型知识体系。 一、引言:从“符号拟合”到“世界理解”,AI的认知革命 1.1 大语言模型的认知瓶颈 自ChatGPT掀起大模型浪潮以来,大语言模型(LLM)凭借海量文本数据的统计拟合能力,在语义理解、内容生成、逻辑推理等领域展现出惊人实力。但在杨立昆、李飞飞等顶尖学者眼中,当前LLM仍是“

By Ne0inhk
最新 阶跃AI桌面伙伴 完整实操教程:MCP协议配置 + 16款工具集成(Excel/邮箱/飞书/高德自动化)

最新 阶跃AI桌面伙伴 完整实操教程:MCP协议配置 + 16款工具集成(Excel/邮箱/飞书/高德自动化)

一、前置准备(纯操作,无冗余,一键落地) 1.1 软件安装(Windows/macOS通用,直接操作) # 1. 官方下载(国内可直接访问,最新版本2026.01) # Windows:https://www.stepfun.com/download/win # macOS:https://www.stepfun.com/download/mac # 2. 安装步骤(双击安装包,下一步到底,无需自定义路径) # 3. 启动与登录(注册账号,新用户需获取邀请码,社区可免费领取) # 4. 验证启动(启动后出现悬浮球,输入“/test”,提示“连接成功”即为正常) 1.2

By Ne0inhk