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

SS-PlatformIO-fb-share

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

PlatformIO คืออะไร ?

Image 22

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

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

Image 7

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

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

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

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

platformio-ide-laptop.5d785317

หน้าตา 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 > Prefernces > Install

ide-atom-platformio-install

Step 2 ติดตั้ง Python

เนื่องจากตัว PlatformIO IDEพัฒนาบน PlatformIO CLI ที่เขียนด้วยภาษา Python เพื่อนๆที่ใช้ Windows จึงจะต้องมี python ก่อนนะครับ (OS อื่นเค้ามีมาให้หมดละ)

  • ดาวโหลด Python 2.7.11 และติดตั้งจาก https://www.python.org/downloads/
  • อย่าลืม เลือก Addpython.exe ที่ Customize ด้วยนะครับ

python-installer-add-path

 

Step 3 ติดตั้ง Clang

PlatformIO IDE ใช้ Clang ในการทำ Intelligent Code Autocompletion โดยเราต้องทำการติดตั้งเพิ่มครับ

  • 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

clang-installer-add-path

ลองไฟกระพริบเทพกัน !

หลังจากติดตั้งเครื่องมือกันครบเรียบร้อยแล้ว พลาดไม่ได้กับไฟกระพริบเทพครับ งานนี้เราจะทดลองกับ Arduino Nano นะครับ เริ่มจากเปิดโปรแกรม Atom IDE ขึ้นมาครับ

ArduinoNanoFront_3_sm

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

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

  • เปิด Atom IDE มาจะเจอกับหน้าตาโปรแกรมแบบนี้ครับ

Image 2

  • เลือก PlatfromIO > Initialize new PlatformIO Project

Image 4

  • Selected board : ผมเลือกเป็น Arduino Nano ATmega328
  • Choose the directory : อันนี้ก็แล้วแต่จะเก็บไฟล์ไว้ที่ไหนเลยครับ ผมเลือกเป็น PlatformIO ละกันครับ
  • เสร็จแล้วกด Initialize แล้วรอสักครู่ครับ

Image 3

  • เสร็จแล้ว ที่โฟลเดอร์งานของเรา PlatformIO จะสร้างไฟล์และโฟลเดอร์ที่จำเป็นมาให้ครับ

Image 8

Step 2 สร้างไฟล์

  • ที่โฟลเดอร์ scr ให้คลิ๊กขวา แล้วเลือก New File

Image 9

ตั้งชื่อไฟล์ว่า main.cpp

Image 10

  • จากนั้นเราก็ทำการเขียนโค๊ดไฟกระพริบเทพใส่ไปเลยครับ ()
  • แทบจะเหมือนใน Arduino IDE เลยครับ แค่เพิ่ม #include “Arduino.h”
  • โค๊ดด้านล่างผมใช้ LED บนบอร์ด (LED13) ในการกระพริบนะครับ

Image 14

Step 3 Build

  • เราสามารถ Build ได้จากการกดไอคอน “เครื่องหมายถูก” ที่เมนูด้านซ้าย หรือเมนู PlatformIO > Build (Atl+Ctl+B)

Image 15

  • การ Build คือการ Compile โค๊ดของเราครับว่าถูกต้องไหม ถ้าถูกต้องตามไวยกรณ์ ก็จะขึ้นคำว่า “Success” ที่ Console ด้านล่างครับ

Image 18

Step 4 Upload

  • เราจะ Upload ได้จากการกดไอคอน “ลูกศรขวา” ที่เมนูด้านซ้าย หรือเมนู PlatformIO > Upload (Atl+Ctl+U)

Image 16

  • การ Upload คือการเอาโค๊ดของเราที่ผ่านการ Build (Compile แล้ว) โหลดใส่บอร์ดทดลองของเรา ซึ่งเมื่อเสร็จแล้วจะขึ้นคำว่า “Success” ที่ Console ด้านล่างครับ

Image 19

ไฟกระพริบมาละจ้าา

ไฟกระพริบมาละจ้าา

สรุป

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

อ้างอิง

Leave a Reply