[PlatformIO] มาลองเล่น PlatformIO แทน Arduino IDE กัน

Sathittham (Phoo) Sangthong
SS Blog
Published in
4 min readApr 16, 2016
SS-PlatformIO-fb-share

PlatformIO …ช่วงนี้ ชื่อนี้ได้ยินบ่อยมากครับ ไม่รู้ว่ามีดียังไง ถ้าผมไม่ได้ลองเล่นเจ้า PlatformIO ตอนนี้ ผมคงได้ตกขบวนแน่ๆ …จะรอช้าอยู่ใย ลองเล่นกันเลยดีกว่าครับ

PlatformIO คืออะไร ?

PlatformIO เป็นซอฟแวร์แบบเปิด (Open Source) สำหรับพัฒนาระบบ IoT แบบ Cross-platform หรืออาจจะเรียกได้ว่า PlatformIO เป็นซอฟแวร์ที่จะช่วยให้เราพัฒนาระบบ IoT ของเราบนบอร์ดทดลองใดๆก็ได้ (Arduino, ESP8266, EMBED) โดยที่ใช้ซอฟแวร์ตัวนี้ตัวเดียว จบ !!!

PlatformIO ประกอบไปด้วย 2 ส่วนหลักๆ

Image 7

PlatformIO CLI
เป็นส่วนคำสั่ง Command Line ที่เป็นเสมือนหัวใจหลักครับ ใครมือใหม่ ไม่ถนัดก็ไปใช้แบบ IDE ได้ครับ ส่วนมือเทพๆ อยากใช้ PlatformIO กับ TextEditor ตัวอื่น ก็มาใช้ร่วมกับ CLI ตัวนี้ได้เลยครับ

ตัวอย่างการทำงานของ CLI

PlatformIO IDE หรือ Atom TextEditor
เป็น TextEditor เทพ ที่น่าใช้ตัวหนึ่งเลยครับ มาพร้อมฟีเจอร์เจ๋งๆมากมาย

รองรับกว่า 200+ embedded boards, 15+ development platforms, 10+ frameworks

หน้าตา Atom IDE

ติดตั้ง 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 ขึ้นมาครับ

ArduinoNanoFront_3_sm

สิ่งที่ต้องมี

Step 1 สร้างโปรเจค

  • เปิด Atom IDE มาจะเจอกับหน้าตาโปรแกรมแบบนี้ครับ
Image 2
  • เลือก 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 ด้านล่างครับ
ไฟกระพริบมาละจ้าา

สรุป

จากการลองเล่นครั้งนี้ ก็ถือว่าเป็นซอฟแวร์ที่เทพตัวหนึ่งครับ ...ถือว่าคุ้มค่ากับการลองเล่นครับ แค่สัมผัสผิวๆ ผมก็พอจะเข้าใจแล้วครับว่าทำไมหลายๆคนเชียร์ให้ใช้เจ้านี้ !!! ถ้าไม่กล้าเปลี่ยน แล้วจะรู้ได้ไงว่าอะไรดีกว่า !

อ้างอิง

--

--

Sathittham (Phoo) Sangthong
SS Blog

Hi! It's me Phoo! I’m a Software Developer 👨‍💻 , a Startup Entrepreneur 📱 and a Runner 🏃 . Currently, I’m a Co-Founder and CTO of a Startup name “Urbanice”.