ผลต่างระหว่างรุ่นของ "การใช้ Arduino Makefile"

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
แถว 4: แถว 4:
  
 
== การติดตั้ง ==
 
== การติดตั้ง ==
สำหรับ Ubuntu Linux ใช้คำสั่ง <tt>apt-get</tt> ติดตั้งแพกเกจชื่อ <tt>arduino-mk</tt>
+
ดาวน์โหลดซอร์สโค้ดมาติดตั้งด้วยตนเองตามขั้นตอนด้านล่าง
  
sudo apt-get install arduino-mk
 
  
ส่วนระบบปฏิบัติการอื่นให้ติดตั้งโดยตรงจากซอร์สโค้ด โดยดูขั้นตอนจาก [https://github.com/sudar/Arduino-Makefile#installation https://github.com/sudar/Arduino-Makefile#installation]
+
# ดาวน์โหลดซอร์สโค้ดจาก [https://github.com/sudar/Arduino-Makefile https://github.com/sudar/Arduino-Makefile] สังเกตบริเวณด้านขวามือของหน้าเว็บจะเห็นปุ่มที่เขียนว่า "Download ZIP" สมมติว่าไฟล์ที่ดาวน์โหลดมาถูกบันทึกไว้ที่ <tt>~/Download/Arduino-Makefile-master.zip</tt>
 +
# แตกไฟล์ไว้ในไดเรคตอรี <tt>/opt</tt> (หรือที่ใดก็ได้ที่ต้องการ แต่ให้จดจำตำแหน่งการติดตั้งไว้ด้วย)
 +
#:<pre>
 +
#::cd /opt
 +
#::sudo zip ~/Download/Arduino-Makefile-master.zip</pre>
 +
# จะได้ไดเรคตอรีชื่อ <tt>Arduino-Makefile-master</tt> ปรากฏขึ้น ให้เปลี่ยนชื่อเป็น <tt>arduino-mk</tt> เพื่อความสะดวกในการใช้งาน
 +
#:<pre>
 +
#::sudo mv Arduino-Makefile-master arduino-mk</pre>
 +
 
 +
<b>หมายเหตุ 1:</b> <tt>arduino-mk</tt> ที่ติดมาให้กับ Ubuntu 14.04 นั้นยังเป็นเวอร์ชันที่เก่าเกินไปและไม่รองรับการคอมไพล์โค้ดที่ใช้ไลบรารีพิเศษบางตัว จึงไม่สามารถใช้ <tt>apt-get install</tt> เพื่อติดตั้งได้
 +
 
 +
<b>หมายเหตุ 2:</b> ผู้ที่มีบัญชีบน GitHub สามารถดาวน์โหลดและติดตั้งโปรแกรมโดยใช้คำสั่ง git clone ได้เช่นกัน
  
 
== ทดสอบการติดตั้ง ==
 
== ทดสอบการติดตั้ง ==

รุ่นแก้ไขเมื่อ 03:24, 27 ตุลาคม 2557

วิกินี้เป็นส่วนหนึ่งของรายวิชา 01204223

Arduino Makefile เป็นระบบที่อนุญาตให้เราคอมไพล์ Arduino sketch (โปรแกรมที่เขียนบน Arduino IDE) จากคอมมานด์ไลน์โดยไม่ต้องอาศัยตัว Arduino IDE ทำให้มีความคล่องตัวกว่า โดยเฉพาะสำหรับผู้ที่ต้องการเขียนโค้ดบนเอดิเตอร์ตัวอื่นที่ไม่ใช่ Arduino IDE นอกจากนั้น Arduino Makefile ยังมีความจำเป็นในการใช้คอมไพล์โปรแกรมที่ใช้ไลบรารีบางตัวที่ Arduino IDE ไม่รองรับ อาทิเช่นไลบรารี V-USB ที่ใช้เขียนเฟิร์มแวร์จำลองบอร์ดไมโครคอนโทรลเลอร์ให้เป็นอุปกรณ์ USB

การติดตั้ง

ดาวน์โหลดซอร์สโค้ดมาติดตั้งด้วยตนเองตามขั้นตอนด้านล่าง


  1. ดาวน์โหลดซอร์สโค้ดจาก https://github.com/sudar/Arduino-Makefile สังเกตบริเวณด้านขวามือของหน้าเว็บจะเห็นปุ่มที่เขียนว่า "Download ZIP" สมมติว่าไฟล์ที่ดาวน์โหลดมาถูกบันทึกไว้ที่ ~/Download/Arduino-Makefile-master.zip
  2. แตกไฟล์ไว้ในไดเรคตอรี /opt (หรือที่ใดก็ได้ที่ต้องการ แต่ให้จดจำตำแหน่งการติดตั้งไว้ด้วย)
    cd /opt
    sudo zip ~/Download/Arduino-Makefile-master.zip
  3. จะได้ไดเรคตอรีชื่อ Arduino-Makefile-master ปรากฏขึ้น ให้เปลี่ยนชื่อเป็น arduino-mk เพื่อความสะดวกในการใช้งาน
    sudo mv Arduino-Makefile-master arduino-mk

หมายเหตุ 1: arduino-mk ที่ติดมาให้กับ Ubuntu 14.04 นั้นยังเป็นเวอร์ชันที่เก่าเกินไปและไม่รองรับการคอมไพล์โค้ดที่ใช้ไลบรารีพิเศษบางตัว จึงไม่สามารถใช้ apt-get install เพื่อติดตั้งได้

หมายเหตุ 2: ผู้ที่มีบัญชีบน GitHub สามารถดาวน์โหลดและติดตั้งโปรแกรมโดยใช้คำสั่ง git clone ได้เช่นกัน

ทดสอบการติดตั้ง

เปิด Arduino IDE แล้วสร้าง Arduino Sketch ตัวใหม่โดยไม่มีโค้ดอะไรพิเศษดังนี้

#include <Practicum.h>

void setup()
{
}

void loop()
{
}

จากนั้นบันทึกลงในชื่อ test_mk (หรือชื่อใดก็ได้ตามต้องการ)

เปิดโปรแกรมเทอร์มินัล แล้วเข้าไปในไดเรคตอรีของ sketch ที่สร้างไว้

cd ~/sketchbook/test_mk         # Ubuntu
cd ~/Documents/Arduino/test_mk  # MAC OS X

สร้างไฟล์ Makefile ที่มีคำสั่งดังนี้ (หากใช้ระบบปฏิบัติการอื่นนอกเหนือจาก Ubuntu Linux ให้ระบุชื่อไดเรคตอรีที่ติดตั้ง Arduino และ Arduino-Makefile ไว้ในตัวแปร ARDUINO_DIR และ ARDUINO_MAKEFILE_DIR ในสองบรรทัดตามลำดับ)

ARDUINO_DIR = /usr/share/arduino
ARDUINO_MAKE_DIR = /usr/share/arduino
BOARD_TAG = atmega168
AVRDUDE_ARD_PROGRAMMER = usbasp

include $(ARDUINO_MAKE_DIR)/Arduino.mk

ระวังอย่าเผลอเคาะวรรคที่ท้ายบรรทัดของคำสั่งกำหนดค่าตัวแปรโดยเด็ดขาด ไม่เช่นนั้นจะทำให้ใช้คำสั่ง make ไม่สำเร็จ

จากนั้นลองพิมพ์คำสั่ง

make

หาก make มีการเรียกใช้คำสั่งคอมไพล์โค้ดเป็นจำนวนเยอะ ๆ โดยไม่แสดงข้อผิดพลาด แสดงว่าระบบ Arduino Makefile ทำงานได้โดยสมบูรณ์ ทดลองอัพโหลดเฟิร์มแวร์โดยเสียบบอร์ดไมโครคอนโทรลเลอร์เข้ากับเครื่อง เข้าสู่บูทโหลดเดอร์ แล้วพิมพ์คำสั่ง

make ispload

โปรแกรม avrdude จะถูกเรียกให้ทำงานและแสดงการอัพโหลดโปรแกรมตามกระบวนการที่เคยปฏิบัติมาก่อนหน้านี้