MQTT – 1. 使用免費公開的 MQTT Broker Server 學習如何訂閱、發行(收發資料)

節錄: MQTT 客户端库

公開 MQTT Borker

建議選擇 broker.emqx.io ,因為支援 WebSocket 可以從資料收集端直接呈現到網頁,不需要經過資料庫這類儲存媒介。實際應用也是 EMQ X Broker 才符合需求,學校專題或是個人嘗鮮可以使用 mosquitto 即可

程式參考

以下 Python 範例程式已經根據可用 MQTT Broker 修改

程式先訂閱 house/bulb1 主題,然後發行 house/bulb1 此主題及內容

運作結果

Topic 萬用字元

#

+

Socket VS MQTT

  • MQTT 要接收的資料必須自己訂閱,少了多了都有問題,Socket 要自己處理資料流
  • 傳送時斷線 Socket 就是失敗,MQTT 根據 QoS 政策可以保證資料的送達。當 QoS 為 0 時,短暫的斷線 (拔網路線10秒) 也能成功送達
  • 主機端須處理的程式 Socket 可以寫在 Workerman 內,MQTT 因為 Server 只是代理,所以程式必須分開,以健康度來說 MQTT 較佳;Socket 程式一致性及即時性較佳

27 total views, 1 views today

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。