ถึงเวลาลงมือปฏิบัติจริง (Maker Time)! เรียนรู้วิธีการสร้างระบบสมาร์ตโฮมเต็มรูปแบบ ตั้งแต่การออกแบบหน้าปัดควบคุม (Dashboard) บนแอปพลิเคชันมือถือ (IoT MQTT Panel) ทำความเข้าใจการตั้งค่ารหัสลับ
Coding & Dashboard Design
เรียนทฤษฎีกันมาครบแล้ว ถึงเวลาประกอบร่างความรู้ทั้งหมดเข้าด้วยกันครับ! วันนี้เราจะมาจำลองการสร้าง "ระบบเปิด-ปิดหลอดไฟผ่านสมาร์ตโฟน" โดยใช้สมาร์ตโฟนเป็นผู้สั่งการ (Publisher) ส่งผ่านตัวกลาง (Broker) ไปยังบอร์ดสมองกล (Subscriber) เพื่อให้หลอดไฟสว่างขึ้นครับ!
เราจะเปลี่ยนหน้าจอมือถือธรรมดา ให้กลายเป็นรีโมตสุดล้ำด้วยแอปพลิเคชัน IoT MQTT Panel (หรือแอปแนว Dashboard อื่นๆ) โดยมีขั้นตอนง่ายๆ ดังนี้:
เปิดแอปขึ้นมา สิ่งแรกที่ต้องทำคือกรอก IP Address หรือ URL ของ Broker เพื่อให้มือถือรู้ว่าจะต้องส่งข้อมูลไปที่เซิร์ฟเวอร์ไหน (เช่น tcp://broker.hivemq.com)
ในกรณีที่เราต้องการเปิด-ปิดไฟ ให้เราเลือกวิดเจ็ตประเภท สวิตช์ (Switch หรือ Button) นำมาวางบนหน้าจอ Dashboard
เมื่อเราสร้างสวิตช์บนแอปแล้ว เราต้องตั้งค่า "รหัสลับ" 2 อย่าง เพื่อให้สวิตช์ตัวนี้คุยกับหลอดไฟได้ถูกดวง ไม่ไปเปิดไฟบ้านคนอื่นครับ!
home/bedroom/light1 เพื่อบอกให้รู้ว่านี่คือคำสั่งของไฟห้องนอนดวงที่ 1ON (หรือเลข 1) ออกไป และถ้าปัดปิด จะส่งคำว่า OFF (หรือเลข 0) ออกไปครับเมื่อมือถือส่งคำสั่งออกไปแล้ว ฝั่งฮาร์ดแวร์ (เช่น บอร์ด Raspberry Pi, NodeMCU หรือ KidBright) ก็ต้องมี โปรแกรมคอมพิวเตอร์ (Coding) ฝังไว้ เพื่อบอกมันว่าต้องทำตัวอย่างไร ซึ่งหลักการเขียนโปรแกรม (เช่น ภาษา Python) จะมีตรรกะดังนี้ครับ:
เพียงเท่านี้! ทันทีที่เรากดสวิตช์ ON บนมือถือ ข้อมูลจะวิ่งไปที่ Broker แล้วส่งต่อมาที่บอร์ดสมองกล บอร์ดอ่านโค้ดเจอคำว่า ON ก็จะสั่งจ่ายไฟให้หลอดไฟสว่างขึ้นทันที นี่แหละครับคือเวทมนตร์ของ Internet of Things!
ทดสอบความเข้าใจเรื่องการสร้างระบบควบคุม IoT
ข้อที่ 1: ในการใช้งานแอปพลิเคชัน IoT MQTT Panel สิ่งแรกที่นักเรียนต้องตั้งค่าเพื่อให้แอปสามารถสื่อสารกับระบบได้คืออะไร?
ข้อที่ 2: ในระบบ MQTT คำว่า "Topic" มีหน้าที่เปรียบได้กับสิ่งใดในชีวิตประจำวัน?
ข้อที่ 3: หากนักเรียนกดสวิตช์เปิดไฟบนมือถือ แล้วแอปส่งคำว่า "ON" ออกไป คำว่า "ON" นี้เรียกอีกอย่างหนึ่งว่าอะไรตามหลักของ MQTT?
ข้อที่ 4: ในกระบวนการสั่งเปิดไฟจากมือถือ "บอร์ดสมองกล" (เช่น Raspberry Pi หรือ NodeMCU) ที่ต่ออยู่กับหลอดไฟ จะต้องทำหน้าที่อะไรเป็นหลัก?
ข้อที่ 5: เหตุใดเราจึงต้อง "เขียนโปรแกรม (Coding)" ลงไปในบอร์ดสมองกล ทั้งที่เรากดปุ่มจากในแอปมือถือได้แล้ว?
หากนักเรียนหรือคุณครูพบจุดที่ควรแก้ไขในบทเรียน/แบบทดสอบนี้ หรือมีข้อเสนอแนะเพิ่มเติม สามารถแจ้งครูพิสิฐเพื่อนำไปปรับปรุงเนื้อหาให้สมบูรณ์ยิ่งขึ้นได้เลยครับ
(ขอบคุณที่ร่วมเป็นส่วนหนึ่งในการพัฒนาการเรียนรู้ไปด้วยกันครับ)
© 2023 Smartyquizkids.com
All Rights Reserved.