README
🚀 二氧化碳传感器设备的MCP服务器
本项目是一个基于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
✨ 主要特性
- 模拟功能:在模拟模式下,可模拟一个CO2传感器设备,并生成随机的CO2水平。
- 真实数据读取:通过USB连接到Raspberry Pi Pico,读取真实的CO2水平。
- JSON - RPC交互:提供设备信息、传感器数据和网络状态通过JSON - RPC。
- 扩展功能支持:支持发布数据到MQTT、重新连接WiFi和重新连接MQTT(部分功能被模拟)。
📦 安装指南
您需要在机器上安装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
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许可证。
微信扫一扫