ซื้อสินค้า คลิกไปที่ https://www.lazada.co.th/shop/adventek/
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
เพิ่ม 2 บรรทัดนี้ ต่อท้ายไฟล์ /etc/mosquitto/mosquitto.conf
listener 1883
allow_anonymous true
pi@raspberrypi: $sudo systemctl enable mosquitto.service
pi@raspberrypi: $sudo systemctl restart 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 บนวงจรได้