ผลต่างระหว่างรุ่นของ "การติดตั้งไลบรารี RXTX"

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
แถว 1: แถว 1:
 
== ขั้นตอนสำหรับระบบปฏิบัติการ Linux ==
 
== ขั้นตอนสำหรับระบบปฏิบัติการ 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
 +
* เรียกคำสั่ง <tt>./configure</tt> เพื่อสร้าง <tt>Makefile</tt>
 +
./configure
 +
* พิมพ์คำสั่ง <tt>make</tt> เพื่อเริ่มกระบวนการคอมไพล์
 +
make
 +
: กระบวนการ make จะเกิดความผิดพลาดและหยุดการทำงานก่อนจะเสร็จสมบูรณ์ แต่ไฟล์ที่จำเป็น ได้แก่ <tt>RXTXcomm.jar</tt> และ <tt>librxtxSerial.so</tt> จะถูกคอมไพล์เสร็จเรียบร้อยแล้ว
 +
* ไฟล์ <tt>RXTXcomm.jar</tt> และ <tt>librxtxSerial.so</tt> ต้องถูกนำไปวางไว้ในไดเรคตอรี <tt>lib/ext</tt> ที่อยู่ภายใต้ไดเรคตอรีของ JRE (Java Runtime Environment) ซึ่งตรวจสอบได้จากที่อยู่ของคำสั่ง <tt>java</tt>
 +
readlink -f `which java`
 +
: สมมติว่าผลลัพธ์จากคำสั่งข้างต้นคือ <tt>/usr/lib/jvm/java-8-oracle/jre/bin/java</tt> แสดงว่าไดเรคตอรีของ JRE คือ <tt>/usr/lib/jvm/java-8-oracle/jre/</tt>
 +
* วางไฟล์ทั้งคู่ลงในไดเรคตอรีของ JRE
 +
sudo cp RXTXcomm.jar <พาธของ jre>/lib/ext/
 +
sudo cp x86_64-unknown-linux-gnu/.libs/librxtxSerial.so <พาธของ jre>/lib/ext/
 +
* ทดสอบการใช้งานโดยคอมไพล์และรันตัวอย่างโค้ด <tt>SerialMonitor.java</tt> จากวิกิ [[การสื่อสารผ่านพอร์ทอนุกรม]]
 +
javac SerialMonitor.java
 +
java SerialMonitor /dev/ttyUSB0
  
 
== ขั้นตอนสำหรับระบบปฏิบัติการ Mac OS X ==
 
== ขั้นตอนสำหรับระบบปฏิบัติการ Mac OS X ==

รุ่นแก้ไขเมื่อ 15:23, 3 ธันวาคม 2559

ขั้นตอนสำหรับระบบปฏิบัติการ 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/
javac SerialMonitor.java
java SerialMonitor /dev/ttyUSB0

ขั้นตอนสำหรับระบบปฏิบัติการ Mac OS 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
javac SerialMonitor.java
java SerialMonitor /dev/tty.SLAB_USBtoUART

ขั้นตอนสำหรับระบบปฏิบัติการ Windows