วันพุธที่ 22 พฤษภาคม พ.ศ. 2562

iot

IOT ??? IoT คือการเชื่อมต่ออุปกรณ์หรือสิ่งต่าง ๆ ไปยังอินเทอร์เน็ตแล้ววิเคราะห์ข้อมูลที่รวบรวมจากอุปกรณ์เหล่านี้เพื่อดึงค่าที่เพิ่มขึ้นมา ในบทความนี้จะแสดงวิธีที่จะช่วยให้พัฒนาต้นแบบ IoT ได้เร็วและง่ายกว่าวิธีการทั่วไป โดยใช้ฐานข้อมูลบนอินเทอร์เน็ตของ google ที่ชื่อว่า Firebase ระบบ IOT ก่อนที่จะมีฐานข้อมูล Firebase เรียลไทม์
โครงการ IoT ส่วนใหญ่ต้องการสร้างระบบ IoT ที่มีอุปกรณ์เซ็นเซอร์และส่งไปยังบริการฐานข้อมูลเพื่อจัดเก็บ จากนั้นต้องสร้างเว็บแอปพลิเคชันที่จะดึงค่าเหล่านี้และแสดงในแดชบอร์ด จะเห็นว่าเป็นขั้นตอนค่อนข้างยุ่งยาก
      การใช้โบรกเกอร์ MQTT เป็นวิธีที่ง่ายขึ้นการดำเนินการ โดยโบรกเกอร์ MQTT ที่จะทำหน้าที่เป็นฮับและเปลี่ยนเส้นทางข้อความขาเข้าจากอุปกรณ์ไปยังไคลเอนต์ปลายทาง เช่น เว็บแอปพลิเคชัน ซึ่งอาจจะจะแสดงข้อความที่มาจากโบรกเกอร์ MQTT โดยตรง หรืออาจจะดึงข้อมูลจากบริการฐานข้อมูลที่เก็บไว้ ถ้าต้องการให้แอปทำทั้งสองอย่าง: แสดงข้อมูลที่มาจากโบรกเกอร์ MQTT ในเวลาจริงและดึงข้อมูลจากฐานข้อมูล ในทางปฏิบัติอาจได้ 2 วิธี (อันที่จริงมีหลายวิธี) เพื่อให้ได้ตามจุดประสงค์ ดังนี้ : วิธีที่ 1 อุปกรณ์จัดส่งข้อมูลเองทั้งหมด วิธีการคือให้อุปกรณ์จะส่งข้อมูลไปยังโบรกเกอร์ MQTT แล้วเสร็จแล้วอุปกรณ์ส่งคำขอผ่าน HTTP ไปยังเว็บเซอร์วิสฐานข้อมูลเพื่อบันทึกข้อมูล ในการทำงานแบบนี้อุปกรณ์จำเป็นต้องใช้งาน 2 ไคลเอนต์: MQTT และไคลเอนต์ HTTP

รูปภาพจาก https://medium.freecodecamp.org วิธีที่ 2 อุปกรณ์จะส่งข้อมูลให้โบรกเกอร์ MQTT เป็นผู้เผยแพร่จากนั้นโบรกเกอร์ MQTT ไปยังสมาชิกที่เชื่อมต่อกับ โบรกเกอร์ MQTT เช่น เว็บแอป


สำหรับนักพัฒนามือใหม่ ทั้งวิธีการที่ 1 และ 2 อาจค่อนข้างยุ่งยากและซับซ้อน แต่เมื่อพัฒนาต้นแบบ IoT ด้วย Firebase ทำให้ง่ายขึ้นและประหยัดเวลาได้มาก Firebase มีบริการคลาวด์มากมายตั้งแต่การตรวจสอบสิทธิ์ การจัดเก็บและฟังก์ชั่นคลาวด์ ไปจนถึงการโฮสต์เว็บแอปพลิเคชัน ซึ่งในบทความนี้จะใช้ 2 บริการ: ฐานข้อมูลเรียลไทม์และโฮสติ้ง
Firebase คือ ระบบฐานข้อมูลเรียลไทม์ เป็นระบบฐานข้อมูลที่ใช้การประมวลผลแบบเรียลไทม์เพื่อจัดการปริมาณงานที่สถานะเปลี่ยนแปลงตลอดเวลา สิ่งนี้แตกต่างจากฐานข้อมูลดั้งเดิมที่มีข้อมูลถาวรซึ่งส่วนใหญ่ไม่ได้รับผลกระทบตามเวลา

นกรณีของฐานข้อมูล Firebase ไคล์เอนต์จะเชื่อมต่อกับฐานข้อมูลและจะรักษาการเชื่อมต่อแบบสองทิศทางเปิดผ่าน websockets จากนั้นหากไคล์เอนต์ใดส่งข้อมูลไปปรับปรุงฐานข้อมูล ระบบจะแจ้งไคล์เอนต์ที่เชื่อมต่อทั้งหมดว่ามีการเปลี่ยนแปลงโดยส่งข้อมูลที่บันทึกใหม่ไปให้ไคล์เอนต์ทั้งหมดที่เชื่อมต่ออยู่ วิธีการทำงานนี้อาจคล้ายกับโบรกเกอร์ MQTT ที่ตอบสนองเมื่อได้รับข้อความจากผู้เผยแพร่และส่งไปยังสมาชิกทั้งหมด แต่ความแตกต่างคือการเพิ่มส่วนฐานข้อมูลเข้ามาในระบบ เพื่อที่ไม่ต้องใช้โปรโตคอลอื่น ๆ และถ้าอีกส่วนหนึ่งของระบบเป็นเว็บแอปพลิเคชัน จะสามารถเชื่อมต่อกับบริการฐานข้อมูล Firebase ได้ เช่น เดียวกับอุปกรณ์และจะรับข้อมูลใหม่ เมื่อใดก็ตามที่มีการเปลี่ยนแปลงในฐานข้อมูล

ไม่มีความคิดเห็น:

แสดงความคิดเห็น