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