使用说明
主控制程序(MCP)-IoT机器人监控系统
一个基于Python的主控制程序,旨在无声地监控和收集来自多个基于ESP的机器人的数据,这些机器人通过ESP-NOW进行通信,并通过WiFi传输状态信息。
系统概述
MCP充当中央监控中心,负责:
- 通过WiFi(HTTP/WebSocket)从基于ESP的机器人接收数据
- 监控机器人之间的ESP-NOW通信
- 提供实时可视化仪表板
- 维护全面的日志记录和数据存储
- 作为无声的观察者运行,不干扰机器人操作
特性
- 静音监控:机器人网络的非侵入式观察
- 实时仪表盘:基于网络的机器人状态和通信可视化
- 数据记录:全面存储所有机器人通信和状态
- 健康监测:跟踪机器人连接和运行状态
- ESP-NOW追踪:监控机器人之间的通信
- 可扩展体系结构:支持多个具有异步处理的机器人
快速开始
-
再进行:
pip install -r requirements.txt -
配置设置:
cp config/config.example.json config/config.json # Edit config.json with your network settings -
启动MCP服务器:
python mcp_server.py -
访问仪表板: 打开
http://localhost:8080在浏览器中
项目结构
详细结构见 docs/PROJECT_STRUCTURE.md
🤖 快速创建机器人
使用通用模板立即创建新的ESP32机器人:
# Create a new bot (from project root)
.\create_bot.bat "My_Sensor_Bot"
# Navigate to your new bot
cd esp32_examples\bots\My_Sensor_Bot
# Customize and build
pio run
pio run --target upload
文档
- 📋 项目结构 -完整的项目组织
- 🤖 通用机器人指南 -机器人创建和定制
- 🎯 模板系统摘要 -模板功能概述
- 🔧 脚本 -自动化脚本文档 主控制程序/ ├── mcp_server.py#主服务器应用程序 ├── bot_manager.py#机器人管理和数据处理 ├── database.py#数据库操作 ├── config/ │ ├── config.json#主配置 │ └── logging_config.json#日志配置 ├── web_dashboard/ │ ├── index.html#主仪表板 │ ├── 静态/ │ │ ├── css/ │ │ ├── js/ │ │ └── 资产/ ├── esp32_示例/ │ ├── bot_wifi_client/#ESP32 wifi客户端代码 │ └── esp_now_example./#esp-now通信示例 ├── data/ │ ├── mcp.db#SQLite数据库 │ └── logs/#日志文件 └── requirements.txt#Python依赖项
## Communication Protocol
### Bot to MCP (WiFi)
- **Endpoint**: `POST /api/bot/status`
- **Format**: JSON
- **Content**: Bot ID, status, sensor data, ESP-NOW activity
### ESP-NOW Monitoring
- Bots report ESP-NOW message activity to MCP
- Includes sender/receiver information and message types
- Enables tracking of bot-to-bot communication patterns
## Configuration
Edit `config/config.json`:
```json
{
"server": {
"host": "0.0.0.0",
"port": 8080
},
"database": {
"path": "data/mcp.db"
},
"monitoring": {
"bot_timeout": 30,
"health_check_interval": 10
}
}
ESP32机器人集成
- 在中使用提供的示例代码
esp32_examples/ - 配置MCP连接的WiFi凭据
- 实现ESP-NOW用于机器人之间的通信
- 定期向MCP发送状态更新
发展
- 需要Python 3.8+
- 使用asyncio进行并发机器人处理
- FastAPI for REST API和WebSocket支持
- SQLite用于轻量级数据存储
- 通过WebSocket连接实时更新
监控仪表板
web仪表板提供:
- 实时机器人状态和连接
- ESP-NOW通信可视化
- 历史数据图表
- 机器人网络拓扑
- 系统健康指标
许可证
MIT许可证-有关详细信息,请参阅许可证文件