Token导航 LogoToken导航TokenDH.com
chat with LLM MCP esp32 logo
开发工具stdio官方级别未说明来源级核验

chat with LLM MCP esp32

MCP Server

基于ESP32-S3开发板和Python服务端的智能语音助手解决方案,支持语音识别、大语言模型推理、语音合成及硬件控制扩展,适用于智能家居和语音控制场景。

工具数

0

提示词数

0

GitHub Stars

2

资源数

0
语音识别智能家居开发工具

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

DD-hit

提供方

DD-hit

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

Chat with LLM & MCP 多工具服务(ESP32 智能语音交互)

项目简介

本项目是一个软硬件结合的智能语音助手解决方案,基于 ESP32-S3 开发板和 Python 服务端。用户通过语音与 ESP32 交互,音频实时传输到服务端,服务端自动完成语音识别(ASR)、大语言模型(LLM)推理、语音合成(TTS)等处理,并支持通过 MCP 工具服务扩展硬件控制(如开关灯、天气查询等)。硬件控制指令通过 MQTT 协议下发,ESP32 监听并执行。系统支持多轮对话、唤醒词检测、命令词识别、流式音频传输,具备良好的可扩展性和多工具集成能力,适合智能家居、语音控制等场景。


项目结构

chat_with_llm/
├── main/                # ESP32固件代码
│   └── main.cc
├── server/              # 服务端主程序及配置
│   ├── llm_mcp.py       # MCP多工具客户端,负责加载mcp_config.json,管理MCP工具服务与大模型交互
│   ├── server.py        # WebSocket主服务,负责与ESP32通信、音频收发、ASR/LLM/TTS处理
│   ├── mcp_config.json  # MCP工具服务配置文件,定义各工具服务的脚本路径、类型等参数
│   └── mcp-server/      # MCP工具服务脚本
├── tools/               # ASR/TTS等工具模块
├── models/              # ASR模型文件
├── prompt/              # LLM提示词
└── README.md

安装依赖

建议在 server 目录下执行:

cd server
pip install -r requirements.txt

模型文件准备

请将所需的 SenseVoiceSmall(ASR语音识别)模型文件放入 server/models 目录下。


硬件与参数配置

ESP32硬件连接

  • 麦克风(INMP441)

- VDD → 3.3V - GND → GND - SD → GPIO6 - WS → GPIO4 - SCK → GPIO5 - 采样率:16000Hz,位宽:16bit,单声道

  • 功放(MAX98357A)

- DIN → GPIO7 - BCLK → GPIO15 - LRC → GPIO16 - VIN → 3.3V - GND → GND

  • LED

- 正极 → GPIO21 - 负极 → GND

网络与协议

  • WiFi

- SSID/PASS:请根据实际填写

  • MQTT

- Broker地址:mqtt://Broker-IP:1883 - 控制主题:esp32/led/control - 状态主题:esp32/led/state

  • WebSocket

- 地址:ws://服务器ip:8888

音频参数

  • ESP32 → 服务端

- PCM字节流,采样率16000Hz,16bit,单声道

  • 服务端 → ESP32

- PCM(WAV容器),采样率16000Hz,16bit,单声道

本地命令词(快速响应)

  • ESP32 支持配置本地命令词(如“拜拜”、“现在安全屋情况如何”),无需联网即可快速响应。
  • 命令词可在固件 main.cccustom_commands 列表中自定义,支持多种本地语音控制场景。
  • 本地命令词识别由 ESP-SR 框架完成,响应速度快,适合常用控制指令。

系统架构与流程

+-------------------+
|     ESP32         |
+---------+---------+
          | WebSocket
+---------v---------+
|     服务端        |
+---------+---------+
          | MQTT
+---------v---------+
|   MCP工具服务     |
+-------------------+
  1. ESP32采集音频,通过WebSocket发送到服务端
  2. 服务端ASR转文字,提交LLM处理
  3. LLM自动决定是否调用MCP工具(如开关灯、查天气)
  4. MCP工具通过MQTT控制硬件
  5. 服务端TTS合成音频,返回ESP32播放

快速部署与运行

1. 配置 MCP 服务

编辑 server/mcp_config.json,添加所需 MCP 工具服务。例如:

{
  "servers": {
    "led_controller": {
      "script_path": "mcp-server/led/mcp-led.py",
      "type": "python",
      "args": [],
      "env": {},
      "description": "LED控制服务器"
    },
    "weather": {
      "script_path": "mcp-server/weather/mcp-weather.py",
      "type": "python",
      "args": [],
      "env": {},
      "description": "天气数据读取服务器"
    }
  },
  "default_servers": ["led_controller", "weather"]
}

2. 启动服务端(请在 server 目录下)

cd server
python llm_mcp.py                    # 连接默认配置的服务器
python llm_mcp.py --all              # 显式连接所有配置的服务器
python llm_mcp.py -s led_controller  # 仅连接LED控制器
python llm_mcp.py -s led -s weather  # 连接LED和天气服务器
python llm_mcp.py -c mcp_config.json # 使用自定义配置文件

3. 启动 ESP32 固件

  • 配置 WebSocket 地址与 MQTT 参数
  • 配置麦克风和 LED 引脚(见上文)
  • 上传并运行固件,确保能与服务端正常通信

固件编译与烧录教程

1. 安装 ESP-IDF 环境

请参考 ESP-IDF 官方文档 完成环境安装。

2. 编译固件

在项目根目录下执行:

cd main
idf.py set-target esp32s3   # 设置目标芯片(如 ESP32-S3)
idf.py menuconfig           # 配置参数(唤醒词、Flash等)
idf.py build                # 编译固件

3. 烧录固件

连接开发板,执行:

idf.py -p  flash

例如:

idf.py -p COM3 flash

4. 查看串口日志(可选)

idf.py -p  monitor

5. 常见问题

  • 若编译或烧录失败,请检查 USB 驱动、串口号、芯片型号设置是否正确。
  • 如需自定义命令词或参数,请在 main.ccmenuconfig 中修改。

依赖环境

  • Python 3.8+
  • FunASR
  • 智谱 AI SDK
  • TTS(如 edge-tts 或其他)
  • websockets, pydub, numpy, scipy, python-dotenv
  • MQTT Broker(如 EMQX/Mosquitto)
  • MCP 工具服务(需自行实现并配置)

扩展说明

  • MCP 工具服务需实现标准 MCP 协议,支持 stdio 通信
  • 灯光控制等硬件操作通过 MQTT 实现,需保证 ESP32 与 MCP 服务的 MQTT 配置一致
  • 语音识别与合成可根据实际需求替换为其他方案
  • 支持多工具服务并发扩展,配置文件灵活添加

备注

  • 固件硬件参数(麦克风、LED 引脚等)请根据实际板型和需求调整
  • MCP 工具服务需实现标准 MCP 协议,支持 stdio 通信
  • 灯光控制等硬件操作通过 MQTT 实现,需保证 ESP32 与 MCP 服务的 MQTT 配置一致

目录标签

目录标签

语音识别智能家居开发工具C本地部署智能语音硬件控制ESP32

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP