README
🚀 MBotMcp
该项目展示了如何借助Spring AI和模型上下文协议(MCP)来控制mBot2机器人。通过此项目的设置,AI模型能够运用简单的自然语言命令(例如“探索”或“左转”)对物理机器人进行控制,为机器人的智能化控制提供了便捷途径。
🚀 快速开始
本项目旨在展示如何使用Spring AI和模型上下文协议(MCP)控制mBot2机器人。通过一系列的设置,AI模型可以通过简单的自然语言命令控制物理机器人。你可以参考下面的设置说明完成项目的搭建。
✨ 主要特性
- 系统集成全面:系统涵盖了实现模型上下文协议的Spring Boot应用程序、用于消息传递的MQTT代理、运行在mBot2机器人上的Python代码以及AI客户端集成功能。
- AI控制便捷:Spring应用程序将机器人控制命令公开为AI可调用函数,使得AI模型能够通过自然语言轻松控制物理机器人。
📦 安装指南
先决条件
- Java 21
- Maven
- mBot2机器人和mBlock IDE
- MQTT代理(可以在Docker中运行)
- 基础Java知识
设置步骤
1. MQTT代理设置(可选,如果没有现成的代理)
运行包含的Docker Compose文件以设置MQTT代理:
cd mbotmcp/assets
docker-compose up -d
此命令会创建一个消息队列,用于在应用程序和机器人之间中继命令。
2. 配置Spring Boot应用程序
设置以下环境变量:
MQTT_USERNAME=your_username # 如果没有配置,请留空
MQTT_PASSWORD=your_password # 如果没有配置,请留空
MQTT_SERVER_URI=tcp://your_server:1883
这些变量用于告知应用程序如何连接到MQTT代理。
3. mBot2设置
要将Python脚本上传到mBot2,可按以下步骤操作:
- 将mBot2通过USB连接到计算机。
- 在计算机上打开mBlock IDE。
- 点击“文件”菜单并选择“打开”。
- 导航到仓库中的
/assets目录。 - 打开
mbot-mqtt.py文件。 - 修改脚本以包含您的个人WiFi和MQTT配置:
ssid = "<your wifi ssid>"
ssid_password = "<your wifi password>"
mqtt_ip = "<ip of the mqtt broker>"
mqtt_port = 1883
mqtt_user = "<your mqtt username>"
mqtt_password = "<your mqtt password>"
- 将脚本上传到mBot2。
- 打开mBot2的电源。
4. 构建Spring Boot应用程序
mvn clean package
💻 使用示例
测试设置
- 确保MQTT代理正在运行。
- 打开mBot2的电源并确保其连接到WiFi。
- 运行测试客户端:
mvn test -Dtest=ClientStdioTest
- 观察机器人执行“蜂鸣”命令并点亮蓝色LED灯!
可用的机器人命令
BotService类定义了机器人可以理解的所有MCP工具:
mbotExplore()- 执行'探索'例程mbotStop()- 停止机器人mbotBeep()- 使机器人发出蜂鸣声mbotLeft()- 让机器人左转mbotRight()- 让机器人右转mbotForward()- 移动机器人向前mbotBackward()- 移动机器人向后
📚 详细文档
该项目展示了如何通过自然语言处理(NLP)使AI模型控制物理机器人。可以将此项目作为更复杂的机器人应用的起点。
📄 许可证
请参阅项目的许可证文件,以了解详细许可信息。
⚠️ 重要提示
使用此项目时,请确保遵守所有安全和法律规范。作者不对因不当使用而导致的任何损害负责。
Scan to contact