modelscope·@vishalmysore/choturobo
一种集成了基于Arduino的机器人技术(ESP32或Arduino Nano)与人工智能的MCP服务器,允许通过人工智能助手控制LED、电机、伺服和传感器等硬件组件。
该项目展示了如何使用 Anthropic 的 Claude AI 提供的 MCP(Model Context Protocol) 框架将基于 Arduino 的机器人(使用 NodeMCU ESP32 或 Arduino Nano 368 板)与 AI 集成。它通过一个简单的接口在硬件组件和 AI 之间提供了无缝连接,用户可以通过手机或计算机控制该接口。
该系统充当一个 机器人服务器(命名为 Chotu Robo),可以与各种物理组件如 LED、电机、舵机、风扇、传感器等进行交互。这些组件可以通过向服务器发送命令来远程控制,服务器再通过 ESP32 或 Arduino Nano 368 微控制器控制硬件。
这种设置为未来的基于 AI 的应用打开了可能性,例如通过移动或 Web 应用程序中的 AI 助手(如 Claude)控制机器人。
Chotu 机器人有两种操作模式:有线模式和无线模式,每种模式针对不同的使用场景和硬件配置设计。
在有线模式下,机器人使用 Arduino Nano 368 板,代码通过 USB 直接上传。此模式不支持通过网络发送实时命令,因为它需要物理 USB 连接才能运行。机器人运行其预先上传的代码,适用于不需要 Wi-Fi 或网络连接的项目。
在无线模式下,机器人由 ESP32 板供电。ESP32 连接到本地 Wi-Fi 网络并启动一个带 Wi-Fi 的网络服务器,通过 REST API 或 WebSocket 监听实时命令。这种模式允许机器人与外部设备交互,并控制各种硬件组件,如 LED、电机、舵机和风扇。
一旦 ESP32 连接到 Wi-Fi,它就会接受来自 TypeScript MCP 服务器或基于 Java Spring 的 MCP 服务器的实时命令,从而控制硬件功能。这使得微控制器硬件与基于 AI 的系统之间能够无缝集成,适用于自动化、机器人或物联网应用。
Chotu Robo 服务器作为处理来自 AI 系统命令的主要枢纽。以下流程概述了系统的工作方式:
设置:
MCP 集成:
blinkLED、buzz、runMotor、moveServo 等。AI 控制:
move-chotu)、控制速度 (set-chotu-speed) 和转动机器人 (turn-chotu) 等操作。实时通信:
用户命令:
以下是一些可用命令及其功能:
blinkLED: 使 LED 按指定时间闪烁。buzz: 使蜂鸣器激活一段时间。runMotor: 以给定速度启动电机并运行设定的时间。moveServo: 将伺服电机移动到指定角度。controlFan: 打开或关闭风扇。toggleRelay: 切换继电器模块的开关状态。readTemperature: 获取当前温度读数。readDistance: 使用超声波传感器测量距离。move-chotu: 通过 AI 提示移动 Chotu 特定步数。start-chotu: 启动 Chotu 并准备好操作。stop-chotu: 停止 Chotu 并关闭操作。turn-chotu: 将 Chotu 转向指定方向(左或右)。set-chotu-speed: 设置 Chotu 的速度。硬件:
软件:
安装 Node.js 和 Johnny-Five:
npm install johnny-five
npm install @modelcontextprotocol/sdk
在 Arduino IDE 上设置 ESP32 或 Arduino Nano 368:
如果使用 ESP32 或 Arduino Nano 368 板,请在 Arduino IDE 中安装 ESP32 板支持。 通过 USB 将 NodeMCU ESP32 或 Arduino Nano 368 连接到您的计算机。 将代码上传到板上:
使用 Arduino IDE 将提供的代码上传到 ESP32 或 Arduino Nano 368。
运行服务器:
通过运行脚本来启动 MCP 服务器。这将设置服务器并与硬件建立通信。
连接到 AI:
从 AI 系统(如 Claude)发送命令来控制机器人。
移动 Chotu:
命令: "Move Chotu forward by 5 steps." 动作: 机器人将根据指定的步数移动。 设置速度:
命令: "Set speed to 10." 动作: 机器人的速度将相应调整。 左转:
命令: "Turn Chotu left." 动作: 机器人将向左旋转。
npx @modelcontextprotocol/inspector node build/choturobo.js
此项目可以作为开发更高级基于 AI 的机器人系统的基石框架。你可以通过以下方式扩展功能:
sudo apt-get update
sudo apt-get install nodejs npm
npm install johnny-five
npm install @modelcontextprotocol/sdk
import org.modelcontextprotocol.server.McpServer;
import org.modelcontextprotocol.server.transport.WebSocketTransport;
public class ChotuRoboServer {
public static void main(String[] args) {
McpServer server = new McpServer();
WebSocketTransport transport = new WebSocketTransport("ws://raspberrypi.local:8080")…
一座通过串行通信将物理硬件设备与人工智能大语言模型连接起来的桥梁,允许用户使用自然语言命令控制硬件。
用于运行代码片段并显示结果的MCP服务器。
一个通过ADB实现对Android设备程序化控制的服务器,提供截图捕获、UI布局分析和包管理等功能,这些功能可以被像Claude Desktop这样的MCP客户端使用。
Claude Code作为模型上下文协议(MCP)服务器的一种实现,通过标准的MCP接口启用Claude的软件工程能力(代码生成、编辑、评审和文件操作)。
用于Cursor IDE的模型上下文协议(MCP)服务器,可简化其他MCP服务器的安装和配置。
一个MCP服务器,允许通过自然语言管理Docker容器,使用户能够在不自行运行命令的情况下组合、检查和调试容器。