Arduino IOT วันนี้ทำอะไรได้บ้าง (ตอนที่ 1 — ภาพรวม)
ในปี 2020 นี้ เรามาดูกันหน่อยครับว่าบอร์ดรุ่นต่างๆ ที่เป็นของ Arduino.cc สามารถทำอะไรได้บ้าง
ในช่วง 3–4 ปีที่ผ่านมา เราได้เห็นผู้ผลิตของทางประเทศจีน ได้ออก Chip ที่ใช้งานสำหรับระบบ Internet ofThings ที่นิยมสุดๆ อย่าง ESP ออกมาหลายรุ่น ได้แก่ ESP8266 หรือ ESP32
สาเหตุที่ Chip ของ ESP เหล่านี้ได้รับความนิยมมากๆ ดูเหมือนจะมีสาเหตุมาจากราคาที่ถูกอย่างไม่น่าเชื่อ และเป็น Chip ที่หลอมรวมความสามารถในการเป็น Microcontroller และการเข้าสู่ระบบอินเทอร์เนตได้ในตัวเดียวกัน ซึ่งสิ่งนี้ทำให้การใช้งานอุปกรณ์ IOT มีราคาถูกลง และมีการใช้งานแพร่หลายมากขึ้น
ยิ่งช่วงที่ COVID-19 มีการระบาด อุปกรณ์ IOT ก็มีแนวโน้มที่จะเข้ามามีบทบาทกับการตรวจสอบและติดตามอาการของผู้คนมากขึ้น เช่น การติตตามตำแหน่งสถานที่ การเดินทางของผู้คน/ผู้ป่วย การตรวจสอบอุณหภูมิ ในลักษณะ wearable device หรืออุปกรณ์ที่ลดการสัมผัสต่างๆ เปลี่ยนมาเป็นการใช้ปุ่มบนมือถือ และเชื่อมต่อกับอุปกรณ์ IOT เพื่อสั่งงาน หรือ บันทึกค่า
คราวนี้มาดูทาง Arduino.cc ซึ่งเป็นต้นตำรับของ Arduino board และ Arduino IDE
ปัจจุบัน Arduino.cc มีความพยายามที่จะสร้าง Platform ขึ้นมาบน create.arduino.cc มีอะไรบ้าง มาดูกัน
Arduino Web Editor
ใช้ในการ Compile และ upload sketch บน website หลังจากที่ผมลองใช้งานดู พบว่า
ข้อดี
ข้อดีของการใช้งาน Web Editor ได้แก่ ความสะดวกในการใช้งาน Library โดยไม่ต้อง Install ด้วยตัวเอง แค่เรียกใช้ก็ compile ได้ ตัวอย่างการใช้งานก็รวบรวมไว้เป็นหมวดหมู่ หรือแยกตามบอร์ดที่ใช้ หมดปัญหาเรื่องการควานหา Library และ Examples ตามเว็บ github
นอกจากนี้ผู้พัฒนาสามารถใช้บนเครื่องคอมพิวเตอร์ได้หลายเครื่อง หลาย OS เพียงแค่เรียกไปที่ create.arduino.cc
ข้อเสีย คือ การใช้งานแบบฟรี ก็มีข้อจำกัดในเรื่องการใช้งาน โดย Web Editor อนุญาตให้ใช้ Compile และ uploadฟรีได้วันละไม่เกิน 200 วินาที
ส่วนตัวแล้วผมใช้ Web Editor ในการค้นหา library และตัวอย่างที่น่าสนใจ เมื่อเจอแล้วก็ Download Sketch ออกมาจากนั้นก็นำไปใช้กับ Arduino IDE ตามปกติ
Getting Start
เป็นส่วนที่ Arduino รวบรวมเอาวิธีการเริ่มต้นใช้งานของบอร์ดแท้รุ่นต่างๆ มาไว้ในที่เดียวกัน โดยบอกตั้งแต่ Setup อย่างไร ทั้งบน Web Editor และ บน Arduino IDE ก็ใช้งานได้สะดวกดีครับ
Arduino Cloud
มาถึงจุดนี้ก็จะเข้าเรื่องการพัฒนา IOT กันซะที ปัจจุบัน Arduino พยายามที่จะตั้ง Server ให้บริการสำหรับ IOT เรียกว่า Arduino IOT Cloud ซึ่งทำงานในทำนองเดียวกับที่ Amazon AWS, Google Cloud Firebase, Azure ให้บริการ
มาดูด้าน Hardware กันบ้าง
สำหรับทางด้าน Hardware นั้น ทาง Arduino ก็ออกผลิตภัณฑ์ใหม่ๆ ซึ่งตอบสนองการใช้งานที่หลากหลายเพื่อนักพัฒนา IOT ตั้งแต่บอร์ดที่ใช้กับ LoRa / Ublox / GSM
ปัจจุบันไปไกลถึงจับ Microcontroller มารวมกับ Chip ที่ประมวลผล AI ซึ่งใช้งานร่วมกับ Tensorflow ได้แล้วอย่าง PORTENTA H7 และคาดว่าจะมีอีกหลายๆตัวออกตามกันมา
สำหรับบอร์ดที่ใช้พัฒนาร่วมโดยใช้สัญญาณ WIFI ก็จะมีตระกูล Arduino UNO Wifi Rev2 ซึ่งเป็น Plateform เดียวกับ Arduon UNO แต่เพิ่ม Chip
u-blox NINA-W102 เพื่อใช้งาน WIFI
หรือตระกูล MKR (ย่อมาจาก Maker) รุ่นล่าสุดที่มีวางจำหน่ายคือ Arduino MKR Wifi 1010 ซึ่งจะมีขนาดเล็กกว่า และราคาถูกกว่าตัว Arduino UNO Wifi Rev 2
ถ้าสังเกตบอร์ดต่างๆ ที่ใช้กับ IOT ผ่านระบบ WiFi จะเห็นว่าบอร์ดแท้ของ Arduino.cc จะไม่ได้มีรุ่นไหนที่ใช้ Chip ESP โดยตรง (เน้นว่าบอร์ดแท้ที่พัฒนาและจำหน่ายโดย Arduino.cc นะครับ) อย่างไรก็ตาม Arduino.cc ก็ยังใจดีเปิดให้บอร์ดที่ใช้ Chip ESP8266 หรือ ESP32 อย่าง NodeMCU รุ่นต่างๆ เข้ามาใช้ Arduino IDE ร่วมได้ (อนาคตไม่รู้นะครับ แต่จนถึงขณะนี้ พค. 2020)
อย่างไรก็ตาม ถ้าเข้าไปดู Datasheet ของ Ublox NINA-W10 series จะเห็นว่าภายในของ Ublox ก็มี ESP32 อยู่ภายในเหมือนกัน ดูเหมือนจะเป็นส่วนหนึ่งของ Ublox NINA-W10
บอร์ดแท้ของคุณ Massimo Banzi จะเลือกใช้ u-blox, the NINA-W10 ซึ่งทำให้ WiFiNINA library ที่บอร์ดของ Arduino.cc ใช้จะไม่เหมือน และใช้ร่วมกันไม่ได้กับ Nodemcu
ดูเหมือนการมี Library และ Support การใช้งานกับ AWS Cloud, Firebase, Azure และ Arduino IOT Cloud จะเป็นจุดแข็งของการเลือกใช้งานบอร์ดแท้ของ Arduino อย่าง Arduino MKR 1010 หรือ Arduino Uno WiFi ครับ
วันนี้เขียนให้อ่านคร่าวๆ เท่านี้นะครับ ไว้สัปดาห์ถัดไปจะมาลองใช้งาน Arduino MKR 1010 กันว่าจะต่อกับ Cloud ของ AWS หรือ Azure หรือ Google ได้ยังไง
ติดตามต่อนะครับ