物联网机器人监控系统

一个基于Python的主控程序,用于无声监控和收集来自多个基于ESP的机器人的数据,这些机器人通过ESP-NOW通信并通过WiFi传输状态信息。

  • by JamesTheGiblet
  • C++
  • 本地部署
  • 更新于
在 GitHub 查看 JamesTheGiblet/mcp

使用说明

主控制程序(MCP)-IoT机器人监控系统

一个基于Python的主控制程序,旨在无声地监控和收集来自多个基于ESP的机器人的数据,这些机器人通过ESP-NOW进行通信,并通过WiFi传输状态信息。

系统概述

MCP充当中央监控中心,负责:

  • 通过WiFi(HTTP/WebSocket)从基于ESP的机器人接收数据
  • 监控机器人之间的ESP-NOW通信
  • 提供实时可视化仪表板
  • 维护全面的日志记录和数据存储
  • 作为无声的观察者运行,不干扰机器人操作

特性

  • 静音监控:机器人网络的非侵入式观察
  • 实时仪表盘:基于网络的机器人状态和通信可视化
  • 数据记录:全面存储所有机器人通信和状态
  • 健康监测:跟踪机器人连接和运行状态
  • ESP-NOW追踪:监控机器人之间的通信
  • 可扩展体系结构:支持多个具有异步处理的机器人

快速开始

  1. 再进行:

    pip install -r requirements.txt
    
  2. 配置设置:

    cp config/config.example.json config/config.json
    # Edit config.json with your network settings
    
  3. 启动MCP服务器:

    python mcp_server.py
    
  4. 访问仪表板: 打开 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机器人集成

  1. 在中使用提供的示例代码 esp32_examples/
  2. 配置MCP连接的WiFi凭据
  3. 实现ESP-NOW用于机器人之间的通信
  4. 定期向MCP发送状态更新

发展

  • 需要Python 3.8+
  • 使用asyncio进行并发机器人处理
  • FastAPI for REST API和WebSocket支持
  • SQLite用于轻量级数据存储
  • 通过WebSocket连接实时更新

监控仪表板

web仪表板提供:

  • 实时机器人状态和连接
  • ESP-NOW通信可视化
  • 历史数据图表
  • 机器人网络拓扑
  • 系统健康指标

许可证

MIT许可证-有关详细信息,请参阅许可证文件