1 Star 0 Fork 0

韩若明溪 / my_notes

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
java基于RXTX配置linux和window串口.md 2.48 KB
一键复制 编辑 原始数据 按行查看 历史
han_gx 提交于 2023-04-23 18:50 . 笔记提交

基于linux(CentOS8)和window配置RXTX(java)

1. 项目

springboot + jar (web) 包的运行模式

RXTX 串口通信, 支持 win 和 linux (下载地址 http://rxtx.qbang.org/pub/rxtx/rxtx-2.2pre2-bins.zip)

2.RXTX文件目录介绍

image-20210618173009624

  • 上部分文件夹是针对不同cpu内核的文件包, 比如window是dll, linux是.so

    • windows64

      将目录win64 rxtxSerial.dll 文件拷贝到 %JAVA_HOME%/jre/bin

    • linux Centos8 系统

      将目录 x86_64-unknown-linux-gnu 文件 librxtxSerial.so 拷贝到 %JAVA_HOME%/jre/lib/amd64当中

      网上大部分说拷贝到 /usr/local/lib/ 目录下, 但是测试并没有起作用

  • 下部分RXTXcomm.jar 是提供公用的 jar 包文件

    我用的是 springboot项目,打jar包的时候直接将 RXTXcomm.jar 集成到一起

    • springboot 集成第三方包

      1. 首先在src目录下创建 lib 文件夹, 并将 RXTXcomm.jar 拷贝进去

      image-20210618180800316

      1. 然后配置pom.xml

        <build>
            <resources>
                 <resource>
                     <directory>lib</directory>
                     <targetPath>BOOT-INF/lib</targetPath>
                     <includes>
                         <include>**/*.jar</include>
                     </includes>
                 </resource>
              </resources>
        </build>
      2. 配置项目将 lib 目录的jar包加载进来

        image-20210618181523418

      3. 代码, 写个简单的请求获取所有串口

            @GetMapping("/getports")
        	@ResponseBody
            public List<String> getports() {
                return findPort();
            }
        
            public static final ArrayList<String> findPort() {
                Enumeration<CommPortIdentifier> portList = CommPortIdentifier.getPortIdentifiers();
                ArrayList<String> portNameList = new ArrayList<String>();
                // 将可用串口名添加到List并返回该List
                while (portList.hasMoreElements()) {
                    String portName = portList.nextElement().getName();
                    portNameList.add(portName);
                }
                return portNameList;
            }
      4. 打成jar包运行, 如果是其它java项目也可以用类似的方法, 将 jar 集成到自己项目中

1
https://gitee.com/han_gx/my_notes.git
git@gitee.com:han_gx/my_notes.git
han_gx
my_notes
my_notes
master

搜索帮助