物联网设备连接服务

一个轻量级的模型上下文协议(MCP)桥接器,使大型语言模型(LLMs)能够直接与运行Tasmota或类似固件的ESP32设备通信,实现实时物理动作执行。

  • by tinkeriotops
  • JavaScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 tinkeriotops/esp32-mcp

使用说明

ESP32 MCP服务器——将LLM与物联网设备连接

轻量级 模型上下文协议(MCP) 让桥 大型语言模型 直接与a沟通 ESP32 跑步 塔莫塔 或类似的固件。

该项目展示了人工智能助手(如ChatGPT或Copilot)如何 用户意图的原因 并使用标准HTTP命令实时执行物理动作,如切换继电器或读取传感器。


📖 概述

传统的物联网自动化依赖于固定规则、MQTT主题或REST端点。
这个项目用一个简单的概念取代了所有这些:

LLM通过通用协议MCP与您的ESP32进行通信。

无需重新构建固件,无需MQTT代理,无需云依赖。
简单的人类语言变成了结构化的、可执行的命令。

您可以在此处阅读全文:
👉 连接LLM和IoT:ESP32如何说出MCP并遵循AI命令

观看演练视频:
🎥 ESP32+MCP+LLM集成演示


🧠 它做什么

  • 桥梁 MCP(模型上下文协议) 以及您的ESP32固件(例如。, 塔莫塔)
  • 显示单个工具: tasmota-cmd,让LLM发送以下命令:
    /tasmota-cmd {"command": "Power1 1"}
    
  • 本地工作-不需要API密钥或外部服务
  • 兼容 Visual Studio代码复制品聊天 或任何支持MCP的LLM

⚙️ 运作原理

LLM (Copilot/ChatGPT)
        ↓
     MCP Protocol
        ↓
 Node.js MCP Server
        ↓
  ESP32 (Tasmota)

MCP服务器接收结构化请求,将其转换为Tasmota命令(例如。 Power1 ON, Backlog PulseTime1 400; Power1 1),并通过HTTP将它们发送到您的ESP32设备。
响应以明文形式返回给模型,用于推理和后续操作。


🚀 快速开始

1.克隆此仓库

git clone https://github.com/<your-username>/esp32-mcp-server.git
cd esp32-mcp-server

2.安装依赖项

npm install

3.配置您的设备IP

编辑内部常量 index.js:

const DEVICE_IP = "192.168.1.xxx";

4.运行服务器

node index.js

您将看到类似于以下内容的输出:

MCP HTTP server:  http://localhost:3000/mcp
Health:           http://localhost:3000/health
Debug:            http://localhost:3000/debug?command=Power1%201

💬 VS代码中的MCP服务器

连接 GitHub Copilot 聊天助手 或兼容的工具,将此配置添加到您的 .config/github-copilot/ 文件:

{
  "servers": {
    "esp32-mcp": {
      "url": "http://localhost:3000/mcp",
      "type": "http"
    }
  }
}

重新加载Copilot,您将看到新的MCP工具:

/tasmota-cmd {"command": "Power1 1"}

🧩 依赖项

  • Node.js 18+
  • @modelcontextprotocol/sdk
  • express
  • zod

🧰 兼容固件

固件 兼容性 注意事项
塔莫塔 ✅ 完全命令支持(HTTP、MQTT、串行)
ESP-AT ⚙️ GPIO访问受限(需要驱动程序AT构建)
ESP主页 ⚠️ 静态配置——不适合实时控制

📺 参考和资源


🧠 概念概述

该项目证明 物联网中的智能不需要更多的API——它需要上下文.

通过组合:

  • Tasmota的可读命令界面,
  • MCP的标准化AI通信层,以及
  • ESP32的硬件灵活性,

你得到了一个可以理解意图并根据意图行事的设备,而不仅仅是遵循硬编码的规则。


📜 许可证

麻省理工学院许可证©2025[您的姓名或patkiniot.com]