91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

強(qiáng)大的MQTT! 關(guān)于它你應(yīng)該知道什么

瑞科慧聯(lián)(RAK) ? 2022-08-03 11:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

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

不同的 MQTT 版本

  • MQTT v3.1.0 - 最初的版本,設(shè)計于1999年,為TCP/IP網(wǎng)絡(luò)創(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ā)布和訂閱機(jī)制。在一個發(fā)布和訂閱系統(tǒng)中,一個設(shè)備可以在一個主題上發(fā)布消息,或者它可以訂閱一個特定的主題來接收消息。當(dāng)有更新時,消息會自動推送給相應(yīng)主題的訂閱者。

MQTT流量Figure 2: MQTT流量

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

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

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

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

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

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

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

MQTT協(xié)議的小缺點(diǎn)

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

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

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

MQTT一些獨(dú)特的功能

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

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

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

    關(guān)注

    2945

    文章

    47810

    瀏覽量

    414716
  • MQTT
    +關(guān)注

    關(guān)注

    5

    文章

    733

    瀏覽量

    25059
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    MQTT協(xié)議為什么成為物聯(lián)網(wǎng)協(xié)議

    MQTT協(xié)議之所以成為物聯(lián)網(wǎng)領(lǐng)域的核心通信協(xié)議,主要得益于其 輕量級設(shè)計、高效資源利用、靈活可靠的消息傳遞機(jī)制、強(qiáng)大的安全支持以及廣泛的生態(tài)兼容性 ,這些特性精準(zhǔn)解決了物聯(lián)網(wǎng)設(shè)備在資源受限、網(wǎng)絡(luò)
    的頭像 發(fā)表于 12-10 09:15 ?442次閱讀

    MQTT網(wǎng)關(guān)支持5G通信嗎

    MQTT網(wǎng)關(guān)可以支持5G通信 ,且在實際應(yīng)用中,5G與MQTT協(xié)議的結(jié)合為物聯(lián)網(wǎng)領(lǐng)域帶來了顯著優(yōu)勢,以下為具體分析: 一、5G與MQTT協(xié)議的結(jié)合優(yōu)勢 高速數(shù)據(jù)傳輸 :5G網(wǎng)絡(luò)提供了極高的數(shù)據(jù)傳輸
    的頭像 發(fā)表于 12-08 11:13 ?710次閱讀

    EC20在使用AT指令實現(xiàn)http或者mqtt功能時,應(yīng)該沒辦法使用socket吧?

    EC20在使用AT指令實現(xiàn)http或者mqtt功能時,應(yīng)該沒辦法使用socket吧
    發(fā)表于 10-11 09:21

    使用paho-mqtt里例程連接服務(wù)器失敗怎么解決?

    【rt-thread】【paho-mqtt】最近由于學(xué)習(xí)需要,了解了關(guān)于rt-thread軟件包paho-mqtt的使用,但是使用官方例程時,出現(xiàn)連接不上服務(wù)器的情況。具體報錯如下: msh
    發(fā)表于 09-18 06:38

    MQTT_協(xié)議中文資料

    電子發(fā)燒友網(wǎng)站提供《MQTT_協(xié)議中文資料.pdf》資料免費(fèi)下載
    發(fā)表于 09-02 16:19 ?0次下載

    物聯(lián)網(wǎng)MQTT網(wǎng)關(guān)是什么

    物聯(lián)網(wǎng)MQTT網(wǎng)關(guān)是一種采用MQTT物聯(lián)網(wǎng)協(xié)議的智能設(shè)備或軟件組件,其核心功能是連接不同通信協(xié)議的物聯(lián)網(wǎng)設(shè)備與消息代理服務(wù)器,實現(xiàn)設(shè)備間的數(shù)據(jù)交換與集中管理,同時支持邊緣計算、安全防護(hù)和協(xié)議轉(zhuǎn)換
    的頭像 發(fā)表于 08-29 15:24 ?1000次閱讀

    GraniStudio :MQTT 協(xié)議的深度剖析

    在工業(yè)物聯(lián)網(wǎng)(IIoT)的通信協(xié)議體系中,MQTT(Message Queuing Telemetry Transport)憑借其輕量級、發(fā)布 - 訂閱模式和低帶寬占用等特性,成為連接邊緣設(shè)備與云端
    的頭像 發(fā)表于 08-04 09:48 ?1018次閱讀
    GraniStudio :<b class='flag-5'>MQTT</b> 協(xié)議的深度剖析

    MQTT介紹

    的消息傳輸協(xié)議,近年來被廣泛應(yīng)用于智能家居、工業(yè)控制、車聯(lián)網(wǎng)等場景。 MQTT 是一種基于發(fā)布/訂閱(Pub/Sub)模式的輕量級消息協(xié)議,設(shè)計初衷是為低帶寬、不穩(wěn)定網(wǎng)絡(luò)環(huán)境下的設(shè)備通信而生。更像是廣播電臺:訂閱頻道,誰在頻
    的頭像 發(fā)表于 07-14 09:34 ?3671次閱讀
    <b class='flag-5'>MQTT</b>介紹

    請問55912是否支持WLAN卸載和AnyCloud(AWS+MQTT) 功能嗎?

    我可以知道 55912 是否支持 WLAN 卸載和 AnyCloud(AWS+MQTT) 功能嗎? 如果是的話,我可以知道什么時候計劃在 ModusToolbox 系統(tǒng)上線嗎?
    發(fā)表于 07-09 06:42

    精通 MQTT:消息隊列遙測傳輸指南!

    引言MQTT(消息隊列遙測傳輸)是一種輕量級消息協(xié)議,專為低帶寬、高延遲和不可靠的網(wǎng)絡(luò)環(huán)境設(shè)計。廣泛應(yīng)用于物聯(lián)網(wǎng)(IoT)應(yīng)用、消息系統(tǒng)以及實時數(shù)據(jù)通信領(lǐng)域。本指南深入探討了MQTT的工作原理
    的頭像 發(fā)表于 06-16 16:56 ?1017次閱讀
    精通 <b class='flag-5'>MQTT</b>:消息隊列遙測傳輸指南!

    MQTT 回調(diào)處理程序中遇到了隨機(jī) MQTT 斷開連接的問題,怎么解決?

    MCU:CYW55913。 MQTT Broker 端點(diǎn):Amazon AWS 云。 保持活動超時:60 秒 ping 響應(yīng)超時:5 秒 我們在 MQTT 回調(diào)處理程序中遇到了隨機(jī) MQTT
    發(fā)表于 06-05 07:14

    如何在MQTT中發(fā)布和訂閱實體

    消息發(fā)送到MQTT代理(Broker)上的特定主題(Topic)。發(fā)布者無需知道有哪些客戶端訂閱了該主題,只需將消息發(fā)送到代理即可。 訂閱(Subscribe):客戶端向MQTT代理注冊感興趣的主題,當(dāng)有消息發(fā)布到這些主題時,代
    的頭像 發(fā)表于 05-20 17:21 ?1418次閱讀

    MQTT為何成為物聯(lián)網(wǎng)協(xié)議

    的優(yōu)勢,以下為詳細(xì)介紹: 輕量級特性,適配資源受限設(shè)備 協(xié)議頭開銷小 :MQTT協(xié)議頭非常簡潔,相比其他協(xié)議,它在數(shù)據(jù)傳輸時添加的額外信息極少。例如,在一個簡單的物聯(lián)網(wǎng)設(shè)備向服務(wù)器發(fā)送數(shù)據(jù)的場景中,使用MQTT協(xié)議傳輸一條包含
    的頭像 發(fā)表于 05-20 09:54 ?828次閱讀

    樹莓派最強(qiáng)大的應(yīng)用商店,知道嘛?

    Pi-Apps——RaspberryPi最強(qiáng)大的應(yīng)用商店不久前,我獲得了我的第一臺RaspberryPi。和大多數(shù)從Windows轉(zhuǎn)移到Linux(特別是RaspberryPi用戶)的用戶一樣,我
    的頭像 發(fā)表于 03-25 09:44 ?726次閱讀
    樹莓派最<b class='flag-5'>強(qiáng)大</b>的應(yīng)用商店,<b class='flag-5'>你</b><b class='flag-5'>知道</b>嘛?

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

    MQTT(Message Queuing Telemetry Transport)是一種基于客戶端-服務(wù)器架構(gòu)的發(fā)布/訂閱模式的消息傳輸協(xié)議,廣泛應(yīng)用于機(jī)器與機(jī)器的通信(M2M)以及物聯(lián)網(wǎng)環(huán)境
    的頭像 發(fā)表于 03-15 14:23 ?1447次閱讀
    <b class='flag-5'>MQTT</b>物聯(lián)網(wǎng)平臺有哪些?有哪些功能?