徐松亮服務器部署教學---MQTT服務器部署

版權聲明:本文爲博主徐松亮的原創作品,未經允許不得轉載,多謝支持!QQ:5387603

推薦點擊此鏈接:歡迎進入徐松亮博客一站式導航搜索(隨時更新)


MQTT估計不像Tomcat那麼有名,聽過的人恐怕不多,它是主要用於物聯網設備的服務器。由於它(EMQ)的開源、免費、百萬級設備的穩定應用場景,我很看好它。簡單易用,資源有限的客戶端有開源嵌入式代碼(比如ESP8266硬件平臺),還是值得學習瞭解一下的!


目錄

一,MQTT是什麼

概述:

名詞:

關係框圖

二,MQTT服務器的部署

下載軟件包:

解壓

指令運行

驗證(後臺進入管理界面)

管理界面介紹

三,應用實例

四,常見問題(且聽後續分解)


一,MQTT是什麼

  • 概述:

    • MQTT:Message Queuing Telemetry Transport(消息隊列遙測傳輸)
    • 本文主要介紹的是免費、開源的MQTT服務器:EMQTT
    • 工作在TCP/IP協議之上
    • 輕量級,比web(http)要輕很多。
    • 基於發佈/訂閱的消息協議
    • 特別適用於資源有限的硬件物聯網設備,以及網絡環境糟糕的場景。
    • 本人用它主要是開發基於ESP8266/32的物聯網產品,把MQTT客戶端源碼嵌入到芯片內部,即可實現百萬級的物聯應用。
    • 傳輸時對負載內容屏蔽(安全等級較高)。
  • 名詞:

    • 客戶端(Client):設備,ClientID是每個客戶端的唯一標識,要求全局唯一。
    • 連接:等待與服務器建立連接然後創建節點之間的連接。
    • 斷開:等待 MQTT 客戶端完成所必須完成的工作,然後等待 TCP/IP 會話關閉連接。
    • 主題(Topic):任何消息都屬於一個主題。
    • 發佈:發送一個消息。
    • 訂閱:設備只接收設備訂閱的主題消息。
    • 服務質量等級:
      • (QoS 0)至多一次:會發生消息丟失或重複,這一級別可用於如下情況,環境傳感器數據,丟失一次讀記錄無所謂,因爲不久後還會有第二次發送。
      • (QoS 1)至少一次:確保消息到達,但消息重複可能會發生。
      • (QoS 2)只有一次:確保消息到達一次。這一級別可用於如下情況,在計費系統中,消息重複或丟失會導致不正確的結果。
    • cleanSesson
      • 0:創建持久對話,客戶端斷開時,會話仍然保持並保存離線信息,直到會話超時註銷,當客戶端再次上線時,還需要處理之前的離線消息,而之前的訂閱關係也會持續生效。
      • 1:創建一個新的臨時會話,在客戶端斷開時,會話自動銷燬。
      • 爲保證Qos,客戶端和服務器有必要存儲會話狀態。
      • 客戶端每次連接時,cleanSesson標誌的值必須固定。
  • 關係框圖

二,MQTT服務器的部署

  • 下載軟件包:

    • emqtt官網:

    • 注意:本實例用的是2.0版本,最新的3.0版本,略有差別,emqtt需要改爲emqx,切界面細節有區別。

  • ​​​​​​​​​​​​​​解壓

  • 指令運行

    • 啓動windows的cmd
    • 打入如下指令:
      • emqttd console
  • 驗證(後臺進入管理界面)

    • 在瀏覽器中打入如下信息:
      • http://127.0.0.1:18083
  • 管理界面介紹

三,應用實例

  • 本人是用ESP8266產品做得測試,這樣更實際,但考慮到大家未必有相關硬件,所以本例就教大家用本機測試一下

四,常見問題(且聽後續分解)

  • Android怎麼部署MQTT服務器?
  • Android的經典MQTT客戶端的應用
  • 樹莓派能夠部署MQTT服務器嗎?
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章