本项目是一个基于Node.js的应用程序,专为与Claude Desktop协同使用而设计。它模拟二氧化碳(CO2)传感器设备,并提供JSON - RPC服务器,用于与设备进行交互。该应用程序支持模拟模式和真实模式,在真实模式下,可通过USB连接到Raspberry Pi Pico读取实际的CO2水平。
您需要在机器上安装Node.js才能运行此应用程序。如果您没有安装Node.js,可以从官方网站下载并安装它。
克隆仓库。
使用npm安装依赖项:
npm install
确保claude_desktop_config.json文件正确配置以运行服务器。示例配置如下:
{
"mcpServers": {
"CO2传感器": {
"command": "node",
"args": [
"...mcp-server-for-sensor-device/index.js"
],
"env": {}
}
}
}
node index.js
您需要在机器上安装Node.js才能运行此应用程序。如果您没有安装Node.js,可以从官方网站下载并安装它。
克隆仓库。
使用npm安装依赖项:
npm install
确保claude_desktop_config.json文件正确配置以运行服务器。示例配置如下:
{
"mcpServers": {
"CO2传感器": {
"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许可证。