樹莓派安裝使用RXTX


在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:96:25: error: 'UTS_RELEASE' undeclared (first use in this function) if(strcmp(name.release,UTS_RELEASE)!=0)

這是由於 version.h 中缺少 UTS_RELEASE 信息,需要手工添加。先獲取當前系統的版本信息:

 uname -r 

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

#define UTS_RELEASE "4.14.34-v7+" 

 4.14.34-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-8-oracle-arm32-vfp-hflt/jre/lib/arm ..... ----------------------------------------------------------------------
/usr/bin/install -c RXTXcomm.jar /usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/jre/lib/ext/

5.驗證安裝目錄文件

root@raspberrypi:/# cd /usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/jre/lib/arm root@raspberrypi:/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/jre/lib/arm# ls -l|grep librxtx -rwxr-xr-x 1 root root  70024 May 29 19:24 librxtxI2C-2.1-7.so -rwxr-xr-x 1 root root    857 May 29 19:24 librxtxI2C.la lrwxrwxrwx 1 root root     19 May 29 19:24 librxtxI2C.so -> librxtxI2C-2.1-7.so -rwxr-xr-x 1 root root  47636 May 29 19:24 librxtxParallel-2.1-7.so -rwxr-xr-x 1 root root    887 May 29 19:24 librxtxParallel.la lrwxrwxrwx 1 root root     24 May 29 19:24 librxtxParallel.so -> librxtxParallel-2.1-7.so -rwxr-xr-x 1 root root  71400 May 29 19:24 librxtxRaw-2.1-7.so -rwxr-xr-x 1 root root    857 May 29 19:24 librxtxRaw.la lrwxrwxrwx 1 root root     19 May 29 19:24 librxtxRaw.so -> librxtxRaw-2.1-7.so -rwxr-xr-x 1 root root  70628 May 29 19:24 librxtxRS485-2.1-7.so -rwxr-xr-x 1 root root    869 May 29 19:24 librxtxRS485.la lrwxrwxrwx 1 root root     21 May 29 19:24 librxtxRS485.so -> librxtxRS485-2.1-7.so -rwxr-xr-x 1 root root 166880 May 29 19:24 librxtxSerial-2.1-7.so -rwxr-xr-x 1 root root    875 May 29 19:24 librxtxSerial.la lrwxrwxrwx 1 root root     22 May 29 19:24 librxtxSerial.so -> librxtxSerial-2.1-7.so root@raspberrypi:/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/jre/lib/arm# cd /usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/jre/lib/ext/ root@raspberrypi:/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/jre/lib/ext# ls -l|grep RXTX -rwxr-xr-x 1 root root   59356 May 29 19:24 RXTXcomm.jar


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM