返回 MCP 目录
public公开dns本地运行

CO2 Sensor

Node.js模拟CO2传感器设备服务

article

README

🚀 用于传感器设备的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进行许可。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端