PlatformIO เป็นเครื่องมือสำหรับพัฒนาโปรแกรมบนระบบสมองกลฝังตัวที่รวมขั้นตอนสำคัญทั้งหมดไว้ในที่เดียว สามารถทำงานกับบอร์ดยอดนิยมอย่าง Arduino และ ESP32 ได้อย่างสะดวก โดยรองรับทั้ง Arduino Framework และ ESP-IDF ผู้ใช้สามารถเขียนโค้ดแบบเดียวกับ Arduino IDE ได้แต่มีความสามารถที่มากกว่า เช่น การจัดการไลบรารีอัตโนมัติ การคอมไพล์และอัปโหลดโปรแกรมลงบอร์ดได้รวดเร็ว การใช้ Serial Monitor ในตัว และการดีบักแบบมืออาชีพ นอกจากนี้ยังสามารถสร้างโปรเจกต์ที่รองรับหลายบอร์ดพร้อมกัน และกำหนดค่าได้ในไฟล์เดียว ทำให้การทำงานเป็นระบบและสะดวกกว่า Arduino IDE เหมาะสำหรับทั้งผู้เริ่มต้นและนักพัฒนาที่ต้องการประสิทธิภาพและความยืดหยุ่นมากขึ้น
แนะนำวิธีการติดตั้งPlatformIO ในVSCODE
ก่อนการติดตั้งVSCODE และExtension ใดๆ ให้ทำการอัพเดท และให้ทำการติดตั้งPython3 ในTerminal ให้เสร็จสิ้นเสียก่อน ดังสคริปซ์และรูปข้างล่าง (จะต้องติดตั้งPython V3.8)
sudo apt update
sudo apt install python3-venv
สำหรับการติดตั้งPlatformIO ในนี้ ผู้เขียนจะแนะนำให้ติดตั้งบนVSCODE ซึ่งเป็นโปรแกรมที่นิยมใช้งานสำหรับผู้พัฒนาอย่างแพร่หลาย ซึ่งจะทำการติดตั้งในระบบปฏิบัติการUbuntu20.04 แบ่งเป็นขั้นตอนดังนี้
การติดตั้ง VS CODE ทำการติตั้งดังขั้นตอนตามรูปข้างล่าง
2. ทำการติดตั้งExtension PlatformIO ดังรูปข้างล่าง (ขั้นตอนนี้อาจรอนานนิดนึง)
3. การติดตั้งArduino IDE (เผื่อได้ใช้งานในการอ่านSerial Monitor หากPlatformIO ไม่สามารถอ่านได้)
แนะนำการใช้งานPlatformIO ในVSCODE ร่วมกับบอร์ดสมองกลฝังตัว
ทำการสร้างโฟลเดอร์ ตั้งชื่อไฟล์ และทำการเลือกบอร์ดสมองกลฝังตัว
2. หลังจากนั้นPlatformIOจะทำการสร้างPackage เพื่อรองรับการใช้งานบอร์ดสมองกลฝังตัวตามที่เราได้ระบุข้างต้น สามารถดูได้ที่ไฟล์platformio.ini (ขั้นตอนนี้อาจใช้เวลา 1-2 นาที)
3. สำหรับพื้นที่ในการเขียนโค้ดจะอยู่ในโฟลเดอร์src ชื่อไฟล์ว่าmain.cpp
4. สำหรับส่วนที่ใช้ในการตรวจสอบโค้ด เชื่อมต่อกับบอร์ดสมองกลฝังตัว อัพโหลดโค้ด จะอยู่ในแถบเมนูด้านล่างดังนี้
5. ทำการเปิดTerminalเพื่ออนุมัติสิทธิการเข้าถึง USB ดังขั้นตอนต่อไปนี้
# คำสั่งตรวจสอบพอร์ตทั้งหมด
ls /dev/tty**
# คำสั่งอนุญาตสิทธิเข้าถึงผู้ดูแลระบบ(root)
sudo usermod -a -G tty $USER
# คำสั่งอนุญาตสิทธิเข้าถึงพอร์ต USB
sudo usermod -a -G dialout $USER
หลังจากนั้นทำการรีสตาร์ท Ubuntu ก็จะสามารถใช้งานพอร์ตUSB ได้แล้ว