การติดตั้งไลบรารี RXTX
ไปยังการนำทาง
ไปยังการค้นหา
เนื้อหา
ขั้นตอนสำหรับระบบปฏิบัติการ Linux
(แก้ไขจากเอกสารของ อิน(แดนนี) แอม อาร์ม CPE29)
- ดาวน์โหลดซอร์สโค้ดล่าสุดชองไลบรารี RXTX จากเว็บ http://rxtx.qbang.org/wiki/index.php/Download (ณ วันที่เขียนบทความเป็นเวอร์ชัน rxtx-2.2pre2)
- แตกไฟล์ zip ลงในไดเรคตอรีชั่วคราวและ cd เข้าไปในไดเรคตอรีที่ถูกสร้างขึ้น
unzip rxtx-2.2pre2.zip cd rxtx-2.2pre2
- เรียกคำสั่ง ./configure เพื่อสร้าง Makefile
./configure
- พิมพ์คำสั่ง make เพื่อเริ่มกระบวนการคอมไพล์
make
- กระบวนการ make จะเกิดความผิดพลาดและหยุดการทำงานก่อนจะเสร็จสมบูรณ์ แต่ไฟล์ที่จำเป็น ได้แก่ RXTXcomm.jar และ librxtxSerial.so จะถูกคอมไพล์เสร็จเรียบร้อยแล้ว
- ไฟล์ RXTXcomm.jar และ librxtxSerial.so ต้องถูกนำไปวางไว้ในไดเรคตอรี lib/ext ที่อยู่ภายใต้ไดเรคตอรีของ JRE (Java Runtime Environment) ซึ่งตรวจสอบได้จากที่อยู่ของคำสั่ง java
readlink -f `which java`
- สมมติว่าผลลัพธ์จากคำสั่งข้างต้นคือ /usr/lib/jvm/java-8-oracle/jre/bin/java แสดงว่าไดเรคตอรีของ JRE คือ /usr/lib/jvm/java-8-oracle/jre/
- วางไฟล์ทั้งคู่ลงในไดเรคตอรีของ JRE
sudo cp RXTXcomm.jar <พาธของ jre>/lib/ext/ sudo cp x86_64-unknown-linux-gnu/.libs/librxtxSerial.so <พาธของ jre>/lib/ext/
- ทดสอบการใช้งานโดยคอมไพล์และรันตัวอย่างโค้ด SerialMonitor.java จากวิกิ การสื่อสารผ่านพอร์ทอนุกรม
javac SerialMonitor.java java SerialMonitor /dev/ttyUSB0
ขั้นตอนสำหรับระบบปฏิบัติการ MacOS X
- ดาวน์โหลดซอร์สโค้ดล่าสุดชองไลบรารี RXTX จากเว็บ http://rxtx.qbang.org/wiki/index.php/Download (ณ วันที่เขียนบทความเป็นเวอร์ชัน rxtx-2.2pre2)
- แตกไฟล์ zip ลงในไดเรคตอรีชั่วคราวและ cd เข้าไปในไดเรคตอรีที่ถูกสร้างขึ้น
unzip rxtx-2.2pre2.zip cd rxtx-2.2pre2
- เรียกคำสั่ง ./configure เพื่อสร้าง Makefile
./configure
- Makefile ที่สร้างขึ้นยังไม่พร้อมใช้งาน ให้แก้ไขดังนี้
- เปลี่ยนบรรทัด
LIBTOOLC = $(GLIBTOOL) --mode=compile $(CC) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(VERBOSE_IOEXCEPTIONS) -c
- ให้เป็น
LIBTOOLC = $(GLIBTOOL) --tag CC --mode=compile $(CC) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(VERBOSE_IOEXCEPTIONS) -c
- และเปลี่ยนบรรทัด
JAVAINCLUDEDIR = /Library/Java/JavaVirtualMachines/jdk1.8.0_66.jdk/Contents/Home/../../../Headers
- ให้เป็น
JAVAINCLUDEDIR = /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/JavaVM.framework/Headers/
- พิมพ์คำสั่ง make เพื่อเริ่มกระบวนการคอมไพล์
make
- คัดลอกไฟล์ไลบรารีที่คอมไพล์แล้วลงในไดเรคตอรี /Library/Java/Extensions
sudo cp RXTXcomm.jar /Library/Java/Extensions/ sudo cp i386-apple-darwin15.6.0/librxtxSerial.jnilib /Library/Java/Extensions/
- สร้างไดเรคตอรี /var/lock และตั้งค่าให้ทุกคนเข้าถึงและเขียนได้ (ไลบรารี RXTX ใช้ไดเรคตอรีนี้เก็บไฟล์ lock)
sudo mkdir /var/lock sudo chmod go+wx /var/lock
- ทดสอบการใช้งานโดยคอมไพล์และรันตัวอย่างโค้ด SerialMonitor.java จากวิกิ การสื่อสารผ่านพอร์ทอนุกรม
javac SerialMonitor.java java SerialMonitor /dev/tty.SLAB_USBtoUART
บางกรณีไฟล์ librxtxSerial.jnilib ที่คอมไพล์ขึ้นมาไม่สามารถใช้งานได้ ให้ดาวน์โหลดไฟล์นี้จากเว็บ http://blog.iharder.net/2009/08/18/rxtx-java-6-and-librxtxserial-jnilib-on-intel-mac-os-x/ มาใส่เอาไว้แทน
ขั้นตอนสำหรับระบบปฏิบัติการ Windows
(ข้อมูลจาก ศุภกฤษฏิ์ เกรียงขจร CPE29)
- ดาวน์โหลด prebuilt binary จากเว็บ http://fizzed.com/oss/rxtx-for-java#Downloads
- แตกไฟล์ zip แล้วทำตามขั้นตอนในเว็บ http://rxtx.qbang.org/wiki/index.php/Using_RXTX_In_Eclipse