准备工作
下载资源文件
首先下载RXTX库对应的资源文件。下载地址 http://fizzed.com/oss/rxtx-for-java 根据自己的系统下载对应的文件。
拷贝动态库
RXTX 的实现还需要依赖几个动态库,所以我们要先把动态库放到对应的 jdk 目录下面去。windows 和 linux 拷贝的文件不同:
window平台:
拷贝 rxtxSerial.dll —> <JAVA_HOME>\jre\bin
拷贝 rxtxParallel.dll —> <JAVA_HOME>\jre\bin
linux平台:
拷贝 librxtxSerial.so —> <JAVA_HOME>/jre/lib/amd64/
拷贝 librxtxParallel.so —> <JAVA_HOME>/jre/lib/amd64/
linux平台也可以使用自带的库来安装:apt-get install librxtx-java
也可以启动时指定lib路径:java -jar -Djava.library.path=lib virtual.jar
<JAVA_HOME> 为 jdk 安装路径
jar包pom
<dependency>
<groupId>org.rxtx</groupId>
<artifactId>rxtx</artifactId>
<version>2.1.7</version>
</dependency>
实现代码
package com.sudy.virtual.serialport;
import com.sudy.virtual.device.CoinMachine;
import com.sudy.virtual.device.MEMS;
import com.sudy.virtual.device.Pos;
import com.sudy.virtual.device.RoadSigns;
import com.sudy.virtual.entity.DeviceType;
import com.sudy.virtual.entity.Message;
import com.sudy.virtual.utils.ArrUtils;
import com.sudy.virtual.utils.BitUtils;
import gnu.io.*;
import lombok.extern.slf4j.Slf4j