传感器设备的MCP服务器
这个项目是一个为Claude Desktop设计的Node.js应用程序。它模拟二氧化碳传感器设备,并提供JSON-RPC服务器与设备交互。该应用程序可以在模拟模式和真实模式下运行,通过USB连接到Raspberry Pi Pico以读取二氧化碳水平。
特性
- 在模拟模式下模拟具有随机CO2水平的CO2传感器设备。
- 通过USB连接到Raspberry Pi Pico以读取实际的二氧化碳水平。
- 通过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.jsJSON-RPC方法
initialize
初始化服务器并返回服务器功能。
shutdown
关闭服务器。
resources/list
列出可用资源。
resources/read
读取指定的资源。
tools/list
列出可用工具。
tools/call
调用指定的工具。
设备状态类
这 DeviceState 类模拟设备状态,并提供获取设备信息、传感器数据和网络状态的方法。它还处理与Raspberry Pi Pico的连接,并读取二氧化碳水平。
方法
getDeviceInfo():返回设备信息。getSensorData():返回传感器数据。getNetworkStatus():返回网络状态(模拟功能)。publishToMQTT():模拟将数据发布到MQTT(模拟功能)。reconnectWiFi():模拟重新连接到WiFi(模拟功能)。reconnectMQTT():模拟重新连接到MQTT(模拟功能)。
日志记录
应用程序将二氧化碳水平和其他信息记录到用户主目录中的日志文件中(co2_level.log).
许可证
该项目根据MIT许可证获得许可。
