article
README
🚀 NodeMCU 物联网设备管理平台
NodeMCU 物联网设备管理平台是一个基于 NodeMCU 和 WebSocket 的解决方案,可让用户通过 Web 界面和 RESTful API 远程配置与监控 NodeMCU 设备,为物联网设备管理带来便捷。
🚀 快速开始
服务器端
- 克隆仓库并安装依赖:
git clone https://github.com/yourusername/nodemcu-mcp.git
cd nodemcu-mcp
npm install
- 配置环境变量,复制
.env.example并重命名为.env,填写相关配置。 - 启动服务器:
node index.js
客户端(NodeMCU 设备)
- 在 Arduino IDE 中安装所需的库:
- ESP8266WiFi
- WebSocketsClient
- ArduinoJson
- 配置示例代码,如:
const char* ssid = "YOUR_WIFI_SSID";
const char* password = "YOUR_WIFI_PASSWORD";
const char* mcpHost = "your-server-ip";
const int mcpPort = 3000;
- 将代码上传到 NodeMCU 设备。
✨ 主要特性
- 设备管理:列出所有连接的 NodeMCU 设备,支持按 ID 或名称搜索。
- 远程控制:发送命令(如重启、重置)到指定设备,并获取执行结果。
- 数据采集:通过 WebSocket 实时接收来自 NodeMCU 的传感器数据和系统信息。
- 配置管理:查看和修改每个设备的配置参数,如报告间隔、调试模式等。
- 状态监控:监控设备的实时状态,包括网络信号强度(RSSI)、堆内存使用情况、运行时间等。
📦 安装指南
服务器端
- 克隆仓库并安装依赖:
git clone https://github.com/yourusername/nodemcu-mcp.git
cd nodemcu-mcp
npm install
- 配置环境变量,复制
.env.example并重命名为.env,填写相关配置。 - 启动服务器:
node index.js
客户端(NodeMCU 设备)
- 在 Arduino IDE 中安装所需的库:
- ESP8266WiFi
- WebSocketsClient
- ArduinoJson
- 配置示例代码,如:
const char* ssid = "YOUR_WIFI_SSID";
const char* password = "YOUR_WIFI_PASSWORD";
const char* mcpHost = "your-server-ip";
const int mcpPort = 3000;
- 将代码上传到 NodeMCU 设备。
🔧 技术细节
项目结构
nodemcu-mcp/
├── assets/ # 静态资源,如 logo
├── bin/ # CLI 脚本
├── examples/ # 客户端示例代码
├── middleware/ # Express 中间件
├── routes/ # RESTful API 路由
├── services/ # 业务逻辑处理
├── .env.example # 环境变量示例
├── index.js # 服务器入口文件
├── mcp_server.js # MCP 协议实现
├── mcp-manifest.json # MCP 描述文件
├── package.json # 项目配置文件
实现原理
- WebSocket 连接:NodeMCU 设备通过 WebSocket 协议与服务器建立连接。
- 心跳机制:为了保持连接活跃,每 30 秒会发送一次心跳包。
- 命令处理:收到命令后,设备会解析并执行相应的操作(如重启),然后将结果反馈给服务器。
📄 许可证
本项目基于 MIT License 开源,具体请查看 LICENSE 文件。
MIT 许可证允许您:
- 商业使用
- 修改代码
- 分发软件
- 私密使用
唯一要求是保留许可和版权声明。
致谢
感谢以下项目的贡献:
- Model Context Protocol 提供了集成规范
- NodeMCU 优秀的物联网平台
- Anthropic 提供 Claude Desktop
微信扫一扫