*** will move to http://adventek.biz/iot/ soon ***

mqtt เป็น protocol ที่ถูกออกแบบมาสำหรับ IoT (Internet of Things) คุณสมบัติของมันคือ ใช้แบนวิดท์ในการรับส่งข้อมูลต่ำมาก เหมาะสำหรับการรับส่งข้อมูลระหว่างอุปกรณ์ขนาดเล็กต่างๆ

keywords ที่จำเป็นต้องรู้ คือ

- Publish / Subscribe

- Message

- Topic

- Broker

ดูรูปตัวอย่าง

 

 

 

Device 1  publish message ไปยัง topic ที่ต้องการ บน broker

Device 2 subscribe topic เดียวกัน บน broker

ดังนั้น device 2 จะได้รับ message จาก device 1 (ผ่าน broker )

 

MQTT Topic จะถูกแสดงคล้ายกับ directory ใน Linux/Unix เช่น

home/kitchen/lamp

 

รูปข้างล่างแสดงการใช้ protocol mqtt ระหว่างอุปกรณ์   บทความในตอนที่ 5 จะแสดงรายละเอียด hardware

และ software ของแต่ละส่วน

 

 

การติดตั้ง mqtt broker (mqtt server) และ mqtt client บน Raspbian 9 ทำได้ดังนี้

pi@raspberrypi: $sudo apt update

pi@raspberrypi: $sudo apt install mosquitto mosquitto-clients

pi@raspberrypi: $sudo systemctl enable mosquitto.service

 

 

ตัวอย่างจำลองการทำงานของ mqtt protocol บน Node-Red

สมมติว่า SWITCH และ mqtt CLIENT อยู่บนอุปกรณ์ตัวที่ 1 mqtt BROKER และ LAMP

อยู่บนอุปกรณ์ตัวที่ 2 เชื่อมต่อกันด้วย LAN หรือ WiFi ก็แล้วแต่ เมื่อเรากด SWITCH message

จะส่งไปยัง BROKER เพื่อเปิดปิด LAMP

 

 

คอนฟิกมีดังนี้

SWITCH

 

 

mqtt CLIENT

 

 

mqtt BROKER

 

 

LAMP

 

 

topic ระหว่าง mqtt CLIENT และ mqtt BROKER ต้องตรงกันจึงจะส่งข้อมูลได้

ไปที่หน้า ui   192.168.1.254:1880/ui   แล้วลองเปิดปิด SWITCH ดู   จะสามารถเปิดปิด LED ได้

ถ้าเราลองเปลี่ยน topic ให้แตกต่างกัน จะไม่สามารถควบคุม LED บนวงจรได้