RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

強大的MQTT! 關于它你應該知道什么

瑞科慧聯(lián)(RAK) ? 2022-08-03 11:15 ? 次閱讀

作為物聯(lián)網(wǎng)世界玩家,我們知道你想通過設備快速傳遞信息。你希望一直保持更新,從而獲得最新的實時信息。然而,我們也知道要找到合適的技術來實現(xiàn)此愿望是十分困難的。幸運的是,MQTT或許對你有所幫助。

MQTT指消息隊列遙測傳輸,是物聯(lián)網(wǎng)的機器對機器(M2M,machine-to-machine)連接協(xié)議。MQTT是一個輕量級的發(fā)布和訂閱協(xié)議,通過它可以在低帶寬環(huán)境中發(fā)送和接收機器對機器的遙測消息。例如,通過衛(wèi)星鏈路與broker溝通或在家庭自動化和一些小型設備場景中,MQTT是非常適用的。因為它體積小,功耗低,數(shù)據(jù)包最小化,并能有效地將信息分發(fā)到一個或多個接收者,因此MQTT也是移動應用的理想選擇。

MQTT最初由Andy Stanford-Clark(IBM)和Arlen Nipper(Arcom)于1999年設計,用于通過衛(wèi)星連接石油管道遙測系統(tǒng)。盡管MQTT是在很久之前創(chuàng)建的,目的僅在特定場景下進行有限使用,但它正在迅速成為物聯(lián)網(wǎng)(Internet of Things)的主要協(xié)議之一,其中包含了大量的應用程序。它一開始只是一個專有協(xié)議,但這些年來對它的需求日益增大,因此它在2010年發(fā)布了免稅版,并在2014年成為OASIS標準。

自從其標準化以來,該協(xié)議一直很容易適應各種物聯(lián)網(wǎng)設備、平臺和操作系統(tǒng)。Microsoft、Azure等企業(yè)云平臺通過MQTT公開其IoT PaaS,而那些沒有使用MQTT的物聯(lián)網(wǎng)應用開發(fā)者都無法取得更進一步的突破。

不同的 MQTT 版本

  • MQTT v3.1.0 - 最初的版本,設計于1999年,為TCP/IP網(wǎng)絡創(chuàng)建。
  • MQTT v3.1.1 - 目前開發(fā)者最常使用的版本,與v3.1.0版本差別極小。
  • MQTT v5 - 這是該協(xié)議的最新版本(2018年1月),從1.6版開始,Mosquito broker除了支持MQTT v3.1.1之外還支持MQTT v6,因此你可以繼續(xù)通過舊的客戶端使用最新的 broker。
  • MQTT-SN – 在2013年左右指定,旨在通過UDP、ZigBee和其他傳輸協(xié)議工作。MQTT-SN目前還不是很流行,且該規(guī)范幾年來沒有改變。隨著物聯(lián)網(wǎng)的部署開始大大增加,這種情況可能會改變。

MQTT功能的基本概念與定義

首先是發(fā)布和訂閱機制。在一個發(fā)布和訂閱系統(tǒng)中,一個設備可以在一個主題上發(fā)布消息,或者它可以訂閱一個特定的主題來接收消息。當有更新時,消息會自動推送給相應主題的訂閱者。

MQTT流量Figure 2: MQTT流量

Messages是在設備之間交換的信息,是一個命令或一組數(shù)據(jù)。

另一個重要的概念是topics。它是為傳入信息注冊感興趣的方式,或者指定要在何處發(fā)布消息的方式。

主題用字符串表示,用正斜杠隔開。每一個正斜杠表示一個主題級別。

MQTT clients就是我們所說的訂閱了一個或多個主題的設備(如果沒有選擇一個特定的主題,將會看到它們全部)。當其他客戶端在這些主題中發(fā)布東西時,它們要以信息的形式接收數(shù)據(jù)包。對于MQTT 3.1.1版本,Eclipse Paho項目提供了幾乎所有編程語言和主要操作系統(tǒng)Linux、Windows、Mac的客戶端軟件。

MQTT client的對應部MQTT broker。Broker是任何發(fā)布和訂閱協(xié)議的核心。根據(jù)不同的實現(xiàn)方式,一個broker可以處理多達數(shù)千個同時連接的MQTT client。Broker負責接收和過濾所有信息,確定每條信息的訂閱者,并將信息發(fā)送給這些訂閱的客戶端。Broker還持有所有持續(xù)存在的客戶端的會話,包括訂閱和錯過的消息。

MQTT Security 是指其支持各種認證和數(shù)據(jù)安全機制的能力。需要注意的是,這些安全機制是在MQTT broker上配置的,而客戶端則要遵守現(xiàn)有的機制。

MQTT使用發(fā)布和訂閱模式,將有關各方相互連接起來。它通過將該模式與接收和訂閱模式解耦來實現(xiàn)這一點。發(fā)布者向一個中心主題發(fā)送消息,該主題有多個訂閱者等待接收消息。發(fā)布者和訂閱者是自主的,這意味著他們不需要知道對方的存在。

