java串口开发基于 windows、Linux和树莓派的使用配置

这篇博客介绍了如何在Windows、Linux(CentOS)和树莓派4B上进行Java串口通信。对于树莓派,由于默认的rxtx库不支持自定义的ttyAMA串口,作者详细阐述了从下载源码、编译到安装的步骤,以解决这个问题。此外,还提供了rxtx库的下载链接和配置注意事项。
摘要由CSDN通过智能技术生成

随着java的使用越来越普遍,很多时候在和物接入打交道时难免会遇到一些串口相关的操作,下面将平时基于各种操作系统的串口使用方法整理下(重点是第三条,基于树莓派的使用经历)。

首先分享rxtx的下载路径:RXTX for Java

一:windows 7

windows操作系统下,在使用java进行串口相关的功能开发时,jre环境下必须要有对应的JNI库支持,按照上面的下载路径下载对应操作系统的rxtx.rar包,解压后将其中的rxtxParallel.dll和rxtxSerial.dll移至jre安装目录下的bin目录内即可,如图:

二:Linux(CentOS)

Linux操作系统下,以CentOS为例,使用sudo yum install rxtx 命令进行安装,默认的安装目录为/usr/lib64/rxtx ,将目录下的librxtxParallel.so、librxtxSerial.so两个.so文件放置jre的lib目录下,

三:树莓派(4B)

写这篇文章主要也是为了记录在树莓派上使用串口时没有对应的驱动程序,经过一番折腾才搞定,所以把常用的操作系统中关于串口使用这块的东西整理记录下,希望能给更多的人提供方便。首先交代一下背景:

在树莓派4B上,使用的操作系统是 2021-05-07-raspios-buster-armhf-full,因为自定义了两个串口,分别命名为ttyAMA1和ttyAMA2,当程序开发完部署在树莓派上后,对应的串口无法使用,经过代码跟踪,发现rxtx2.1.7源码中对Linux环境的串口定义只有3种,分别为ttyS、ttySA、ttyUSB,所以自定义的ttyAMA类型的串口号就无法识别了,找到问题的根源,那么就开始解决...

可以通过http: //rxtx .qbang.org /pub/rxtx查看可用的rxtx版本,下载对应的源码至指定目录

①下载源码:在pi目录下创建文件夹或指定可用文件夹,后进入此文件夹使用命令:wget http: //rxtx .qbang.org /pub/rxtx/rxtx-2 .1-7r2.zip 进行下载

②解压源码:unzip rxtx-2.1-7r2.zip 同目录下得到同名文件夹     

③编译环境配置:

      a.编译前需指定当前操作系统版本号,可通过命令:uname -r 查看,让后将此版本号配置在:/usr/include/linux/version.h文件中

    b.当前版本中的jdk的最高版本为1.6,为防止编译完成后安装时出现 libtool: install: armv6l-unknown-linux-gnu/librxtxRS485.la’ is not a directory  错误,所以在编译前请修改configure文件, 在jdk 版本中添加当前操作系统中安装的最高JDK版本(有多处,需全部修改),如:

        ④ 编译、安装:

              a.将账号切换至ROOT账户下,依次输入如下命令,等待每个步骤完成后,最后会显示安装成功的日志

                  sh ./configure

                  make

                  make install 完成后,会自动将已经编译完成的依赖库文件安装至当前的jre环境中 pi@raspberrypi:/usr/lib/jvm/java-8-openjdk-armhf/jre/lib/arm

                

              

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值