使用说明
Arduino MCP服务器:用AI控制你的Arduino!
欢迎来到Arduino MCP服务器项目!该项目允许您使用名为的特殊连接从计算机控制Arduino板 MCP(模型上下文协议)。把它想象成使用智能AI助手向Arduino发出指令!
这个项目是干什么的?
在这个项目中,我们正在构建一个“服务器”,用于监听来自人工智能(如克劳德桌面)的命令。当人工智能告诉它,我们的Arduino将打开或关闭一些LED。这是一种非常酷的方式来了解人工智能如何与现实世界互动!
你需要什么
在我们开始之前,请确保您已经:
- Arduino板: 任何像Uno或Nano这样的Arduino板都可以工作。
- 两个LED: 一个白色,一个红色。
- 两个1k电阻器: 这些对于保护您的LED非常重要。
- 跳线: 连接一切。
- USB电缆: 将Arduino连接到计算机。
- 克劳德桌面: 这是我们将要使用的AI助手。
- Python 3.12或更高版本: 我们的代码是用Python编写的。
uv(超快Python包安装程序和解析器): 我们用它来管理我们的Python库。- 克劳德桌面
如何设置Arduino
-
连接LED:
- 白色LED: 将白色LED的长腿(正极)连接到 数字引脚12 通过220欧姆的电阻器连接到Arduino上。将较短的腿(负极)连接到 国民总需求 Arduino上的(接地)引脚。
- 红色LED: 将红色LED的长腿(正极)连接到 数字引脚11 通过220欧姆的电阻器连接到Arduino上。将较短的腿(负极)连接到 国民总需求 Arduino上的(接地)引脚。
(记住始终使用带LED的电阻器,以防止它们烧坏!)
-
上传StandardFirmataPlus草图:
- 打开Arduino IDE(集成开发环境)。
- 去图书馆
Library Manager>搜索和下载Firmata - 首选
File>Examples>Firmata>StandardFirmata. - 从以下位置选择Arduino板
Tools>Board. - 从中选择正确的端口
Tools>Port. - 上传
StandardFirmata在Arduino板上绘制草图。这个程序允许Python控制Arduino。
准备好Python代码
-
下载项目: 如果您还没有,请将此项目下载或克隆到您的计算机上。
-
打开终端/命令提示符: 导航到保存此项目的文件夹。
-
安装Python依赖项: 我们将使用
uv安装Python代码所需的一切。uv pip install此命令读取
pyproject.toml文件并安装fastmcp和pyfirmata2图书馆。
理解Python代码(main.py)
让我们快速浏览一下Python代码的主要部分:
from fastmcp import FastMCP:此行导入FastMCP库,它帮助我们创建MCP服务器。import pyfirmata2:这条线进口pyfirmata2,这是一个让Python与Arduino对话的库。Arduino = pyfirmata2.Arduino('/dev/cu.usbmodem212201'): 重要! 你需要改变'/dev/cu.usbmodem212201'到 COM端口 您的Arduino已连接到。您可以在Arduino IDE中找到它Tools>Port。它可能看起来像COM3在Windows或/dev/ttyUSB0在Linux上。@ArduinoMCP.tool:这些特殊线路(@ArduinoMCP.tool)他们被称为“装饰师”FastMCP它们下面的功能是AI客户端可以使用的“工具”。white_led_ON(),red_led_ON(),led_OFF():这些是我们的函数(小程序),告诉Arduino打开白色LED、打开红色LED或关闭两个LED。ArduinoMCP.run():此行启动我们的MCP服务器,使其准备好接收命令!
设置Claude桌面
现在,让我们告诉Claude Desktop如何连接到我们的Arduino服务器。
- 打开您的MCP客户端 在这种情况下
Claude Desktop - 首选
Settings>Developer>Edit Config>并打开配置文件claude_desktop_config.json - 复制并粘贴以下内容并更新路径:
{ "mcpServers": { "arduino": { "command": "/Users/aiman/.local/bin/uv", # this too "args": [ "--directory", "/Users/aiman/Dev/Arduino_MCP", # update to the path "run", "main.py" ] } } }"command": 这应该是你的完整路径uv可执行。如果你使用的是Windows,它可能类似于C:\Users\YourUser\AppData\Local\uv\uv.exe。在macOS/Linux上,它通常位于用户的本地bin目录中,如图所示。"--directory": 这应该是 完整路径 到Arduino_MCP您计算机上的文件夹main.py文件已找到。请确保此路径正确!"run", "main.py": 这些告诉uv运行您的main.py脚本。
运行项目!
-
启动克劳德桌面。
-
MCP服务器应自动启动。 Claude Desktop将使用
claude_desktop_config.json启动Arduino MCP服务器的文件。 -
和克劳德谈谈! 现在你可以让Claude控制你的Arduino。试着说这样的话:
- “打开白色LED。”
- “打开红色LED。”
- “关闭所有LED。”
Claude Desktop将理解您的命令并将其发送到Arduino MCP服务器,然后该服务器将告诉您的Arduino该做什么!
享受用AI控制Arduino的乐趣!这只是你能做的事情的开始!