[PlatformIO] มาลองเล่น PlatformIO แทน Arduino IDE กัน
PlatformIO …ช่วงนี้ ชื่อนี้ได้ยินบ่อยมากครับ ไม่รู้ว่ามีดียังไง ถ้าผมไม่ได้ลองเล่นเจ้า PlatformIO ตอนนี้ ผมคงได้ตกขบวนแน่ๆ …จะรอช้าอยู่ใย ลองเล่นกันเลยดีกว่าครับ
PlatformIO คืออะไร ?
PlatformIO เป็นซอฟแวร์แบบเปิด (Open Source) สำหรับพัฒนาระบบ IoT แบบ Cross-platform หรืออาจจะเรียกได้ว่า PlatformIO เป็นซอฟแวร์ที่จะช่วยให้เราพัฒนาระบบ IoT ของเราบนบอร์ดทดลองใดๆก็ได้ (Arduino, ESP8266, EMBED) โดยที่ใช้ซอฟแวร์ตัวนี้ตัวเดียว จบ !!!
PlatformIO ประกอบไปด้วย 2 ส่วนหลักๆ
PlatformIO CLI
เป็นส่วนคำสั่ง Command Line ที่เป็นเสมือนหัวใจหลักครับ ใครมือใหม่ ไม่ถนัดก็ไปใช้แบบ IDE ได้ครับ ส่วนมือเทพๆ อยากใช้ PlatformIO กับ TextEditor ตัวอื่น ก็มาใช้ร่วมกับ CLI ตัวนี้ได้เลยครับ
PlatformIO IDE หรือ Atom TextEditor
เป็น TextEditor เทพ ที่น่าใช้ตัวหนึ่งเลยครับ มาพร้อมฟีเจอร์เจ๋งๆมากมาย
- รองรับกว่า 200+ embedded boards, 15+ development platforms, 10+ frameworks
- C/C++ Intelligent Code Completion
- Smart Code Listener
- Built-in Terminal with PlatformIO CLI tool
- Powerful Serial Port Monitor
รองรับกว่า 200+ embedded boards, 15+ development platforms, 10+ frameworks
ติดตั้ง PlatformIO IDE
PlatformIO IDE รองรับการทำงานกับทุก OS นะครับ สามารถเลือกติดตั้งได้ตามสะดวกครับ
Step 1 ติดตั้ง IDE
- ดาวโหลดและติดตั้ง Atom Tex Editor เวอร์ชั่นล่าสุดจาก https://atom.io/
- เปิด Atom Package Manager และติดตั้ง platformio-ide Atom package (ต้องรอสักพักใหญ่ๆ จนกว่าจะติดตั้งเสร็จนะครับ)
- Windows : Menu : File > Settings > Install
- Mac OS X : Menu : Atom > Preferences > Install
- Linux : Menu : Edit > Preferences > Install
Step 2 ติดตั้ง Python
เนื่องจากตัว PlatformIO IDEพัฒนาบน PlatformIO CLI ที่เขียนด้วยภาษา Python เพื่อนๆที่ใช้ Windows จึงจะต้องมี python ก่อนนะครับ (OS อื่นเค้ามีมาให้หมดละ)
- ดาวโหลด Python 2.7.11 และติดตั้งจาก https://www.python.org/downloads/
- อย่าลืม เลือก Addpython.exe ที่ Customize ด้วยนะครับ
Step 3 ติดตั้ง Clang
- Windows : ดาวโหลดเวอร์ชั่นล่าสุดจาก http://llvm.org/releases/download.html ระหว่างติดตั้งให้เลือก “Add LLVM to the system PATH” นะครับ.
- Mac OS X: ให้ทำการติดตั้ง Xcode ตัวล่าสุด ที่มาพร้อมกับ Command Line Tools ล่าสุด (มันจะติดตั้งให้อัตโนมัติตอนรัน clang ที่ Terminal ครั้งแรก หรือติดตั้งเองด้วยคำสั่ง runningxcode-select — install)
- Linux : ติดตั้งด้วยคำสั่ง apt-get install clang หรือ yum install clang
ลองไฟกระพริบเทพกัน !
หลังจากติดตั้งเครื่องมือกันครบเรียบร้อยแล้ว พลาดไม่ได้กับไฟกระพริบเทพครับ งานนี้เราจะทดลองกับ Arduino Nano นะครับ เริ่มจากเปิดโปรแกรม Atom IDE ขึ้นมาครับ
สิ่งที่ต้องมี
- Arduino Nano
- สาย Mini USB
Step 1 สร้างโปรเจค
- เปิด Atom IDE มาจะเจอกับหน้าตาโปรแกรมแบบนี้ครับ
- เลือก PlatfromIO > Initialize new PlatformIO Project
- Selected board : ผมเลือกเป็น Arduino Nano ATmega328
- Choose the directory : อันนี้ก็แล้วแต่จะเก็บไฟล์ไว้ที่ไหนเลยครับ ผมเลือกเป็น PlatformIO ละกันครับ
- เสร็จแล้วกด Initialize แล้วรอสักครู่ครับ
- เสร็จแล้ว ที่โฟลเดอร์งานของเรา PlatformIO จะสร้างไฟล์และโฟลเดอร์ที่จำเป็นมาให้ครับ
Step 2 สร้างไฟล์
- ที่โฟลเดอร์ scr ให้คลิ๊กขวา แล้วเลือก New File
- ตั้งชื่อไฟล์ว่า main.cpp
- จากนั้นเราก็ทำการเขียนโค๊ดไฟกระพริบเทพใส่ไปเลยครับ ()
- แทบจะเหมือนใน Arduino IDE เลยครับ แค่เพิ่ม #include “Arduino.h”
- โค๊ดด้านล่างผมใช้ LED บนบอร์ด (LED13) ในการกระพริบนะครับ
/**
* Blink
* Turns on an LED on for one second,
* then off for one second, repeatedly.
*/
#include "Arduino.h"void setup()
{
// initialize LED digital pin as an output.
pinMode(13, OUTPUT);
}void loop()
{
// turn the LED on (HIGH is the voltage level)
digitalWrite(13, HIGH);
// wait for a second
delay(1000);
// turn the LED off by making the voltage LOW
digitalWrite(13, LOW);
// wait for a second
delay(1000);
}
Step 3 Build
- เราสามารถ Build ได้จากการกดไอคอน “เครื่องหมายถูก” ที่เมนูด้านซ้าย หรือเมนู PlatformIO > Build (Atl+Ctl+B)
- การ Build คือการ Compile โค๊ดของเราครับว่าถูกต้องไหม ถ้าถูกต้องตามไวยกรณ์ ก็จะขึ้นคำว่า “Success” ที่ Console ด้านล่างครับ
Step 4 Upload
- เราจะ Upload ได้จากการกดไอคอน “ลูกศรขวา” ที่เมนูด้านซ้าย หรือเมนู PlatformIO > Upload (Atl+Ctl+U)
- การ Upload คือการเอาโค๊ดของเราที่ผ่านการ Build (Compile แล้ว) โหลดใส่บอร์ดทดลองของเรา ซึ่งเมื่อเสร็จแล้วจะขึ้นคำว่า “Success” ที่ Console ด้านล่างครับ
สรุป
จากการลองเล่นครั้งนี้ ก็ถือว่าเป็นซอฟแวร์ที่เทพตัวหนึ่งครับ ...ถือว่าคุ้มค่ากับการลองเล่นครับ แค่สัมผัสผิวๆ ผมก็พอจะเข้าใจแล้วครับว่าทำไมหลายๆคนเชียร์ให้ใช้เจ้านี้ !!! ถ้าไม่กล้าเปลี่ยน แล้วจะรู้ได้ไงว่าอะไรดีกว่า !