ข้ามไปที่เนื้อหา

MQTT broker (Aedes)

นอกเหนือจากโหนดหลัก mqtt in / mqtt out (ซึ่ง เชื่อมต่อไปยัง broker ที่มีอยู่แล้ว) เกตเวย์นี้ยังติดตั้ง node-red-contrib-aedes — โหนด MQTT broker แบบฝังในตัว วางโหนด aedes broker ลงในโฟลว์ แล้วตัวเกตเวย์ เองจะกลายเป็น MQTT broker ที่อุปกรณ์และบริการอื่นเชื่อมต่อเข้ามาได้ โดยไม่ ต้องมีซอฟต์แวร์ broker แยกต่างหาก

ดับเบิลคลิกโหนดเพื่อตั้งค่า มีทั้งหมดสามแท็บ

Connection

Aedes broker — แท็บ Connection

ฟิลด์ หมายเหตุ
MQTT port พอร์ต TCP มาตรฐานของ MQTT — ค่าเริ่มต้นคือ 1883
WS bind เลือกว่าจะเปิด WebSocket listener เป็น URL path หรือแยกเป็น port ต่างหาก
WS port เปิดใช้งาน MQTT-over-WebSocket ที่พอร์ตนี้ เว้นว่างไว้เพื่อปิดการรองรับ WebSocket ทั้งหมด
Enable secure (SSL/TLS) connection ห่อ broker ด้วย TLS

Persistence

Aedes broker — แท็บ Persistence

ฟิลด์ หมายเหตุ
Persistence Memory (ค่าเริ่มต้น) หรือ MongoDB
Persist state across restarts บันทึกข้อความ retained และการ subscribe ไว้เป็นไฟล์ JSON ในไดเรกทอรีผู้ใช้ของ Node-RED

เมื่อเปิด persistence ไว้ broker จะเขียนไฟล์ JSON นั้นทุกครั้งที่ปิดตัวลง และทุก 60 วินาที ข้อความ QoS 1/2 ที่กำลังส่งอยู่ จะไม่ถูก persist และ ระบบจะปิด persistence ให้อัตโนมัติหากไดเรกทอรีผู้ใช้เขียนไม่ได้

Security

Aedes broker — แท็บ Security

ฟิลด์ หมายเหตุ
Username เว้นว่างไว้เพื่อปิดการยืนยันตัวตน
Password เว้นว่างไว้เพื่อปิดการยืนยันตัวตน

เข้าถึงแบบไม่ระบุตัวตนได้ตามค่าเริ่มต้น

เมื่อ Username และ Password ว่างทั้งคู่ — ซึ่งเป็นค่าเริ่มต้น — อุปกรณ์ ใดก็ตามที่เข้าถึงพอร์ต MQTT ที่ตั้งค่าไว้ได้ จะสามารถเชื่อมต่อและ publish/subscribe ได้โดยไม่ต้องมี credential ใด ๆ ให้ตั้งค่าทั้งสอง ฟิลด์นี้ หาก broker เข้าถึงได้จากนอกเครือข่ายท้องถิ่นที่เชื่อถือได้

การใช้งาน

เมื่อ deploy แล้ว โหนดใดก็ตามที่สื่อสารผ่าน MQTT — ไม่ว่าจะเป็นโหนด mqtt in / mqtt out ของเกตเวย์นี้เอง หรืออุปกรณ์/บริการภายนอก — สามารถเชื่อมต่อไปยัง <gateway-ip>:<MQTT port> ได้เหมือนกับ MQTT broker ทั่วไป มีประโยชน์สำหรับรวบรวมค่าจากอุปกรณ์หน้างานที่ publish ผ่าน MQTT โดยตรง (แทนที่จะถูก poll ผ่าน Modbus — ดู การเชื่อมต่อ Modbus / PLC) หรือใช้เป็น message bus ภายในระหว่างโฟลว์โดยไม่ต้องส่งผ่าน cloud broker ทั้งหมด