mcp-rs485
MCP服务器,暴露RS485总线连接,用于读取和写入串行数据。
mcp名称:io.github.daedalus/mcp-rs485
  
安装
pip install mcp-rs485配置
{
"mcpServers": {
"mcp-rs485": {
"command": "mcp-rs485",
"env": {},
"name": "io.github.daedalus/mcp-rs485"
}
}
}用法
此MCP服务器通过模型上下文协议公开RS485串行总线连接。它允许AI助手与RS485设备进行交互。
工具
list_ports:列出系统上所有可用的串行端口connect_rs485:打开与RS485设备的连接disconnect_rs485:关闭RS485连接read_rs485:从打开的RS485连接读取数据write_rs485:将数据写入RS485连接get_connection_status:获取RS485连接的状态
示例
from mcp_rs485.server import connect_rs485, write_rs485, read_rs485
# Connect to a device
conn_id = connect_rs485("/dev/ttyUSB0", baudrate=9600)
# Write data (Modbus RTU example)
write_rs485(conn_id, "01 03 00 00 00 0A")
# Read response
response = read_rs485(conn_id)
# Cleanup
disconnect_rs485(conn_id)发展
git clone https://github.com/daedalus/mcp-rs485.git
cd mcp-rs485
pip install -e ".[test]"
# run tests
pytest
# format
ruff format src/ tests/
# lint
ruff check src/ tests/
# type check
mypy src/API
list_ports()
列出所有可用的串行端口。
退货: 端口字典列表 port, description,以及 hwid.
connect_rs485(端口,波特率=9600,奇偶校验=“N”,停止位=1,字节大小=8,超时=1.0)
打开与RS485设备的连接。
参数:
port:串行端口路径(例如“/dev/ttyUSB0”)baudrate:通信速度(默认值:9600)parity:“N”(无),“E”(偶数),“O”(奇数)stopbits:停止位数bytesize:每帧数据位timeout:读取超时时间(秒)
退货: 连接ID字符串。
read_rs485(connection_id,长度=1024)
从打开的RS485连接读取数据。
参数:
connection_id:来自connect_rs485的连接IDlength:要读取的最大字节数
退货: 接收到的数据的十六进制字符串。
write_rs485(连接id,数据)
将数据写入RS485连接。
参数:
connection_id:来自connect_rs485的连接IDdata:十六进制字符串(例如“01 03 00 00 0A”)
退货: 写入的字节数。
get_connection_status(connection_id)
获取连接状态和统计信息。
退货: 包含连接状态和统计信息的词典。
