返回市场
传感器设备MCP服务器

传感器设备MCP服务器

作者:kmwebnet3 星标更新:2025-03-11

项目介绍

MCP传感器设备服务器

该项目是一个Node.js应用程序,设计用于与Claude桌面配合使用。它模拟了一个CO2传感器设备,并提供了一个JSON-RPC服务器来与该设备交互。应用程序可以在模拟模式和真实模式下运行,在真实模式下,它通过USB连接到Raspberry Pi Pico以读取CO2水平。

功能

  • 在模拟模式下,模拟具有随机CO2水平的CO2传感器设备。
  • 通过USB连接到Raspberry Pi Pico以读取真实的CO2水平。
  • 通过JSON-RPC提供设备信息、传感器数据和网络状态。
  • 支持发布数据到MQTT、重新连接WiFi和重新连接MQTT的命令(某些功能是模拟的)。

安装

你需要在你的机器上安装Node.js才能运行此应用程序。如果你没有安装Node.js,可以从官方网站下载。

  1. 克隆仓库。

  2. 使用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许可证。