天天看點

spring boot 對序列槽的讀取的快速方法spring-boot-starter-rxtx

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)

      方法。解析為相應的對象
    • 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) {
            ;
        }
    }
}