CO2 Sensor

CO2 Sensor

🚀 用于传感器设备的MCP服务器

本项目是一个Node.js应用程序,专为与Claude Desktop协同使用而设计。它能模拟CO₂传感器设备,还提供JSON - RPC服务,方便与设备进行交互。该应用既支持在仿真模式下运行,也能在实际模式中通过USB连接到Raspberry Pi Pico,从而读取真实的CO₂浓度。

🚀 快速开始

此项目是一个Node.js应用程序,若要运行它,您需先在计算机上安装Node.js。若尚未安装,可从官方网址下载并安装。

  1. 克隆仓库。
  2. 使用npm安装依赖项:
npm install
  1. 确保claude_desktop_config.json文件已正确配置以运行服务器。以下是一个示例配置:
{
"mcpServers": {
"CO2 sensor": {
"command": "node",
"args": [
"...mcp-server-for-sensor-device/index.js"
],
"env": {}
}
}
}
  1. 要启动服务器,请运行以下命令:
node index.js

✨ 主要特性

  • 可在仿真模式下模拟CO₂传感器设备,生成随机的CO₂浓度值。
  • 能通过USB连接到Raspberry Pi Pico,读取真实的CO₂浓度。
  • 提供设备信息、传感器数据和网络状态,可通过JSON - RPC进行访问。
  • 支持发布数据到MQTT、重新连接WiFi和重新连接MQTT的命令(部分功能为模拟实现)。

💻 使用示例

基础用法

要启动服务器,运行以下命令:

node index.js

高级用法

利用JSON - RPC方法与服务器进行交互,例如:

  • initialize:初始化服务器并返回服务器功能。
  • shutdown:关闭服务器。
  • resources/list:列出可用资源。
  • resources/read:读取指定的资源。
  • tools/list:列出可用工具。
  • tools/call:调用指定的工具。

📚 详细文档

JSON - RPC方法

initialize

初始化服务器并返回服务器功能。

shutdown

关闭服务器。

resources/list

列出可用资源。

resources/read

读取指定的资源。

tools/list

列出可用工具。

tools/call

调用指定的工具。

DeviceState类

DeviceState类模拟设备状态,并提供方法以获取设备信息、传感器数据和网络状态。它还处理与Raspberry Pi Pico的连接,以读取CO₂浓度。

方法

  • getDeviceInfo(): 返回设备信息。
  • getSensorData(): 返回传感器数据。
  • getNetworkStatus(): 返回网络状态(模拟功能)。
  • publishToMQTT(): 模拟发布数据到MQTT(模拟功能)。
  • reconnectWiFi(): 模拟重新连接WiFi(模拟功能)。
  • reconnectMQTT(): 模拟重新连接MQTT(模拟功能)。

日志记录

应用程序将CO₂浓度和其他信息记录到位于用户主目录中的日志文件co2_level.log中。

📄 许可证

此项目根据MIT License进行许可。

  • 0 关注
  • 0 收藏,31 浏览
  • system 提出于 2025-10-04 10:09

相似服务问题

相关AI产品