使用说明

项目简介

本项目实现了一个模型控制协议(MCP)服务器,旨在管理和协调一个模型轨道交通系统。该系统主要由列车(Blade Runner)、站点、检查点和LED控制器等组件构成。MCP服务器作为中央控制单元,负责接收来自客户端组件的指令和状态更新,并向组件发送控制命令,实现轨道交通系统的自动化运行和监控。

主要功能点

  • 连接管理: 能够处理来自列车控制器(CCP)、站点控制器、LED控制器的连接,并通过UDP协议进行通信。
  • 事件日志: 记录系统运行过程中的关键事件和状态变化,用于监控和调试。
  • 通信初始化: 支持与客户端组件的初始化握手流程。
  • 列车位置追踪: 初步实现列车在轨道上的位置追踪功能(正在开发中)。
  • 速度控制: 具备基本的列车速度控制能力(正在开发中),可以发送前进、停止等指令。
  • 状态更新处理: 能够接收和处理来自客户端组件的状态报告,并根据状态采取相应动作(正在开发中)。
  • (计划中)高级功能: 包括碰撞预防、站点停靠协调、站台和列车门控制、LED灯控制、错误处理和重连机制、系统级指令等功能仍在开发中。

安装步骤

  1. 克隆仓库: 从GitHub克隆代码仓库到本地。
    git clone https://github.com/MCP-Mirror/keval17-wq_T2_C2.git
    cd keval17-wq_T2_C2
  2. 安装Java环境: 如果需要运行Java服务器版本,请确保已安装JDK (Java Development Kit)。
  3. 安装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' 中的参数。

基本使用方法

  1. 启动 MCP 服务器:
    • Java 服务器: 在 'java/' 目录下,编译并运行 'MCP.java'。具体编译和运行方式取决于你的Java开发环境。可以直接使用命令行编译和运行,或者使用IDE工具。
    • Python 服务器: 在 'MCP/' 目录下,运行 'mcp.py' 或 't.py' 脚本。
      cd MCP
      python mcp.py  # 或 python t.py
  2. 运行客户端模拟器:
    • 在 '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
  3. 监控系统运行: 通过查看服务器和客户端模拟器的控制台输出,可以监控系统的运行状态和消息交互。

注意事项

  • 本项目目前仍处于开发阶段,部分高级功能尚未完全实现。
  • 通信协议基于 UDP,可能存在丢包风险,代码中包含简单的重传机制。
  • 配置客户端连接时,请确保客户端指向的 MCP 服务器的 IP 地址和端口号正确。
  • 可以参考 'MCP/mcptest.py' 和 'MCP/test.py' 了解更详细的测试和交互方式。

信息

分类

桌面与硬件