在RaspberryPi树莓派上使用RXTX(RXTX的源码安装)
Linux 编译RXTX(JAVA串口开发)源码

如果为windows系统,则使用rxtx比较简单,到http://fizzed.com/oss/rxtx-for-java下载对用的压缩包.然后将对应的文件拷贝到JDK指定目录下即可.
rxtxParallel.dll\rxtxSerial.dll拷贝到$JAVA_HOME\jre\bin;
RXTXcomm.jar拷贝到$JAVA_HOME\jre\lib\ext 即可.

树莓派在使用RXTX框架时,并未找到与树莓派系统对应的框架版本。
原因为:
RaspberryPi树莓派处理器使用的是ARM架构,而一般电脑则为x86或x64架构,均不能适用,故只能在系统中重新编译安装RXTX源码

以下对上面两篇文章结合自身安装过程进行整合.

1. 获取源码包

cd /tmp

wget http://rxtx.qbang.org/pub/rxtx/rxtx-2.1-7r2.zip

unzip rxtx-2.1-7r2.zip

2. 编译源码

cd rxtx-2.1-7r2

sudo -i

sh ./configure

make

make install

3. 编译过程中可能遇到的问题

错误一:

/tmp/rxtx-2.1-7r2/./src/RS485Imp.c::: error: 'UTS_RELEASE' undeclared (first use in this function)
if(strcmp(name.release,UTS_RELEASE)!=)

这是由于 version.h 中缺少 UTS_RELEASE 信息,需要手工添加。先获取当前系统的版本信息:

uname -r

然后在 /usr/include/linux/version.h 中添加

#define UTS_RELEASE "4.14.34-v7+"

4.14.-v7+ 为上一步中获得的版本号.


错误二:

libtool: install: armv6l-unknown-linux-gnu/librxtxRS485.la’ is not a directory

这个错误会出现在JDK1.6及以上的运行环境下,需要对configure文件进行修改。在configure文件中找到所有的 1.2*|1.3*|1.4*|1.5* ,将现有的JDK版本加入进去即可.如:改成 1.2*|1.3*|1.4*|1.5*|1.6*|1.7*|1.8* .

完成以上两项, make install 成功.


4.安装成功后,会显示如下信息

Libraries have been installed in:
/usr/lib/jvm/jdk--oracle-arm32-vfp-hflt/jre/lib/arm .....
----------------------------------------------------------------------
/usr/bin/install -c RXTXcomm.jar /usr/lib/jvm/jdk--oracle-arm32-vfp-hflt/jre/lib/ext/

5.验证安装目录文件

root@raspberrypi:/# cd /usr/lib/jvm/jdk--oracle-arm32-vfp-hflt/jre/lib/arm

root@raspberrypi:/usr/lib/jvm/jdk--oracle-arm32-vfp-hflt/jre/lib/arm# ls -l|grep librxtx
-rwxr-xr-x root root May : librxtxI2C-2.1-.so
-rwxr-xr-x root root May : librxtxI2C.la
lrwxrwxrwx root root May : librxtxI2C.so -> librxtxI2C-2.1-.so
-rwxr-xr-x root root May : librxtxParallel-2.1-.so
-rwxr-xr-x root root May : librxtxParallel.la
lrwxrwxrwx root root May : librxtxParallel.so -> librxtxParallel-2.1-.so
-rwxr-xr-x root root May : librxtxRaw-2.1-.so
-rwxr-xr-x root root May : librxtxRaw.la
lrwxrwxrwx root root May : librxtxRaw.so -> librxtxRaw-2.1-.so
-rwxr-xr-x root root May : librxtxRS485-2.1-.so
-rwxr-xr-x root root May : librxtxRS485.la
lrwxrwxrwx root root May : librxtxRS485.so -> librxtxRS485-2.1-.so
-rwxr-xr-x root root May : librxtxSerial-2.1-.so
-rwxr-xr-x root root May : librxtxSerial.la
lrwxrwxrwx root root May : librxtxSerial.so -> librxtxSerial-2.1-.so root@raspberrypi:/usr/lib/jvm/jdk--oracle-arm32-vfp-hflt/jre/lib/arm# cd /usr/lib/jvm/jdk--oracle-arm32-vfp-hflt/jre/lib/ext/ root@raspberrypi:/usr/lib/jvm/jdk--oracle-arm32-vfp-hflt/jre/lib/ext# ls -l|grep RXTX
-rwxr-xr-x root root May : RXTXcomm.jar

