Thursday, April 11, 2019

Install Java with RXTX and MySQL on Ubuntu Mate for Rasberry Pi 3 Model B+

  • ได้ลองเล่น Rasberry Pi 3 Model B+ เค้าลง Rasbian มาให้ ก็ลองแล้วโอเค เร็วดี
  • แต่อยากลอง Ubuntu พยายามหาอยู่ Ubuntu Mate ลงง่ายสุดแล้ว สำหรับ Ubuntu
  • จะพัฒนาโปรแกรมอ่านค่าจาก SmartCard Reader แบบ USB เสียบเอา ด้วย Java
  • และมีการติดต่อ COMPORT ด้วย 
  • ลองใช้ java -version อยู่ไม่พบอะไรที่บ่งบอกว่าลงแล้ว
  • โพสนี้ขอเขียนบันทึกเกี่ยวกับลง .jar และ .so ของ library เสริมก่อน
Step
  • RXTX library สำหรับ อ่านและเขียนผ่าน comport ของ java เค้า
  • MySQL library ก็สำหรับเชื่อมต่อ java กับ MySQL ไง
  • ก่อนอื่นเลยต่อเน็ตให้ Ras เราก่อนจากนั้นก็
sudo apt-get update
  • ลองใช้ "sudo apt-get install openjdk-" แล้วกด Tab ดูเพื่อให้แสดง list ที่ repo เรามีให้ใช้ (repository default)
  • ลองลง openjdk-11-jdk ใช้แล้วไม่เวิร์คอ่ะ 
  • เพราะพาธมันไม่มี  .../jre/lib/ext/ ไว้สำหรับวางไฟล์ .jar หรือ .so เช่น RXTXcomm.jar , mysql-connector.jar , librxtxSerial.so เป็นต้น ซึ่งมันจำเป็นต้องใช้สำหรับติดต่อ commport
  • สรุป สำหรับโปรเจคที่ว่านี้คือ จะใช้ SmartCard Reader และ อ่านเขียนค่าผ่าน COMPORT ด้วยจึงจำเป็นต้องใช้
sudo apt-get install openjdk-8-jdk
  • จากนั้นก็ลง lib java ที่จำเป็นต้องใช้
sudo apt-get install librxtx-java libmysql-java
  • เราจะได้ไฟล์ ที่จำเป็น อยู่ที่พาธ /usr/share/java/
RXTXcomm-2.2pre2.jar (RXTXcomm.jar - shortcut )
mysql-connector-java-5.1.42.jar (mysql-connector-java.jar - shortcut)
  • shortcut ทั้ง 2 จะชี้ไปไฟล์ต้นฉบับพร้อมพาธเต็ม /usr/share/java/...
  • ให้เราคัดลอกไฟล์ตัวจริง และ shortcut  ไปวางไว้ที่ 
/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/jre/lib/ext/ 
  • จากนั้น คัดลอก .so  ตามนี้ไปวางที่เดียวกับที่ว่าง .jar เมื่อกี้ (พาธอยู่ที่ /usr/lib/jni/librxtx....so )
librxtxSerial.so (shortcut ไปยังไฟล์ ...2.2pre1.so นั่นและ), librxtxSerial.so-2.2pre1.so
librxtxParallel.so (shortcut), librxtxParallel.so-2.2pre1.so
  • ไฟล์พวกนี้ตอนใช้งานโปรแกรมที่ใช้ Java Runtime จะไปหา extension และ library พิเศษของเราในนี้แหละ
  • เพียงเท่านี้ Java บนเครื่องเราก็สามารถอ่านเขียนผ่าน COMPORT และ เชื่อมต่อ MySQL ได้
Add
  • การใช้งาน COMPORT บน Rasbian ไม่ต้องใช้ sudo ก็ได้
  • แต่บน Ubuntu Mate ต้อง sudo หรือสิทธิ์ root ถึงจะใช้ COMPORT ได้
  • add path และ รันโดยเรียกใช้ jar ด้วย
java -Djava.library.path=/usr/lib/jni -cp /usr/share/java/RXTXcomm.jar -jar BMSApp.jar

  • หรือ ใช้ compile โดยเรียกใช้ jar ด้วย

 javac -cp .:/path/file.jar File.java
Ref

No comments:

Post a Comment