MQTT協(xié)議的小缺點

  • MQTT不是RESTful,所以它沒有利用現(xiàn)有協(xié)議的優(yōu)勢。
  • MQTT工作在靈活的主題訂閱上,所以它沒有一個穩(wěn)定的資源發(fā)現(xiàn)機制。
  • MQTT 是不加密的,需要使用TLS/SSL來保證安全。

盡管有缺點,MQTT仍然是物聯(lián)網(wǎng)項目中最受歡迎的協(xié)議之一,因為使用它的好處遠遠超過了缺點。例如,RAKwireless通過使用內置的MQTT橋接器增強了他們的LoRaWAN網(wǎng)關的能力。商業(yè)網(wǎng)關,如RAK7249和RAK7258具有帶有MQTT橋接器的嵌入式LoRa網(wǎng)絡和應用服務器。

這將Semtech Packet-forwarder UDP協(xié)議抽象為MQTT上的JSON,直接安全地將數(shù)據(jù)傳輸?shù)綉贸绦?。這正在成為其他制造商的一種做法,并不限于LoRaWAN,也包括其他物聯(lián)網(wǎng)技術。

MQTT一些獨特的功能

  • 這是一個輕量級協(xié)議。它在快速數(shù)據(jù)傳輸方面最終是高效的。此外,使用MQTT可以減少系統(tǒng)的計算負擔。
  • 小尺寸的數(shù)據(jù)包最大限度地減少了開銷并降低了流量。
  • 這是一個非常節(jié)能的機制。這使得它非常適合使用LoRaWAN的項目,因為它可以節(jié)省電池壽命,而電池是很多LoRa-end節(jié)點的主要電源。
  • 它是實時的,所以它是物聯(lián)網(wǎng)應用的理想選擇。
  • 它是開源的,除了容易實現(xiàn)和配置外,還可以免費使用。同樣,在RAKwireless商業(yè)網(wǎng)關系列中設置你的MQTT橋接器是快速而簡單的。如果想在LoRaWAN網(wǎng)關中獲得一個好的實現(xiàn)示例,可以參考本文檔了解如何做到這一點。

最后,MQTT有很多優(yōu)勢,因此我們相信,在未來的幾年里,通過更多自然的采用和改進它會變得更加主流。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 物聯(lián)網(wǎng)

    關注

    2909

    文章

    44557

    瀏覽量

    372760
  • MQTT
    +關注

    關注

    5

    文章

    650

    瀏覽量

    22487
