Cover image

เริ่มต้น PlatformIO

24 May 2020

Share to:

สวัสดีครับ บทความนี้ผมจะมาเรียนรู้กันนะครับว่า PlatformIO คืออะไร, การ Install เพื่อใช้งานกับ Visual Studio Code (VSCode) รวมไปถึงการสร้าง Project และใช้งานเบื้องต้น

PlatformIO คืออะไร

โดยปกติเวลาที่เราจะใช้งาน Arduino ง่ายที่สุดเราจะใช้งานผ่าน Arduino IDE ใช้มั้ยครับ แต่รู้มั้ยครับยังมีทางเลือกอื่นๆให้เราเลือกใช้นอกจาก Arduino IDE อีก นั้นก็คือ PlatformIO ซึ่งหลังจากที่ได้ลองใช้งานแล้วคือ มันดีมากๆ มันดีอย่างไงไปดูกันครับ

PlatformIO เป็น Open source software สําหรับพัฒนา Embedded หรือพัฒนา IoT ได้ในแบบ Cross-platform หมายความว่า PlatformIO จะช่วยให้เราสามารถพัฒนาโปรแกรมสําหรับ Embedded ตระกูล ใดๆก็ได้ เช่น Arduino, ESP8266, EMBED ฯลฯ

สําหรับ PlatformIO มีสองแบบให้เลือกใช้งานตามความถนันคือ หรือจะใช้งานร่วมกันก็ได้

  • PlatformIO CLI: การใช้งานแบบ Command Line
  • PlatformIO IDE: การใช้งานผ่าน IDE ต่างๆ เช่น VSCode, Atom TextEditor

สําหรับในบทความนี้จะใช้ platformIO ใน VSCode ครับ

Install PlatformIO เพื่อใช้งานกับ VSCode

ก่อนติดตั้ง PlatformIO IDE จะต้อง Download และ Install VSCode (Visual Studio Code) ให้เรียบร้อยก่อนครับ

ต่อมาจะเป็นวิธีติดตั้ง PlatformIO Extension สําหรับ VSCode (Visual Studio Code) ตามขั้นตอนดังนี้

  1. เปิด VSCode Extension Manager ขึ้นมา
  2. ค้นหา Official PlatformIO IDE extension
  3. กด Install PlatformIO IDE.

Image

Getting Started PlatformIO

ในบทความนี้เราจะทดลองสร้าง Project ตัวอย่างเล็กๆคือ “Blink” (โปรแกรมไฟกระพริบ) ครับ

Step1: Create Project and Coding

  1. Click ที่ “PlatformIO Home” ตรง PlatformIO Toolbar
  2. Click ที่ “New Project”

Image

  1. ใส่ชื่อ Project ที่ต้องการ
  2. เลือก Board Embedded ที่ต้องการ สําหรับบทความนี้ ผมเลือกเป็น ESP8266
  3. เลือก Framework เป็น Arduino
  4. Click Finish

Image

  1. ให้แก้ไขไฟล์ “src/main.cpp ซึ่งไฟล์นี้จะเป็น File เริ่มต้นที่เราจะเขียนโปรแกรมสั่งงาน Embedded ครับ สําหรับบทความนี้จะใส่ Code สําหรับโปรแกรม “Blink” (โปรแกรมไฟกระพริบ)
/**
 * Blink
 *
 * Turns on an LED on for one second,
 * then off for one second, repeatedly.
 */
#include "Arduino.h"

// Set LED_BUILTIN if it is not defined by Arduino framework
// #define LED_BUILTIN 13

void setup()
{
  // initialize LED digital pin as an output.
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop()
{
  // turn the LED on (HIGH is the voltage level)
  digitalWrite(LED_BUILTIN, HIGH);

  // wait for a second
  delay(1000);

  // turn the LED off by making the voltage LOW
  digitalWrite(LED_BUILTIN, LOW);

   // wait for a second
  delay(1000);
}

ประมาณนี้ครับ

Image

Step2: Build and Upload

  1. Build Project โดยกดที่เครื่องหมายถูก ด้านล่างหรือใช้ hotkey “ctrl+alt+b” ก็ได้ครับ
  2. Upload ลง Embedded board โดยกดที่เครื่องหมาย “ลูกศร” ด้านล่างหรือใช้ hotkey “ctrl+alt+u” ก็ได้ครับ

Image

เสร็จเรียบร้อยครับ กับการใช้งาน PlatformIO

Bonus!! แถมท้ายนะครับ

PlatformIO Toolbar เป็น toolbar อยู่ด้านล่างของ VSCode ช่วยให้เราใช้งาน PlatformIO ได้งายดายครับ

Image

ความหมายแต่ละปุ่มตามนี้ครับ

  1. PlatformIO Home
  2. PlatformIO: Build
  3. PlatformIO: Upload
  4. PIO Remote
  5. PlatformIO: Clean
  6. PIO Unit Testing
  7. Run a task… (See “Task Runner” below)
  8. Serial Port Monitor
  9. PIO Terminal

ที่มาของข้อมูล platformio.org/

Suggestion blogs

เริ่มต้น DigitalOcean

มาทําความรู้จัก DigitalOcean กันก่อนDigitalOcean เป็น Simple Cloud Hosting คือผู้ให้บริการ Hosting ที่เราสามารถทําอะไรกับเครื่องได้ทุกอย่าง เหมือนกับว่าเรามีเครื่อง server มาใช้ทําอะไรก็ได้ตามที่เราต้องการ จุดเด่นของ DigitalOcean คือ ค่าบริการที่ถูกมาก เริ่มต้นเพียงเดือนละ $5 หรือ ประมาณ 180 บาท นอกจากค่าบริการที่ถูกแล้วยัง **ใช้งานง่าย **อีกด้วย หลังจากที่ผมได้ใช้งานมาสักพัก การ support ปัญหาต่างๆดีมาก

การอ่านค่าความจุของตัวเก็บประจุ Capacitor

ปัจจุบันตัวเก็บประจุถูกผลิตออกมามากมายหลายแบบ ประเภทของตัวเก็บประจุที่พบส่วนใหญ่มีดังนี้Tantalum electrolytic capacitorsCeramic capacitorsSilver mica capacitorsMylar capacitorsBipolar capacitorsElectrolytic capacitors

ประเภท SSL ของ Cloudflare

ประเภท SSL ของ CloudflareImageการใช้งาน SSL ใน Cloudflare แบ่งออกเป็น 4 ประเภทOff -> ก็คือการปิดการทำงานของ SSLFlexible SSL จะเป็นการเข้ารหัสจาก User ถึง CloudflareFull SSL จะเป็นการเข้ารหัสทั้งจาก User ถึง Cloudflare จะจาก Cloudflare ถึง Server เรา (ใช้ใบรับรองแบบ Self-signed ได้)Full SSL (strict) จะเป็นการเข้ารหัสทั้งจาก User ถึง Cloudflare จะจาก Cloudflare ถึง Server เรา ซึ่งจะต้องใช้ใบรับรองที่ได้รับการยอมรับจาก Root CAข้อมูลจาก cloudflare


Copyright © 2024 thiti.dev |  v1.16.0 |  Privacy policy |  status | 

            วงแหวนเว็บ