MQTT(Message Queuing Telemetry Transport) เป็นโปรโตคอลการส่งข้อความที่อิงตามมาตรฐาน หรือชุดของกฎที่ใช้สำหรับการสื่อสารระหว่างเครื่องต่อเครื่อง เซ็นเซอร์อัจฉริยะ อุปกรณ์สวมใส่ และอุปกรณ์ Internet of Things (IoT) อื่น ๆ มักจะต้องส่งและรับข้อมูลผ่านเครือข่ายที่มีข้อจำกัดด้านทรัพยากร ซึ่งมีแบนด์วิดท์จำกัด อุปกรณ์ IoT เหล่านี้ใช้ MQTT ในการรับส่งข้อมูล เนื่องจากใช้งานง่ายและสามารถสื่อสารข้อมูล IoT ได้อย่างมีประสิทธิภาพ
บทความนี้สอนการตั้งค่าอุปกรณ์ RevPi ให้ทำการสื่อสารผ่านโปรโตคอล MQTT โดยอัตโนมัติ ก่อนอื่นผู้ใช้งานต้องทำการติดตั้งโปรแกรม RevPI Commander และ MQTT Client เสียก่อน หลังจากนั้นจึงทำตามขั้นตอนดังต่อไปนี้
หากผู้อ่านมีข้อสงสัยเพิ่มเติม กรุณา ติดต่อ ทีมงาน เทคสแควร์
อุปกรณ์ที่ต้องใช้
- คอมพิวเตอร์ จำนวน 1 เครื่อง
- อุปกรณ์ RevPi พร้อมอุปกรณ์เชื่อมต่อ
ซอฟต์แวร์ที่ต้องใช้
- เว็บเบราเซอร์
- RevPI Commander
- MQTT Explorer หรือ MQTT Client อื่น ๆ ตามต้องการ
ขั้นตอนการกำหนดค่า
ตั้งค่า HiveMQ Cloud (หรือ MQTT Broker อื่น ๆ ตามต้องการ)
1) เปิดเบราเซอร์ไปยัง HiveMQ Cloud แล้วทำการล็อกอิน หากมี MQTT broker ตัวอื่นก็สามารถใช้งานได้เช่นเดียวกัน
2) เลือก Create New Cluster แล้วเลือก Create Serverless Cluster เพื่อสร้างคลัสเตอร์ของ MQTT broker ใหม่
3) ในส่วน OVERVIEW ของคลัสเตอร์ บันทึกค่า Cluster URL และ Port ไว้ดังแสดงในภาพที่ 12-1
4) ไปยัง ACCESS MANAGEMENT>Authentication คลิ๊ก Edit เลือก Add new credential เพื่อสร้างยูสเซอร์ใหม่
5. ใส่ Username และ password (ใส่ค่าเดียวกับ Confirm Password) ตามต้องการ ตั้ง Permission เป็น Publish and Subscribe แล้วกด Save ยูสเซอร์ใหม่จะปรากฏใต้ Credentials
ตั้งค่า RevPi Commander
1) ตั้งค่าอุปกรณ์ RevPi ด้วย PiCtory ผ่านเว็บเบราเซอร์ โดยผู้ใช้งานสามารถเรียนรู้วิธีการได้จาก สอนการใช้งาน PiCtory
2) เปิดโปรแกรม RevPi Commander โดยผู้ใช้งานสามารถเรียนรู้พื้นฐานการใช้งาน RevPi Commander ได้จาก สอนการใช้งานโปรแกรม RevPi Commander
3) เลือก File>Search Revolution Pi แล้วเลือกอุปกรณ์ RevPi ที่ต้องการเชื่อมต่อ กด Connect to Revolution Pi
4) หากสถานะของ RevPi Commander หลังเชื่อมต่อยังไม่ขึ้น RUNNIING ให้เลือก PLC>PLC program เลือกโปรแกรม Python ที่ต้องการรัน ใน Python PLC start program (ต้องมีโค้ด Python ที่ /var/lib/revpipyload เสียก่อน) แล้วกด OK แล้วจึงกด PLC start ที่หน้าจอหลัก
5) เลือก PLC>PLC options กด Settings ด้านข้างของ MQTT process image publisher แล้วตั้งค่าดังต่อไปนี้ แล้วกด OK
– Base topic: ตั้งตามต้องการ
– Broker address: ใช้ Cluster URL ดังที่ระบุไว้ใน HiveMQ Cloud>OVERVIEW
– Broker port: 8883
– Use TLS: Enable
– User name: ใช้ยูสเซอร์ที่ตั้งไว้สำหรับ Publish บน HiveMQ Cloud>ACCESS MANAGEMENT>Authentication
– Password: ใช้พาสเวิร์ดสำหรับยูสเซอร์ด้านบน
– Client ID: ตั้งตามต้องการเลือก Services>pimodbus-master หากยังไม่แสดงสถานะ Running ให้ทำการ Enable เสียก่อน
6) หากตั้งค่าได้ถูกต้องจะแสดงสถานะ MQTT publish service is: running ดังแสดงในภาพที่ 12-4 กด OK เพื่อปิด PLC options
ทดลองอ่านค่าด้วย MQTT Explorer (หรือ MQTT Client อื่น ๆ ตามต้องการ)
7) เปิดโปรแกรม MQTT Explorer
8) กด Connections เพื่อสร้างการเชื่อมต่อใหม่ แล้วทำการตั้งค่า สำหรับ HiveMQ Cloud เสร็จแล้วกด CONNECT เราสามารถกด SAVE เพื่อใช้การเชื่อมต่อภายหลังได้เช่นกัน หลังจากนั้นเราจะเห็นการแสดงค่าที่คอนโทรลเลอร์ RevPi ส่งไปยัง HiveMQ Cloud ผ่านโปรโตคอล MQTT
– Validate certificate: Enable
– Encryption (tls): Enable
– Protocol: mqtt://
– Host: ใช้ Cluster URL ดังที่ระบุไว้ใน HiveMQ Cloud>OVERVIEW
– Port: 8883
– Username: ใช้ยูสเซอร์ที่ตั้งไว้สำหรับ Subscribe บน HiveMQ Cloud>ACCESS MANAGEMENT>Authentication
– Password: ใช้พาสเวิร์ดสำหรับยูสเซอร์ด้านบน