使用说明
项目简介
本项目实现了一个模型控制协议(MCP)服务器,旨在管理和协调一个模型轨道交通系统。该系统主要由列车(Blade Runner)、站点、检查点和LED控制器等组件构成。MCP服务器作为中央控制单元,负责接收来自客户端组件的指令和状态更新,并向组件发送控制命令,实现轨道交通系统的自动化运行和监控。
主要功能点
- 连接管理: 能够处理来自列车控制器(CCP)、站点控制器、LED控制器的连接,并通过UDP协议进行通信。
- 事件日志: 记录系统运行过程中的关键事件和状态变化,用于监控和调试。
- 通信初始化: 支持与客户端组件的初始化握手流程。
- 列车位置追踪: 初步实现列车在轨道上的位置追踪功能(正在开发中)。
- 速度控制: 具备基本的列车速度控制能力(正在开发中),可以发送前进、停止等指令。
- 状态更新处理: 能够接收和处理来自客户端组件的状态报告,并根据状态采取相应动作(正在开发中)。
- (计划中)高级功能: 包括碰撞预防、站点停靠协调、站台和列车门控制、LED灯控制、错误处理和重连机制、系统级指令等功能仍在开发中。
安装步骤
- 克隆仓库: 从GitHub克隆代码仓库到本地。
git clone https://github.com/MCP-Mirror/keval17-wq_T2_C2.git cd keval17-wq_T2_C2 - 安装Java环境: 如果需要运行Java服务器版本,请确保已安装JDK (Java Development Kit)。
- 安装Python环境: 如果需要运行Python服务器版本或客户端模拟器,请确保已安装Python。
服务器配置
MCP服务器配置信息 (JSON 格式):
-
Java 服务器 (java/src/main/java/com/mcp/MCP.java)
{ "server_name": "Java MCP Server", "command": "java", "args": ["-cp", "java/src", "main.java.com.mcp.MCP"] }- 'server_name': 服务器名称,自定义,用于标识服务器。
- 'command': 运行服务器的命令,这里是 'java' (Java 运行时环境)。
- 'args': 命令参数,用于指定如何启动Java服务器:
- '-cp java/src': 设置类路径为 'java/src' 目录,指向编译后的Java类文件所在位置(如果直接运行源代码)。在实际部署时,可能需要先编译Java代码,并将类路径指向编译输出目录。
- 'main.java.com.mcp.MCP': 指定主类为 'main.java.com.mcp.MCP',这是Java MCP服务器的入口点。
-
Python 服务器 (MCP/mcp.py 或 MCP/t.py)
{ "server_name": "Python MCP Server (mcp.py)", "command": "python", "args": ["MCP/mcp.py"] }或
{ "server_name": "Python MCP Server (t.py)", "command": "python", "args": ["MCP/t.py"] }- 'server_name': 服务器名称,自定义。
- 'command': 运行服务器的命令,这里是 'python' (Python 解释器)。
- 'args': 命令参数:
- 'MCP/mcp.py' 或 'MCP/t.py': 指定Python MCP服务器脚本的路径。根据选择的Python服务器版本配置。
注意: MCP客户端需要配置以上JSON格式的服务器信息才能连接到MCP服务器。配置时请选择合适的服务器版本(Java或Python),并根据实际情况调整 'args' 中的参数。
基本使用方法
- 启动 MCP 服务器:
- Java 服务器: 在 'java/' 目录下,编译并运行 'MCP.java'。具体编译和运行方式取决于你的Java开发环境。可以直接使用命令行编译和运行,或者使用IDE工具。
- Python 服务器: 在 'MCP/' 目录下,运行 'mcp.py' 或 't.py' 脚本。
cd MCP python mcp.py # 或 python t.py
- 运行客户端模拟器:
- 在 'MCP/' 目录下,可以运行 'ccp.py', 'ccp2.py', 'ccp3.py', 'ccp4.py', 'ccp5.py' 模拟不同的列车控制器 (Blade Runner)。
- 运行 'station.py' 模拟站点。
- 运行 'checkpoint.py' 模拟检查点。
- 运行 'led_controller.py' 模拟LED控制器。
- 可以同时运行多个客户端模拟器,观察 MCP 服务器如何协调和控制整个系统。
- 例如,启动一个 Blade Runner 模拟器:
cd MCP python ccp.py - 监控系统运行: 通过查看服务器和客户端模拟器的控制台输出,可以监控系统的运行状态和消息交互。
注意事项
- 本项目目前仍处于开发阶段,部分高级功能尚未完全实现。
- 通信协议基于 UDP,可能存在丢包风险,代码中包含简单的重传机制。
- 配置客户端连接时,请确保客户端指向的 MCP 服务器的 IP 地址和端口号正确。
- 可以参考 'MCP/mcptest.py' 和 'MCP/test.py' 了解更详细的测试和交互方式。
信息
分类
桌面与硬件