วันอังคารที่ 10 ตุลาคม พ.ศ. 2566

เชื่อมต่อ Web Application ผ่าน Websocket กับ MQTT Broker ด้วย Paho MQTT

  • เพิ่ม Script ใน tag <header> จาก CDNJS
<script src="https://cdnjs.cloudflare.com/ajax/libs/paho-mqtt/1.1.0/paho-mqtt.min.js"></script>
  • สร้าง Client Instance ของ Paho MQTT ด้วยคำสั่ง
let client = new Paho.Client("<broker-url>", Number(<port>), "<client-id>");
  • สร้างฟังก์ชั่น onConnect ทำการเชื่อมต่อและ subscribe ไปยัง topic ด้วยคำสั่ง
                       const onConnect = () => {
                               console.log("Connected");
                               console.log("Subscribing to topic: <topic-name>");
                               client.subscribe("<topic-name>");
                       }
  • สร้างฟังก์ชั่น onConnectionLost เพื่อแสดงสถานะหากถูกตัดการเชื่อมต่อ
                       const onConnectionLost = responseObject => {
                              if(responseObject !== 0){
                                      console.log("ConnectionLost:"+responseObject.errorMessage);
                              }
                       }
  • สร้างฟังก์ชั่น onMessageArrived เพื่อแสดงข้อความที่ได้รับ
                        const onMessageArrived = message => {
                                console.log("MessageArrived: " + message.payloadString);
                               }
                        }
  • เรียกใช้ฟังก์ชัน connect, onConnect, onConnectionLost และ onMessageArrived
                        client.connect({
                                onSuccess: onConnect
                        }
                        client.onConnectionLost = onConnectionLost;
                        client.onMessageArrived = onMessageArrived;