MCP-Server CO2传感器数据服务器
一个提供JSON-RPC接口以与CO2传感器数据交互的Node.js应用程序,可在模拟模式下工作,并且支持真实的Raspberry Pi Pico硬件连接。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"CO2 sensor": {
"args": [
"...mcp-server-for-sensor-device/index.js"
],
"command": "node",
"env": {}
}
}
}
服务介绍
MCP 服务器用于传感器设备
这个项目是一个使用 Node.js 开发的应用程序,专为 Claude Desktop 设计。它模拟了一个 CO2 传感器设备,并提供了一个 JSON-RPC 服务器来与该设备进行交互。该应用程序既可以在模拟模式下运行,也可以在真实模式下通过 USB 连接到 Raspberry Pi Pico 来读取 CO2 水平。
特性
- 在模拟模式下,模拟一个具有随机 CO2 水平的 CO2 传感器设备。
- 通过 USB 连接到 Raspberry Pi Pico 来读取真实的 CO2 水平。
- 通过 JSON-RPC 提供设备信息、传感器数据和网络状态。
- 支持命令将数据发布到 MQTT、重新连接 WiFi 和重新连接 MQTT(部分功能是模拟的)。
安装
你需要在你的机器上安装 Node.js 来运行此应用程序。如果你还没有安装 Node.js,可以从 官方网站 下载。
-
克隆仓库。
-
使用 npm 安装依赖项:
npm install
配置
确保 claude_desktop_config.json 文件正确配置以运行服务器。示例配置:
{
"mcpServers": {
"CO2 sensor": {
"command": "node",
"args": [
"...mcp-server-for-sensor-device/index.js"
],
"env": {}
}
}
}
使用
要启动服务器,请运行以下命令:
node index.js
JSON-RPC 方法
initialize
初始化服务器并返回服务器能力。
shutdown
关闭服务器。
resources/list
列出可用资源。
resources/read
读取指定的资源。
tools/list
列出可用工具。
tools/call
调用指定的工具。
DeviceState 类
DeviceState 类模拟了设备的状态,并提供了获取设备信息、传感器数据和网络状态的方法。它还处理与 Raspberry Pi Pico 的连接并读取 CO2 水平。
方法
getDeviceInfo(): 返回设备信息。getSensorData(): 返回传感器数据。getNetworkStatus(): 返回网络状态(模拟的功能)。publishToMQTT(): 模拟将数据发布到 MQTT(模拟的功能)。reconnectWiFi(): 模拟重新连接 WiFi(模拟的功能)。reconnectMQTT(): 模拟重新连接 MQTT(模拟的功能)。
日志记录
应用程序将 CO2 水平和其他信息记录到用户主目录下的日志文件中 (co2_level.log)。
许可证
本项目采用 MIT 许可证。