spring boot 对串口的读取的快速方法

简介: spring boot 对串口的读取的快速方法

spring-boot-starter-rxtx

spring boot 对串口的读取的快速方法

使用方法

  1. 引入依赖

    <dependency>
        <groupId>cn.qqhxj.common</groupId>
         <artifactId>spring-boot-starter-rxtx</artifactId>
         <version>1.3.1-RELEASE</version>
    </dependency>
  2. 串口配置

    serialport.baud-rate=115200
    serialport.port-name=COM10
  3. 串口数据读取器配置(可选)

    默认配置了 数据开始为 {, 数据结束为} 的数据解析器(VariableLengthSerialReader
    系统还提供了以下四种数据读取器。

    • AnyDataReader 读取一切的数据
    • ConstLengthSerialReader 读取定长的数据
    • VariableLengthSerialReader 读取有前后标识字符的数据
    • LiveControlSerialReader 读取有开始位、数据长度的数据

    大家还可以按照自己的协议实现新的数据解析器

    • 需要实现SerialReader接口
    • 不要忘记要加入到spring的IOC容器中,才能对数据进行处理哦
  4. 数据解析器配置(可选)

    默认配置了 字符串的数据解析器(将数据读取器读取的数据直接转为字符串)
    大家可以自己配置需要的解析器 示例如下

    • 需要实现 SerialDataParser<T> 接口 的 public T parse(byte[] bytes) 方法。解析为相应的对象
    • 不要忘记要加入到spring的IOC容器中,才能对数据进行处理哦

      public class StringSerialDataParser implements SerialDataParser<String> {
          @Override
          public String parse(byte[] bytes) {
              return new String(bytes);
          }
      }
  5. 配置数据处理器

没有进行任何的默认配置
需要的请自行配置

- 要实现`SerialDataProcessor<T>` 接口在 `public void processor(T t)`方法中对数据进行处理
- 要将该处理器加入到spring的IOC容器中。 

配置方法如下所示

@Component
public class XXXProcessor implements SerialDataProcessor<String> {
  @Override
  public void processor(String s) {
      System.out.println(s);
  }
}
  1. 启动

@SpringBootApplication
public class RxtxDemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(RxtxDemoApplication.class, args);
        while (true) {
            ;
        }
    }
}
相关文章
|
5月前
|
人工智能 前端开发 JavaScript
SpringBoot实现网页消息推送的5种方法
本文详细介绍了在SpringBoot中实现网页消息推送的几种主流方案,包括短轮询、长轮询、SSE(Server-Sent Events)、WebSocket以及STOMP。每种方案各有优缺点,适用于不同的场景需求。短轮询简单易实现但效率低;长轮询提升了实时性但仍有限制;SSE适合单向通信且轻量高效;WebSocket支持全双工通信,适合高实时性要求的场景;STOMP基于WebSocket,提供更高级的消息传递功能。通过对比分析,开发者可根据业务需求、性能要求及浏览器兼容性选择最适合的技术方案,同时可结合多种技术实现优雅降级,优化用户体验。
948 57
|
6月前
|
缓存 安全 Java
深入解析HTTP请求方法:Spring Boot实战与最佳实践
这篇博客结合了HTTP规范、Spring Boot实现和实际工程经验,通过代码示例、对比表格和架构图等方式,系统性地讲解了不同HTTP方法的应用场景和最佳实践。
565 5
|
6月前
|
Java Spring 容器
两种Spring Boot 项目启动自动执行方法的实现方式
在Spring Boot项目启动后执行特定代码的实际应用场景中,可通过实现`ApplicationRunner`或`CommandLineRunner`接口完成初始化操作,如系统常量或配置加载。两者均支持通过`@Order`注解控制执行顺序,值越小优先级越高。区别在于参数接收方式:`CommandLineRunner`使用字符串数组,而`ApplicationRunner`采用`ApplicationArguments`对象。注意,`@Order`仅影响Bean执行顺序,不影响加载顺序。
477 2
|
8月前
|
人工智能 自然语言处理 Java
Spring 集成 DeepSeek 的 3大方法(史上最全)
DeepSeek 的 API 接口和 OpenAI 是兼容的。我们可以自定义 http client,按照 OpenAI 的rest 接口格式,去访问 DeepSeek。自定义 Client 集成DeepSeek ,可以通过以下步骤实现。步骤 1:准备工作访问 DeepSeek 的开发者平台,注册并获取 API 密钥。DeepSeek 提供了与 OpenAI 兼容的 API 端点(例如),确保你已获取正确的 API 地址。
Spring 集成 DeepSeek 的 3大方法(史上最全)
|
10月前
|
Java Spring
【Spring】方法注解@Bean,配置类扫描路径
@Bean方法注解,如何在同一个类下面定义多个Bean对象,配置扫描路径
321 73
|
9月前
|
XML Java 应用服务中间件
Spring Boot 两种部署到服务器的方式
本文介绍了Spring Boot项目的两种部署方式:jar包和war包。Jar包方式使用内置Tomcat,只需配置JDK 1.8及以上环境,通过`nohup java -jar`命令后台运行,并开放服务器端口即可访问。War包则需将项目打包后放入外部Tomcat的webapps目录,修改启动类继承`SpringBootServletInitializer`并调整pom.xml中的打包类型为war,最后启动Tomcat访问应用。两者各有优劣,jar包更简单便捷,而war包适合传统部署场景。需要注意的是,war包部署时,内置Tomcat的端口配置不会生效。
2196 17
Spring Boot 两种部署到服务器的方式
|
9月前
|
缓存 NoSQL Java
springboot怎么使用rides缓存方法的返回值 完整例子
通过上述步骤,我们成功地在 Spring Boot 项目中集成了 Redis 缓存,并通过注解的方式实现了方法返回值的缓存。这种方式不仅提高了系统的性能,还简化了缓存管理的复杂度。使用 Spring Boot 的缓存注解和 Redis,可以轻松地实现高效、可靠的缓存机制。
177 23
|
7月前
|
Java 数据库 微服务
微服务——SpringBoot使用归纳——Spring Boot中的项目属性配置——指定项目配置文件
在实际项目中,开发环境和生产环境的配置往往不同。为简化配置切换,可通过创建 `application-dev.yml` 和 `application-pro.yml` 分别管理开发与生产环境配置,如设置不同端口(8001/8002)。在 `application.yml` 中使用 `spring.profiles.active` 指定加载的配置文件,实现环境快速切换。本节还介绍了通过配置类读取参数的方法,适用于微服务场景,提升代码可维护性。课程源码可从 [Gitee](https://gitee.com/eson15/springboot_study) 下载。
261 0
|
12月前
|
存储 安全 Java
|
12月前
|
SQL JSON Java
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和PageHelper进行分页操作,并且集成Swagger2来生成API文档,同时定义了统一的数据返回格式和请求模块。
377 1
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块