树莓派安装使用RXTX的更多相关文章

  1. Raspberry PI(树莓派)安装ZMAP

    以前配置树莓派安装ZMAP一直没有装成功,今天又试了下,装成功了,记录下. Good Job. Zmap地址: https://zmap.io/documentation.html step1: gi ...

  2. 树莓派安装ftp服务器

    在树莓派安装ftp服务器,可上载\下载文件 vsftpd是开源的轻量级的常用ftp服务器. 1,安装vsftpd服务器 (约400KB)sudo apt-get install vsftpd 2,启动 ...

  3. 使用NOOBS给树莓派安装系统Raspbian

    使用NOOBS给树莓派安装系统Raspbian --英文原版教程:https://www.raspberrypi.org/learning/software-guide/quickstart/ 1.原 ...

  4. 树莓派安装OSMC打造家庭影院,还可以看优酷和CCTV

    1.OSMC是什么? OSMC是树莓派官方推荐的影音系统,是一款开源的操作系统,是Openelec的升级版,同样是基于Kodi的开源项目.OSMC,使用它可以将树莓派打造成一款全功能的家庭影院系统,它 ...

  5. 树莓派安装 Nginx + PHP7.0 + Pi Dashboard

    之前我们介绍过树莓派搭建LNMP环境的方法,以及给树莓派装一个仪表盘来监控树莓派运行状态.近期有用户反馈树莓派最新版的系统已经无法找到 PHP5 的软件包了,这是因为新版本已经用 PHP7 替代了 P ...

  6. Docker 开篇2 | 树莓派安装docker 续

    问题1:安装后出现错误Error! The dkms.conf for this module includes a BUILD_EXCLUSIVE directive which does not ...

  7. 树莓派安装Firefox+Selenium+geckodriver

    相关参考博客[Selenium]Raspbian+Selenium+Firefoxfirefox.geckodriver.exe.selenium-server-standlone版本对应及下载地址树 ...

  8. 树莓派安装中文输入法Fcitx及Google拼音输入法

    本来是想给树莓派安装搜狗输入法的, 搜狗输入法Linux版:https://pinyin.sogou.com/linux/?r=pinyin 但是一直安装不成功,后面发现原来是系统架构不同导致的,搜狗 ...

  9. 树莓派安装 Ubuntu 20.04 LTS 碰壁指南

    树莓派安装 Ubuntu 20.04 LTS 碰壁指南 设备 Raspberry 4B 4+32G 系统 Ubuntu 20.04 LTS 1.镜像下载与烧录 镜像下载地址:https://cdima ...

随机推荐

  1. java实现二维码的生成与解析

    简单介绍下二维码:二维码其实就是一种编码技术,只是这种编码技术是用在图片上了,将给定的一些文字,数字转换为一张经过特定编码的图片,而解析二维码则相反,就是将一张经过编码的图片解析为数字或者文字. 当然 ...

  2. APP消息推送是否进入消息中心和click、receive事件分析

    前端时间研究APP消息推送的机制,由于机型.版本的碎片化,消息推送的机制不太好理解,所以总结下,放在博文里以备后续查阅. 安卓Android系统的消息推送:     安卓 推送方式 应用状态 类型 消 ...

  3. 前端知识点回顾之重点篇——ES6的async函数和module

    async函数 ES2017 标准引入了 async 函数,使得异步操作变得更加方便. async 函数是 Generator 函数的语法糖 什么是语法糖? 意指那些没有给计算机语言添加新功能,而只是 ...

  4. 对String的内存解析

    @Test public void stringTest(){ /* * str1和str2地址指向字符串常量池 * 解析: str1 在字符串常量池中创建出java 地址例如为:0x456 * st ...

  5. linux下如何查看当前内核的配置?

    答: zcat /proc/config.gz 当然有个前提条件,需要打开内核的以下两个选项(CONFIG_IKCONFIG和CONFIG_IKCONFIG_PROC): General setup ...

  6. 如何将ubuntu16.04升级到ubuntu 18.04?

    答:步骤如下: 1. sudo apt update (更新软件源) 2. sudo apt upgrade (更新内核相关的包) 3. sudo apt dist-upgrade 4.  sudo ...

  7. Android之MVVM开发模式

    MVVM 模式简介 MVVM模式是指Model-View-ViewModel.相信看过笔者关于MVP的文章的读者也会发现,无论如何抽象化,在我们的View层中是无法避免的要处理一部分逻辑的.而MVVM ...

  8. 014-数据结构-树形结构-基数树、Patricia树、默克尔树、梅克尔帕特里夏树( Merkle Patricia Tree, MPT)

    一.基数树 Radix树,即基数树,也称压缩前缀树,是一种提供key-value存储查找的数据结构.与Trie不同的是,它对Trie树进行了空间优化,只有一个子节点的中间节点将被压缩.同样的,Radi ...

  9. Lucence简单学习---1

    package cn.itheima.lucene; import java.io.File; import java.util.ArrayList; import java.util.List; i ...

  10. Elasticsearch聚合问题

    在测试Elasticsearch聚合的时候报了一个错误.具体如下: GET /megacorp/employee/_search { "aggs": { "all_int ...