From ceac0cf74572700a41ddfaeadb3c8f479db44cec Mon Sep 17 00:00:00 2001 From: gitee-bot Date: Fri, 27 Jun 2025 01:06:43 +0000 Subject: [PATCH] Update README.md --- README.md | 135 +++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 94 insertions(+), 41 deletions(-) diff --git a/README.md b/README.md index dd9afd4..2cb4108 100644 --- a/README.md +++ b/README.md @@ -1,41 +1,94 @@ -# open-protocol-demo - -## 介绍 - -本项目是一个基于 Open Protocol 协议的 TCP 客户端通信 Demo,主要用于模拟与拧紧设备(如 Atlas Copco 等工具)之间的协议交互。 -支持多客户端连接、策略化处理响应数据、动态切换处理逻辑等特性,适用于工业自动化场景中的拧紧结果采集与处理。 - ---- - -## 软件架构 - -### 核心模块 - -| 模块 | 功能 | -|------|------| -| `TcpClientFactory` | 管理多个 TCP 客户端连接,负责启动、停止、消息回调注册 | -| `TightenResultStrategy` | 策略接口,用于定义不同拧紧结果的处理方式 | -| `TcpProperties` | 配置类,读取 `application.yml` 中的 TCP 服务器列表及策略映射 | -| `OpMsgUtil` | 协议工具类,用于构造请求报文、解析响应报文 | -| `ConnectionCallback` | 连接状态监听器,用于在连接/断开时执行相应操作 | -| `MessageCallback` | 消息回调接口,处理接收到的消息 | - -### 技术栈 - -- Spring Boot -- Netty(TCP 通信) -- hutool(工具包) -- Lombok(简化实体类编写) -- Logback(日志记录) -- Java 8+ - ---- - -## 安装教程 - -1. **克隆项目** - -```bash -git clone https://gitee.com/yourname/open-protocol-demo.git - -``` \ No newline at end of file + + +# Open Protocol Demo + +## 介绍 +这是一个基于Open Protocol协议的演示项目,实现了TCP客户端通信、数据解析和处理功能。适用于与装配设备进行通信的应用场景。 + +## 软件架构 +本项目采用分层架构设计: +- 协议处理层:实现Open Protocol协议的通信逻辑 +- 业务处理层:处理具体业务需求 +- 通信层:实现TCP/串口通信 +- 配置层:实现项目的自动配置功能 + +## 核心模块 +1. **Open Protocol协议处理模块**:实现了完整的Open Protocol协议通信 +2. **TCP通信模块**:提供TCP客户端连接和数据收发功能 +3. **数据解析模块**:解析来自设备的拧紧结果数据 +4. **异步处理模块**:实现异步任务处理 +5. **通信端口处理模块**:实现串口通信的检测与处理 + +## 技术栈 +- Spring Boot: 快速构建微服务应用 +- Netty: 实现高性能网络通信 +- Java串口通信: 实现与串口设备的交互 +- 策略模式: 实现不同数据处理策略的灵活切换 +- CRC16校验: 保证数据通信的完整性 + +## 安装教程 +1. 克隆仓库 +2. 配置application.yml中的tcp-servers参数 +3. 设置Open Protocol相关参数 +4. 运行Maven构建 +```bash +mvn clean package +``` + +## 使用说明 +1. 启动应用 +```bash +java -jar open-protocol-demo.jar +``` + +2. 通过TestController的API接口发送测试消息 +- POST /test/send +- POST /test/send1 + +3. 实际使用中可根据需求实现自定义的TightenResultStrategy处理逻辑 + +## 功能特性 +- 支持多TCP客户端连接 +- 支持串口通信监听 +- 实现完整的Open Protocol协议 +- 提供默认的数据处理策略 +- 支持异步任务处理 +- 包含CRC16校验工具类 + +## 配置说明 +application.yml中可配置以下参数: +```yaml +tcp-servers: + servers: + - name: 设备名称 + host: 设备IP地址 + port: 设备端口号 + strategy: 使用的处理策略 + +async: + corePoolSize: 核心线程数 + maxPoolSize: 最大线程数 + queueCapacity: 队列容量 + keepAliveSeconds: 线程存活时间 +``` + +## 扩展指南 +1. 添加新的数据处理策略: +- 实现TightenResultStrategy接口 +- 添加@Component注解 + +2. 修改通信协议: +- 在MidEnum中添加新的协议类型 +- 在OpTcpClient中实现相应的处理逻辑 + +3. 添加其他通信方式: +- 在TcpClientFactory中扩展相关处理逻辑 + +## 版本信息 +1.0.0 - 初始版本,实现基本的Open Protocol协议通信和数据解析功能 + +## 作者 +FJG + +## 许可证 +本项目采用Apache-2.0协议。详见LICENSE文件。 \ No newline at end of file -- Gitee