收藏 人收藏

    評論

    相關推薦

    Air201:MQTT實用示例的終極指南

    今天我們學習的是關于Air201的MQTT實用示例的終極指南。
    的頭像 發(fā)表于 11-07 19:30 ?162次閱讀
    Air201:<b class='flag-5'>MQTT</b>實用示例的終極指南

    MQTT物聯(lián)網(wǎng)云平臺有什么功能

    關鍵作用。MQTT物聯(lián)網(wǎng)云平臺基于MQTT協(xié)議,為物聯(lián)網(wǎng)設備提供連接、管理和數(shù)據(jù)處理服務,其豐富的功能特性使得物聯(lián)網(wǎng)應用更加高效、靈活和安全。 一、設備連接與管理 MQTT物聯(lián)網(wǎng)云平臺的首要功能是設備連接與管理。
    的頭像 發(fā)表于 10-09 14:15 ?257次閱讀

    MQTT網(wǎng)關:物聯(lián)網(wǎng)中的關鍵橋梁

    基于發(fā)布/訂閱模式的輕量級通信協(xié)議,特別適用于低帶寬、不穩(wěn)定網(wǎng)絡環(huán)境下的數(shù)據(jù)傳輸。MQTT網(wǎng)關則是連接物聯(lián)網(wǎng)設備與消息代理服務器之間的橋梁,通過,物聯(lián)網(wǎng)設備能夠高效、可靠地進行通信和數(shù)據(jù)交換。 MQTT網(wǎng)關的定義與功能
    的頭像 發(fā)表于 08-22 14:15 ?389次閱讀
    <b class='flag-5'>MQTT</b>網(wǎng)關:物聯(lián)網(wǎng)中的關鍵橋梁

    【電磁兼容標準解析分享】汽車電子零部件EMC標準解析---應該了解和知道的細節(jié)(二)

    【電磁兼容標準解析分享】汽車電子零部件EMC標準解析---應該了解和知道的細節(jié)(二)
    的頭像 發(fā)表于 08-08 08:17 ?4938次閱讀
    【電磁兼容標準解析分享】汽車電子零部件EMC標準解析---<b class='flag-5'>你</b><b class='flag-5'>應該</b>了解和<b class='flag-5'>知道</b>的細節(jié)(二)

    知識科普 MQTT Broker 代理 是什么

    MQTT Broker作為MQTT通信的核心組件,扮演著關鍵的角色,負責管理客戶端連接、消息路由和訂閱管理等任務。它在物聯(lián)網(wǎng)和M2M通信中發(fā)揮著不可或缺的作用,使得設備和應用能夠高效地進行實時通信,為物聯(lián)網(wǎng)的發(fā)展和應用提供了強大
    的頭像 發(fā)表于 08-01 16:51 ?293次閱讀
    知識科普 <b class='flag-5'>MQTT</b> Broker 代理 是什么

    MQTT物聯(lián)網(wǎng)平臺是什么

    MQTT物聯(lián)網(wǎng)平臺是一種軟件平臺,基于MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸)協(xié)議,為物聯(lián)網(wǎng)(IoT)設備提供連接、管理和數(shù)據(jù)處理的服務
    的頭像 發(fā)表于 07-18 14:22 ?582次閱讀

    關于定位系統(tǒng)技術知道多少?

    定位系統(tǒng)在如今這個沒有隱私的社會,已不是稀奇的技術。 不管是在大街上走還是在商場里逛, 只要想知道,的行蹤就被定位系統(tǒng)鎖定了。就像我們看的西部大片,罪犯在這邊打電話,F(xiàn)BI在那邊定位,唧唧幾聲
    的頭像 發(fā)表于 07-12 11:16 ?321次閱讀
    <b class='flag-5'>關于</b>定位系統(tǒng)技術<b class='flag-5'>你</b><b class='flag-5'>知道</b>多少?

    求助,請問如何在RTOS SDK 1.5的PlatformIO IDE ESP8266實現(xiàn)MQTT

    ESP8266設備連接到 mqtt 代理。但 PlatformIO IDE 內置的 RTOS SDK 1.5 版本不支持 mqtt。此 SDK 沒有 mqtt 示例。所以能不能讓我
    發(fā)表于 07-08 06:22

    關于主干布線,應該知道什么

    做什么用的?究竟是如何工作的?繼續(xù)閱讀以找出這些問題的答案以及更多信息。 什么是骨干布線? 在大多數(shù)建筑物中,不同樓層都有房間,對整個建筑物執(zhí)行重要功能。這些房間包括您預計需要大量連接的房間,例如通信室。但是,
    的頭像 發(fā)表于 04-16 17:15 ?709次閱讀

    MQTT物聯(lián)網(wǎng)平臺是什么?MQTT物聯(lián)網(wǎng)平臺的功能

    MQTT(Message Queuing Telemetry Transport)是一種基于客戶端-服務器架構的發(fā)布/訂閱模式的消息傳輸協(xié)議。基于TCP/IP協(xié)議棧構建,設計輕巧、開放、簡單和規(guī)范
    的頭像 發(fā)表于 04-01 10:20 ?726次閱讀

    MQTT網(wǎng)關是什么?MQTT網(wǎng)關的功能

    MQTT網(wǎng)關是支持MQTT協(xié)議的物聯(lián)網(wǎng)網(wǎng)關,是一種用于連接不同設備和云端平臺之間的中間件。充當了設備和云端服務之間的數(shù)據(jù)傳輸橋梁。MQTT網(wǎng)關能夠接收來自各種設備的數(shù)據(jù),并將其發(fā)送到
    的頭像 發(fā)表于 03-18 17:10 ?799次閱讀

    PSoC6上的Wi-fi_mqtt_Client出現(xiàn)MQTT連接錯誤怎么解決?

    錯誤: `MQTT 連接失敗,錯誤代碼為 0x8060009。` 我已經(jīng)驗證了證書、密鑰文件和其他配置的正確性。 Wi-Fi 連接已建立,沒有問題。 如果有人對這個特定的錯誤代碼有經(jīng)驗,或者對Wi-fi_MQTT_Client示例中的常見陷阱有見解,我將不勝感激。 我
    發(fā)表于 03-04 06:37

    什么是MQTTMQTT協(xié)議中的方法

    MQTT是一種輕量級消息傳遞協(xié)議,由IBM開發(fā),于1999年首次發(fā)布。使用發(fā)布/訂閱模式并在設備、服務器和應用程序之間轉換消息。
    的頭像 發(fā)表于 02-25 17:04 ?1322次閱讀
    什么是<b class='flag-5'>MQTT</b>?<b class='flag-5'>MQTT</b>協(xié)議中的方法

    MQTT物聯(lián)網(wǎng)平臺是什么?MQTT物聯(lián)網(wǎng)平臺的功能有哪些

    MQTT(Message Queuing Telemetry Transport)是一種基于客戶端-服務器架構的發(fā)布/訂閱模式的消息傳輸協(xié)議。基于TCP/IP協(xié)議棧構建,設計輕巧、開放、簡單和規(guī)范
    的頭像 發(fā)表于 01-24 09:23 ?1145次閱讀

    什么是MQTT網(wǎng)關

    和數(shù)據(jù)處理等方面仍面臨挑戰(zhàn)。 一、MQTT的消息格式 固定頭部(Fixed Header):包括消息類型(Message Type)和消息長度(Payload Length)。消息類型定義了消息的類型
    的頭像 發(fā)表于 12-26 17:23 ?644次閱讀
    RM新时代网站-首页