UniHiker คือแพล็ตฟอร์มเพื่อการศึกษาด้าน STEM จากบริษัท DFRobot ซึ่งเดิมเน้นทำตลาดเฉพาะในประเทศจีนเท่านั้น แต่ตอนนี้ UniHiker พร้อมจะออกจำหน่ายทั่วโลกแล้ว ดังนั้นเรามาแกะกล่องรีวิวทำความรู้จักแพล็ตฟอร์ม UniHiker กันเลยดีกว่า เริ่มต้นจากบอร์ด UniHiker ซึ่งทำการออกแบบมาให้อยู่ใน form factor เดียวกันกับบอร์ด BBC Micro:bit ดังนั้นถ้าเรามี expansion บอร์ดของ Micro:bit อยู่แล้วเราสามารถใช้งานร่วมกับบอร์ด UniHiker ได้ทันที งั้นเรามาเริ่มแกะกล่องไปด้วยกันเลยดีกว่า
แกะกล่อง UniHiker
ชุดบอร์ด UniHiker ถูกส่งตรงมาจาก DFROBOT ด้วย DHL เมื่อแกะกล่องพัสดุออกเราก็พบกับสีส้มของ DFROBOT ที่คุ้นตา ภายในคือกล่องพลาสติกของ UniHiker แล้วซึ่งถือมาดีมากเพราะเราสามารถเก็บบอร์ด UniHiker หลังจากการเรียนหรือใช้งานให้อยู่ในกล่องพลาสติกได้อย่างปลอดภัย
เมื่อเปิดกล่องพลาสติกออกเราก็ก็พบกับชุดสาย USB Type-C และสายเคเบิลสำหรับเชื่อมต่อ Gravity พอร์ตทั้งแบบ 3 พินและ 4 พินและในซองกันกระแทกก็คือบอร์ด UniHiker ของเรานั่นเอง อย่างที่เล่าตอนแรกว่าบอร์ด UniHiker มาใน form factor Micro:bit
พร้อมกับการเพิ่มประสิทธิภาพเพื่อให้รองรับการเรียนการสอน STEM เบื้องต้นไปจนถึงขั้นสูงอย่าง IoT และ AI ดังนั้นเลยมีการเปลี่ยนจากการแสดงผล LED matrix ขนาด 5X5 แบบของ Micro:bit กลายเป็นหน้าจอสีขนาด 2.8 นิ้วความละเอียด 240×320 พร้อมหน้าจอสัมผัสแบบ resistive และใส่เซ็นเซอร์มาทั้งไมโครโฟน , เซ็นเซอร์แสง , Accelerometer และ Gyroscope เท่านั้นยังไม่พอส่วนของไมโครคอนโทรลเลอร์ได้ใส่ CPU มาพร้อมระบบปฎิบัติการในตัวเลยเพื่อให้ใช้งาน IoT และ AI ได้อย่างเต็มประสิทธิภาพ เรามาดูคุณสมบัติทั้งหมดของบอร์ด UniHiker กันเลยดีกว่า
คุณสมบัติ
- CPU : Rockchip RK3308 Quad-Core ARM Cortex- A35 ความเร็ว 1.2GHz
- RAM : 512MB
- FLASH : 16GB
- OS : Linux (Debian 10)
- Connectivity : Wi-Fi 2.4GHz , Bluetooth 4.0
- Screen : ขนาด 2.8inch ความละเอียด 240×320 Touch Screen แบบ resistive
- MCU : GD32VF103 RISC-V ความเร็ว 108MHz 64KB Flash และ 32KB SRAM
- Sensor : ปุ่มกด , ไมโครโฟน , ความเข้มแสง , Accelerometer และ Gyroscope
- Actuator : ลำโพงบัซเซอร์ และ LED
- Peripheral : USB Type-C, USB-A , MicroSD , พอร์ต Gravity แบบ 3พิน และ 4พิน , Edge ตอนเน็คเตอร์(Micro:bit)
- Power : 5V 2A จาก USB Type-C
- Size : 51.6 มม. x 83 มม. x13 มม.
จากคุณสมบัติเราจะพบว่ามันคือคอมพิวเตอร์แบบ single board 1 ตัวนั้นเองโดยมาพร้อมกับไมโครคอนโทรเลอร์ GD32VF103 ซึ่งจะทำหน้าที่ในการอ่านค่าจากเซ็นเซอร์ทั้งหมดยกเว้นไมโครโฟนและควบคุม actuator ทั้งหมดตามรูปด้านล่าง
ผังการเชื่อมต่อภายในบอร์ด UniHiker
โดยข้อมูลของเซ็นเซอร์และ actuator ที่เชื่อมต่อกับ ไมโครคอนโทรเลอร์ GD32VF103 จะเป็นดังนี้ ซึ่งเดี๋ยวเราจะได้ทดลองจ่ายไฟเพื่อใช้งานและทดลองโปรแกรมกัน
IO ของบอร์ด UniHiker
ทดสอบการทำงาน
บอร์ด UniHiker สามารถจ่ายไฟเพื่อให้บอร์ดทำงานได้โดยการจ่ายไฟผ่านช่อง USB Type-C ซึ่งบอร์ดก็จะบูตและทำงานทันทีและแสดงผลหน้าจอเป็น GUI แบบเมนู เรียกว่า Home menu เราจะสามารถเลือกเมนูต่าง ๆ ได้ทั้งหมด 8 หัวข้อ ตามรูปซึ่งก็เพียงพอต่อการใช้งานโดยไม่ต้องใช้คอมพิวเตอร์ในการตั้งค่าแต่อย่างใด
การเชื่อมต่อ
บอร์ด UniHiker สามารถเชื่อมต่อเครือข่ายเพื่อการเขียนโปรแกรมและใช้งานอินเตอร์เน็ตได้หลายรูปแบบดังนี้
- USB
- Wi-Fi
- Wi-Fi hotspot
- USB to ethernet
ซึ่งในการใช้งานเริ่มต้นทั่วไปจะทำได้สามวิธีคือ
- เปิด Wi-Fi hotspot แล้วใช้คอมพิวเตอร์เชื่อมต่อเข้าไปจากนั้นเปิดหน้าต่างเว็บบราวเซอร์จากคอมพิวเตอร์เพื่อตั้งค่าการเชื่อมต่อ Wi-Fi ให้กับบอร์ด UniHiker ผ่านหน้าเว็บ
- ต่อสาย USB Type-C เชื่อมระหว่างคอมพิวเตอร์กับบอร์ด UniHiker จากนั้นเปิดหน้าต่างเว็บบราวเซอร์จากคอมพิวเตอร์ไปที่หมายเลขไอพี 10.1.2.3 เพื่อตั้งค่าการเชื่อมต่อ Wi-Fi ให้กับบอร์ด UniHiker ผ่านหน้าเว็บ
- ต่อสาย USB Type-C เชื่อมระหว่างคอมพิวเตอร์กับบอร์ด UniHiker จากนั้นสามารถใช้งานด้วยการอ้างอิงถึงหมายเลขไอพี 10.1.2.3 ของ บอร์ด UniHiker ได้เลยแต่วิธีนี้จำเป็นต้องต่อสาย USB เชื่อมต่อไว้ตลอดเวลา
แสดงการเชื่อมต่อใช้งาน Internet ผ่าน USB ของบอร์ด UniHiker
การใช้งาน IoT
บอร์ด UniHiker มาพร้อมกับบริการ IoT แพล็ตฟอร์มในตัวที่ชื่อว่า SIoT ซึ่งประกอบด้วย MQTT broker และแพล็ตฟอร์มแสดงผลข้อมูลที่รับเข้ามาในระบบ เราจะมาทดสอบการใช้งานด้วยกันดังนี้
ภาพรวมการทำงานของแพล็ตฟอร์ม SIoT
แพล็ตฟอร์ม SIoT นั้นเป็น MQTT broker ที่ทำหน้าที่รับส่งข้อมูลระหว่างอุปกรณ์ IoT ต่าง ๆ โดยที่มีการออกแบบโครงสร้างของข้อมูลในแพล็ตฟอร์มคือ project ID และ device ID ให้ง่ายต่อการจัดการ โดยที่ผู้ใช้ไม่จำเป็นต้องสร้าง project หรือ device ในระบบ ตัวแพล็ตฟอร์ม SIoT จะทำหน้าที่สร้าง project ID และ device ID ให้โดยอัตโนมัติจากชื่อของ topic ที่ส่งเข้ามาในระบบ ที่จำเป็นจะต้องอยู่ในรูปแบบของ projectId/deviceId
ภาพรวมของแพล็ตฟอร์ม SioT
การใช้งานหน้าเว็บ SIoT
ก่อนที่เราจะใช้งานแพล็ตฟอร์ม SIoT ได้นั้นเราจำเป็นต้องทำการตรวจสอบสถานะการทำงานของ SIoT ก่อน โดยเข้าไปยังหน้า Service Toggle บนหน้าเว็บเพจของ UniHiker ตามรูป หากพบว่าระบบ Disable สามารถทำการกดคลิ้ก Start ได้ทันที
หน้าการตั้งค่า service บน UniHiker platform
เมื่อเลือกที่ Open page จะพาเราไปยังหน้า login ซึ่ง default username และ password คือ siot:dfrobot
หน้าต่างสำหรับล็อกอินเข้าใช้งาน SIoT
จากนั้นเราจะสามารถดูข้อมูลของ project , device และทดสอบส่งข้อมูลไปยัง SIoT ได้ ตามที่ได้อธิบายไว้ด้านบนว่าโตรงสร้างของ topic จะเป็นตัวสร้าง project และ device ให้โดยอัตโนมัติ
หน้าแสดงข้อมูล project บน SioT
การทดสอบส่งค่าไปยังแพล็ตฟอร์ม SIoT ด้วย MQTTX
เราจะทำการทดสอบการส่งค่าไปยังแพล็ตฟอร์ม SIoT ด้วยโปรแกรม MQTTX โดยทำการตั้งค่าการเชื่อมต่อดังนี้
หน้าต่างตั้งค่าการเชื่อมต่อไปยังแพล็ตฟอร์ม SIoT ในโปรแกรม MQTTX
และจากนั้นทำการทดสอบ publish message ไปที่ topic ที่ชื่อ cnx-software/hello
หน้าต่างแสดงการ publish ข้อมูลไปยังแพล็ตฟอร์ม SIoT
จะพบว่ามี project ชื่อ cnx-software ปรากฎขึ้นมาและในส่วนของ device จะปรากฎอุปกรณ์ชื่อ hello แสดงขึ้นมา
หน้าต่างแสดงข้อมูลบนแพล็ตฟอร์ม SIoT
นอกจากนี้ความพิเศษของ SIoT ยังมีส่วนของการสามารถเลือกว่าข้อมูลที่ส่งมาจะเป็นคำสั่งสำหรับสั่งงาน หรือเป็นข้อมูล telemetry เพื่อการเก็บ time series ได้จากการกำหนด prefix ของข้อความ หากขึ้นต้นด้วย -> จะถือว่าเป็นคำสั่งจะไม่มีการบันทึกลงฐานข้อมูล
ทดสอบการพัฒนาโปรแกรมบน UniHiker
บอร์ด UniHiker มาพร้อมการรองรับการพัฒนาโปรแกรมที่หลากหลายสามารถสรุปเป็นวิธีหลัก ๆ ได้ 4 แบบด้วยกันคือ
- การพัฒนาโปรแกรมผ่านเว็บด้วย Jupyter Notebook เราสามารถเปิดหน้าเว็บใส่หมายเลข IP ของ บอร์ด UniHiker แล้วเริ่มเขียนโปรแกรมได้ทันที
- การ SSH เข้าไปเขียนโปรแกรมบน terminal ของ linux
- การพัฒนาโปรแกรมผ่านโปรแกรม VSCode
- การพัฒนาโปรแกรมด้วยโปรแกรม Mind+ ที่รองรับการโปรแกรมแบบลากวางบล็อคโปรแกรมติดตั้งมีขนาดราว ๆ 1 GB
การรันทดสอบโปรแกรม
- สามารถทำได้โดยการใช้ home menu บนหน้าจอของบอร์ด UniHiker
- เลือกที่เมนู “2-Run Programs” เลือกไปยัง directory ที่บันทึกโปรแกรมไว้ จะปรากฎรายการไฟล์
- สามารถกดเลือกที่ไฟล์ที่ต้องการให้ทำงานได้ทันที
การนำบอร์ด UniHiker ไปต่อยอดใช้งาน
เราสามารถสร้างสรรค์ผลงานด้าน STEM จากบอร์ด UniHiker ได้หลากหลายเท่าที่ต้องการ ทั้งงาน IoT ต่าง ๆ เช่น Smart farm, Smart home โดยเราสามารถเชื่อมต่อเซ็นเซอร์เพิ่มเติมได้มากมายผ่านทาง USB Type-C, USB-A , พอร์ต Gravity แบบ 3พิน และ 4พิน , Edge ตอนเน็คเตอร์(Micro:bit)ไม่ว่าจะเป็นกล้อง Webcam , Motor driver , Servo หรือเซ็นเซอร์อื่นๆ และด้วยความที่บอร์ด UniHiker ทำงานบนระบบปฎิบัติการ Linux ทำให้เราสามารถเพิ่มเติมความสามารถทางด้านซอร์ฟแวร์ลงไปได้ตามที่เราต้องการเช่นแพล็ตฟอร์ม Node-RED หรืออื่น ๆ รวมถึงใช้งานเป็น IoT gateway สำหรับอุปกรณ์ IoT อื่น ๆ เช่น ESP32 ได้ทันทีผ่าน SIoT
ข้อสรุป
บอร์ด UniHiker เป็นบอร์ดที่อยู่กึ่งกลางระหว่าง Singleboard computer ทั่วไปในตลาดกับบอร์ดไมโครคอนโทรลเลอร์ โดยผสานความสามารถในการใช้งานทั้งการพัฒนาโปรแกรมที่พร้อมให้ใช้งานได้ทันทีตั้งแต่แกะกล่องและมีวิธีในการพัฒนาโปรแกรมที่หลากหลายรองรับระดับการศึกษาตั้งแต่ประถมด้วยการใช้ Mind+ จนไปถึงระดับมหาวิทยาลัยที่พัฒนาบน VSCode หรือ Jupyter Notebook และมาพร้อมกับ SIoT ที่เป็น IoT แพล็ตฟอร์มพร้อมใช้งานได้ทันที
พร้อมด้วย tutorials จาก DFRobot จำนวนมาก ทำให้การเรียนการสอนด้าน STEM สามารถทำได้อย่างง่ายดายและยืดหยุ่นมากขึ้น ซึ่งจากการทดลองใช้งานมากว่า 1 สัปดาห์มีข้อประทับใจหลายด้าน แต่ก็ยังมีจุดที่อยากให้พัฒนาเพิ่มลงไปอีกเช่นการใช้งานร่วมกับ Mind+ แบบ Web based version เพราะในปัจจุบันจะพบว่าการใช้งานคอมพิวเตอร์ในระดับประถมศึกษาจะเป็น Tablet เกือบทั้งหมดซึ่งใช้ OS เป็น Android และ iOS การที่รองรับแต่การใช้งานบน PC ทำให้การไปใช้งานโดยนักเรียนนอกเวลาเรียนทำได้ยากเมื่อเปรียบเทียบกับแพล็ตฟอร์มเพื่อการศึกษาด้าน STEM สำหรับระดับชั้นประถมอื่น ๆ ในตลาดการศึกษาปัจจุบัน
ต้องขอขอบคุณ DFRobot ที่ได้ส่งบอร์ด UniHiker มาให้ทำการรีวิวและทดลองใช้งาน โดยหากอ่านรีวิวนี้แล้วสนใจสามารถทำการสั่งซื้อได้ที่ร้านค้าของบริษัท โดยราคาจำหน่ายไม่รวมค่าขนส่งจะอยู่ที่ $79.90 (~2,700฿)
Fulltime Maker
ปัจจุบันดูแลส่วนงาน R&D และ Innovation
ความสนใจคือ Single Board Computer และงานด้าน IoT