โปรเจกต์ IoT Dashboard Webserver พร้อม Gauges และ Actuators
สร้าง Dashboard ที่ตอบโต้ได้สมบูรณ์แบบพร้อม animated Gauges เพื่อแสดงข้อมูล Sensor และควบคุม Actuators จากระยะไกลด้วย Arduino Uno
สร้าง Dashboard ที่ตอบโต้ได้สมบูรณ์แบบพร้อม animated Gauges เพื่อแสดงข้อมูล Sensor และควบคุม Actuators จากระยะไกลด้วย Arduino Uno
เรื่องราวเบื้องหลัง Project ของผมเริ่มต้นขึ้นเมื่อเครื่องใช้ไฟฟ้าในครัวชิ้นหนึ่งเกิดเสียขึ้นมา และผมต้องเปลี่ยน Motherboard หลักของมัน
ผมสังเกตเห็นว่าสายไฟหลายเส้นที่เชื่อมต่อกับมันมาจาก Sensor, ตัวทำความร้อน และ Pump เมื่อลองหาข้อมูลเพิ่มเล็กน้อย ผมจึงตระหนักได้ว่า Motherboard นี้จริงๆ แล้วคือ Microcontroller ที่ทำหน้าที่ควบคุมการทำงานอัตโนมัติของเครื่องใช้ไฟฟ้าของผม นี่คือตอนที่ผมเกิด "Aha moment" ครั้งแรก และตัดสินใจว่าผมต้องเรียนรู้เพิ่มเติมเกี่ยวกับ Microcontroller เหล่านี้ที่ดูเหมือนจะถูกติดตั้งอยู่ในเกือบทุกสิ่งที่สำคัญที่ผมใช้งานอยู่ทุกวัน
ดังนั้น ผมจึงเริ่มค้นหาข้อมูลบนอินเทอร์เน็ต เรียนรู้เกี่ยวกับ Project ต่างๆ (หลายอย่างมาจากไซต์นี้) และแม้ว่าผมจะได้เรียนรู้สิ่งต่างๆ บ้างแล้ว แต่ผมต้องการเรียนรู้มากกว่าแค่การทำให้ LED สองสามดวงกระพริบบน Breadboard นี่คือตอนที่ผมมี "Aha moment" ครั้งที่สองและได้ไปพบกับ Project/หลักสูตรนี้ เมื่อสมัครเรียน รายละเอียดแนะนำ Project ระบุว่าผมจะสามารถใช้ Arduino Uno เป็น Webserver ซึ่งจะให้บริการหน้าเว็บที่โต้ตอบได้เต็มรูปแบบ แสดงค่าจาก Sensor บน Gauges และเปิดโอกาสให้ควบคุม Switch ด้วยตัวเองจากที่ไหนก็ได้ในโลก หรือแม้แต่ทำให้มันทำงานอัตโนมัติตามค่าของ Sensor ฟังดูดีเกินจริงใช่ไหมล่ะ? หลังจากทำ Project นี้เสร็จ สิ่งที่ผมบอกได้คือผมไม่เคยรู้มาก่อนเลยว่าผมจะทำอะไรได้มากมายขนาดนี้ด้วย Arduino Microcontroller ราคา 28 ดอลลาร์ ในระหว่าง Project นี้ ผมไม่เพียงแต่ได้เรียนรู้สิ่งต่างๆ มากมายเกี่ยวกับ Arduino แต่ยังรวมถึง HTML, CSS, JavaScript และ Ajax (หรือ Asynchronous JavaScript และ XML) ด้วย นอกจากนี้ผมยังได้เรียนรู้พื้นฐานเกี่ยวกับวิธีใช้งาน Sensor ต่างๆ (Temp, Ultrasonic, Voltage dividers, InfraRed), Ethernet Shield และ Relay Board รวมถึงหัวข้ออื่นๆ อีกมากมาย
นี่คือรูปภาพของ Project Board ที่เสร็จสมบูรณ์และใช้งานได้จริง ซึ่งช่วยให้สามารถทำการทดสอบและจำลองสถานการณ์ต่างๆ ได้:

เมื่อผมทำ Project เสร็จ ผมตัดสินใจดัดแปลงมันเพื่อให้ตอนนี้ผมสามารถตรวจสอบระดับน้ำในบ่อน้ำหลังบ้านของผม และสั่งให้ Water Pump สูบน้ำออกหรือให้ Solenoid Valve เติมน้ำเพื่อรักษาระดับให้อยู่ในขอบเขตที่กำหนด ผมยังสามารถดู Gauge ของ Sensor บน Dashboard สำหรับอุณหภูมิน้ำและระดับน้ำ และสั่งงาน Pump หรือ Valve ด้วยตนเองจาก Dashboard ของผมได้ด้วย
Gauges บนหน้าเว็บถูกแสดงผลโดยใช้ canvas-gauges ที่สร้างขึ้นโดยนักพัฒนาชื่อ Mykhailo Stadnyk จากยูเครน Code CSS ที่แสดงผล Gauge เหล่านี้ถูกโฮสต์บน JsDelivra CDN และอยู่ภายใต้ใบอนุญาต Software แบบ Open source ของ MIT ผมพยายามรวบรวมข้อมูลเกี่ยวกับ Project นี้ให้ได้มากที่สุดเท่าที่จะทำได้ แต่ถ้าใครอยากศึกษาข้อมูลเชิงลึก ผมขอแนะนำอย่างยิ่งให้ไปที่ลิงก์ต่อไปนี้เพื่อดูรายละเอียดเพิ่มเติมในการทำ Project นี้: https://aiotconsulting.com/services/#iot
นี่คือ Video จาก Project ที่จำลองสถานการณ์เมื่อระดับน้ำถึงระดับที่กำหนด (โดยการเลื่อนมือไปข้างหน้า Ultrasonic Sensor) Water Pump จะเริ่มทำงานเองโดยไม่ต้องคลิก Toggle Switch บน Dashboard
สนับสนุนเพื่อรับ Source Code หรือแอปพลิเคชันสำหรับโปรเจกต์นี้