本项目是一个Node.js应用程序,专为与Claude Desktop协同使用而设计。它能模拟CO₂传感器设备,还提供JSON - RPC服务,方便与设备进行交互。该应用既支持在仿真模式下运行,也能在实际模式中通过USB连接到Raspberry Pi Pico,从而读取真实的CO₂浓度。
此项目是一个Node.js应用程序,若要运行它,您需先在计算机上安装Node.js。若尚未安装,可从官方网址下载并安装。
npm install
claude_desktop_config.json文件已正确配置以运行服务器。以下是一个示例配置:{
"mcpServers": {
"CO2 sensor": {
"command": "node",
"args": [
"...mcp-server-for-sensor-device/index.js"
],
"env": {}
}
}
}
node index.js
要启动服务器,运行以下命令:
node index.js
利用JSON - RPC方法与服务器进行交互,例如:
initialize:初始化服务器并返回服务器功能。shutdown:关闭服务器。resources/list:列出可用资源。resources/read:读取指定的资源。tools/list:列出可用工具。tools/call:调用指定的工具。initialize初始化服务器并返回服务器功能。
shutdown关闭服务器。
resources/list列出可用资源。
resources/read读取指定的资源。
tools/list列出可用工具。
tools/call调用指定的工具。
DeviceState类模拟设备状态,并提供方法以获取设备信息、传感器数据和网络状态。它还处理与Raspberry Pi Pico的连接,以读取CO₂浓度。
getDeviceInfo(): 返回设备信息。getSensorData(): 返回传感器数据。getNetworkStatus(): 返回网络状态(模拟功能)。publishToMQTT(): 模拟发布数据到MQTT(模拟功能)。reconnectWiFi(): 模拟重新连接WiFi(模拟功能)。reconnectMQTT(): 模拟重新连接MQTT(模拟功能)。应用程序将CO₂浓度和其他信息记录到位于用户主目录中的日志文件co2_level.log中。
此项目根据MIT License进行许可。