国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

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

為何物聯(lián)網(wǎng)傾向于MQTT?

lhl545545 ? 來源:樂創(chuàng)客 ? 作者:樂創(chuàng)客 ? 2020-09-27 16:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

MQTT(Message Queuing Telemetry Transport),說人話的意思就是消息隊列遙測傳輸。早些年的PC端盛行的時候,很多工程師壓根就沒有聽過個繞口的名詞,但是隨著物聯(lián)網(wǎng)IoT)技術(shù)的逐步發(fā)展,這個協(xié)議越來越頻繁的出現(xiàn)在各大工程師的眼前。這也就造成了很多工程師只知其名不知其意,甚至很多人都還以為這是一種隨著IoT發(fā)展而被開發(fā)出來的協(xié)議。其實不然,MQTT協(xié)議最早在二十幾年前就被發(fā)明出來,到了1999年IBM公司的安迪·斯坦福-克拉克及Cirrus Link公司的阿蘭·尼普撰寫了該協(xié)議的第一個版本。后來這個協(xié)議也被國際標(biāo)準(zhǔn)化了,成為了ISO 標(biāo)準(zhǔn)(ISO/IEC PRF 20922)下基于發(fā)布/訂閱方式的消息協(xié)議。IBM公司在2013年就向結(jié)構(gòu)化資訊標(biāo)準(zhǔn)促進(jìn)組織提交了 MQTT 3.1 版規(guī)范,并附有相關(guān)章程,以確保只能對規(guī)范進(jìn)行少量更改,此后MQTT協(xié)議一直在一些小眾領(lǐng)域中使用。而到了物聯(lián)網(wǎng)技術(shù)基礎(chǔ)設(shè)施架構(gòu)完成之后,這種古老的協(xié)議開始煥發(fā)出它的第一個春天。

網(wǎng)絡(luò)的傳輸層和應(yīng)用層

眾所周知,物聯(lián)網(wǎng)至今的高速發(fā)展離開不了通訊網(wǎng)絡(luò)的基礎(chǔ)建設(shè),你現(xiàn)在可以在全世界的任何一個角落控制家里某個房間燈光的開關(guān),或者做工業(yè)控制的時候,你也可以遠(yuǎn)程操控某個機器人的運動,這種技術(shù)的成熟都是基于網(wǎng)絡(luò)通訊為基礎(chǔ)的。而目前網(wǎng)絡(luò)技術(shù)的主要技術(shù)就是OSI七層模型,當(dāng)然實際應(yīng)用中其實使用的是TCP/IP四層網(wǎng)絡(luò)模型。

TCP/IP四層網(wǎng)絡(luò)模型的第三層傳輸層就是大名鼎鼎的TCP/IP協(xié)議了,這一層協(xié)議的主要目的是用來將網(wǎng)絡(luò)上一臺計算機發(fā)出的通信數(shù)據(jù)傳輸?shù)街付↖P地址的另一臺機器上面,比如一個IP地址為“192.168.137.19”的機器要發(fā)給IP地址為“192.168.137.10”的機器16字節(jié)的二進(jìn)制數(shù)據(jù)包,那么使用TCP/IP協(xié)議傳輸即可以。而是用TCP傳輸數(shù)據(jù)時,我們常用的方式就是用socket。

但當(dāng)IP地址為“192.168.137.19”的機器發(fā)送數(shù)據(jù)給“192.168.137.10”的機器時,這一包TCP數(shù)據(jù)包里面的數(shù)據(jù)究竟是代表什么意思,接收端的IP地址為“192.168.137.10”的機器該如何其解析這一個包的數(shù)據(jù),這個問題就是交由傳輸層上面一層的協(xié)議來解決了,這就是應(yīng)用層協(xié)議。當(dāng)然,如果你的協(xié)議不想給普通的網(wǎng)絡(luò)上的計算機解析時,你也可以自己去制定一些應(yīng)用層的協(xié)議,這個無關(guān)緊要,傳輸層的目的只是把數(shù)據(jù)傳達(dá)到目標(biāo)機器上面就可以了。

我們?nèi)粘5墓ぷ鳎瑠蕵分谐3龅礁鞣N各樣的應(yīng)用層協(xié)議,比如當(dāng)你打開一個網(wǎng)頁時,這個圖片顯示在那個位置,這個按鈕點下去是實現(xiàn)什么功能,這種都是由HTML超文本傳輸協(xié)議(英文:HyperTextTransferProtocol,縮寫:HTTP)所約定的。這就保證了你網(wǎng)站中某個網(wǎng)頁被任何一臺設(shè)備請求時,這臺設(shè)備可以正常的顯示出來。除了HTTP,應(yīng)用層協(xié)議還有很多,如DNS,F(xiàn)TP等,而我們今天的主角MQTT協(xié)議也是其中的一員。

為何物聯(lián)網(wǎng)傾向于MQTT

既然我們既有的應(yīng)用中已經(jīng)有了那么多優(yōu)秀的應(yīng)用層協(xié)議,為何在物聯(lián)網(wǎng)領(lǐng)域中偏偏MQTT大放異彩。其實選擇MQTT協(xié)議也不是毫無根據(jù)的,MQTT 是一種輕量級的、靈活的網(wǎng)絡(luò)協(xié)議,致力于為 IoT 開發(fā)人員實現(xiàn)適當(dāng)?shù)钠胶猓?/p>

這個輕量級協(xié)議可在嚴(yán)重受限的設(shè)備硬件和高延遲/帶寬有限的網(wǎng)絡(luò)上實現(xiàn)。

它的靈活性使得為 IoT 設(shè)備和服務(wù)的多樣化應(yīng)用場景提供支持成為可能。

大多數(shù)開發(fā)人員已經(jīng)熟悉 HTTP Web 服務(wù)。那么為什么不讓 IoT 設(shè)備連接到 Web 服務(wù)?設(shè)備可采用 HTTP 請求的形式發(fā)送其數(shù)據(jù),并采用 HTTP 響應(yīng)的形式從系統(tǒng)接收更新。這種請求和響應(yīng)模式存在一些嚴(yán)重的局限性:

HTTP 是一種同步協(xié)議。客戶端需要等待服務(wù)器響應(yīng)。Web 瀏覽器具有這樣的要求,但它的代價是犧牲了可伸縮性。在 IoT 領(lǐng)域,大量設(shè)備以及很可能不可靠或高延遲的網(wǎng)絡(luò)使得同步通信成為問題。異步消息協(xié)議更適合 IoT 應(yīng)用程序。傳感器發(fā)送讀數(shù),讓網(wǎng)絡(luò)確定將其傳送到目標(biāo)設(shè)備和服務(wù)的最佳路線和時間。

HTTP 是單向的。客戶端必須發(fā)起連接。在 IoT 應(yīng)用程序中,設(shè)備或傳感器通常是客戶端,這意味著它們無法被動地接收來自網(wǎng)絡(luò)的命令。

HTTP 是一種一對一的協(xié)議。客戶端發(fā)出請求,服務(wù)器進(jìn)行響應(yīng)。將消息傳送到網(wǎng)絡(luò)上的所有設(shè)備上,不但很困難,而且成本很高,而這是 IoT 應(yīng)用程序中的一種常見使用情況。

HTTP 是一種有許多標(biāo)頭和規(guī)則的重量級協(xié)議。它不適合受限的網(wǎng)絡(luò)。

出于上述原因,大部分高性能、可擴展的系統(tǒng)都使用異步消息總線來進(jìn)行內(nèi)部數(shù)據(jù)交換,而不使用 Web 服務(wù)。

訂閱/發(fā)布模型

有意思的是,這種MQTT協(xié)議的服務(wù)器,其實是比web服務(wù)器設(shè)計還要簡單地多,因為它追求的是一種高效性的服務(wù)。MQTT主要進(jìn)行消息收發(fā)的機制有點類似于我們公眾號和各位讀者之間的關(guān)系。

在現(xiàn)實的世界中,我和大家一樣都類似于一個有一個的MQTT設(shè)備掛接在統(tǒng)一的一個服務(wù)器上面,大家出于對我們公眾號的興趣或者某種感情訂閱了我們,而當(dāng)每天我發(fā)文推送的時候,大家的手機里就會出現(xiàn)我推送的消息了,這個過程中,你獲取我信息的方式被稱為“訂閱”,而我向這個公眾號發(fā)布消息的行為就是“發(fā)布”。而大家可到我文章的時候,可以隨意地向我留言,這個行為就是大家地“發(fā)布”行為,而我無時無刻守在某一篇推送面前看大家的留言,這就是一種“訂閱”行為。在這個過程中,外部的所有信息都與我們無關(guān),我們只是簡單地以兩個方向的信息流溝通著。MQTT中的消息傳遞機制也是基于“發(fā)布(Publish)”-“訂閱(Subscribe)”的模型的。

MQTT具體的操作步驟為:

第一步:使用先獲得一個MQTT服務(wù)器,然后新建一個MQTT通訊產(chǎn)品。

第二步:接著去連接這個服務(wù)器,連接服務(wù)器的兩個重要的參數(shù)就是主機號(域名或者IP地址)和端口號。

第三步:如果使用的是第三方云服務(wù)器平臺,它可能需要你使用產(chǎn)品ID和鑒權(quán)信息去登錄這個設(shè)備,這兩個在設(shè)備云的后臺都能找到。

這三個步驟做完之后,你就可以對對應(yīng)的主題訂閱或者發(fā)布消息了。

我后面會專門整理一個文檔來給大家演示一下如何來“白嫖”一個中國移動的設(shè)備云開放接入平臺。

這三個步驟既適用于應(yīng)用軟件開發(fā),也適用于單片機開發(fā)。在單片機開發(fā)時,如果你用AT指令和外部的WIFI模塊通訊,那么一般模塊都可以自帶AT+MQTT命令,這是最好的辦法,可以極大地減少單片機的壓力。或者你也可以直接獲取TCP/IP傳輸層的數(shù)據(jù),然后自己去解析這個MQTT,這就需要用戶對MQTT協(xié)議要有一個很深的理解還要自己去解析Json數(shù)據(jù),所以一般在做嵌入式設(shè)備時,一般推薦大家直接用現(xiàn)成帶MQTT協(xié)議的模塊,直接解析AT指令是比較方便的。

案例分析:

遠(yuǎn)程控制燈和獲取當(dāng)前房間溫度。

關(guān)于這個案例,其實是MQTT最簡單的一個應(yīng)用,首先房間的嵌入式控制板主要通過WIFI連接到服務(wù)器,它既可以控制燈的開關(guān),也可以采集溫度。遠(yuǎn)在天邊的終端設(shè)備是一臺手機。

要保持通信正常,首先它們需要接入同一個MQTT服務(wù)器。

設(shè)備端的溫度信息,是設(shè)備采集的,因此需要將采集來的數(shù)據(jù)發(fā)布到“溫度”主題,而手機是獲取這個溫度信息的,因此需要來訂閱這個“溫度”主題。一旦設(shè)備端發(fā)送溫度信息到“溫度主題”,這個主題就會被手機所接收。

設(shè)備端的燈控,是設(shè)備執(zhí)行的,因此需要訂閱“燈開關(guān)”主題,而手機是控制燈的開關(guān)的,因此需要來對這個“燈開關(guān)”主題發(fā)布控制信息。一旦手機發(fā)送開燈信息到“燈開”關(guān)主題,這個主題就會被終端所接收,再去執(zhí)行開燈命令。
責(zé)任編輯:pj

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

    關(guān)注

    2945

    文章

    47819

    瀏覽量

    414867
  • 計算機
    +關(guān)注

    關(guān)注

    19

    文章

    7806

    瀏覽量

    93191
  • 硬件
    +關(guān)注

    關(guān)注

    11

    文章

    3595

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    基于LuatOS的MQTT聯(lián)網(wǎng)通信全解

    在構(gòu)建物聯(lián)網(wǎng)終端設(shè)備時,通信協(xié)議的選擇直接決定系統(tǒng)的穩(wěn)定性與擴展性。LuatOS通過內(nèi)置MQTT客戶端支持,使開發(fā)者能以極少代碼實現(xiàn)設(shè)備上云。本文將從協(xié)議原理到代碼實現(xiàn),全面解析基于LuatOS
    的頭像 發(fā)表于 01-29 19:42 ?175次閱讀
    基于LuatOS的<b class='flag-5'>MQTT</b>物<b class='flag-5'>聯(lián)網(wǎng)</b>通信全解

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

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

    北向MQTT工業(yè)物聯(lián)網(wǎng)網(wǎng)關(guān)是什么

    北向MQTT工業(yè)網(wǎng)關(guān)是工業(yè)物聯(lián)網(wǎng)中連接底層設(shè)備與上層云平臺的核心設(shè)備,其核心功能是通過MQTT協(xié)議實現(xiàn)設(shè)備數(shù)據(jù)的高效、可靠上傳,并支持云端對設(shè)備的遠(yuǎn)程監(jiān)控與管理。 以下從定義、功能、應(yīng)用場
    的頭像 發(fā)表于 12-02 11:13 ?488次閱讀

    MQTT網(wǎng)關(guān)對接到物聯(lián)網(wǎng)平臺快速開發(fā)應(yīng)用

    在物聯(lián)網(wǎng)(IoT)數(shù)據(jù)流轉(zhuǎn)體系中,MQTT 網(wǎng)關(guān)與物聯(lián)網(wǎng)平臺的對接是打通設(shè)備端與云端的關(guān)鍵鏈路,而基于 API 數(shù)據(jù)接口的系統(tǒng)開發(fā)則是實現(xiàn)數(shù)據(jù)價值轉(zhuǎn)化的核心環(huán)節(jié)。二者的協(xié)同應(yīng)用,正成為構(gòu)建高效、穩(wěn)定
    的頭像 發(fā)表于 11-03 11:13 ?411次閱讀

    LuatOS嵌入式開發(fā)實戰(zhàn):Air780EPM與MQTT通信

    ?本教程聚焦LuatOS在Air780EPM開發(fā)板上的應(yīng)用,演示如何通過腳本實現(xiàn)MQTT協(xié)議通信,助力物聯(lián)網(wǎng)設(shè)備快速聯(lián)網(wǎng)。 一、MQTT
    的頭像 發(fā)表于 09-29 18:10 ?520次閱讀
    LuatOS嵌入式開發(fā)實戰(zhàn):Air780EPM與<b class='flag-5'>MQTT</b>通信

    【教程】必看!手把手教你學(xué)會MQTT工作模式下阿里云物聯(lián)網(wǎng)平臺的配置

    (MessageQueuingTelemetryTransport)是一種輕量級的消息傳輸協(xié)議,特別適用于物聯(lián)網(wǎng)(IoT)和資源受限的環(huán)境。相較傳統(tǒng)的請求-響應(yīng)模式,發(fā)布-訂閱(Pu
    的頭像 發(fā)表于 09-04 19:34 ?1358次閱讀
    【教程】必看!手把手教你學(xué)會<b class='flag-5'>MQTT</b>工作模式下阿里云物<b class='flag-5'>聯(lián)網(wǎng)</b>平臺的配置

    聯(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ù)
    的頭像 發(fā)表于 08-29 15:24 ?1006次閱讀

    MQTT聯(lián)網(wǎng)數(shù)據(jù)解析的難點有哪些?

    MQTT聯(lián)網(wǎng)數(shù)據(jù)解析的難點主要源于物聯(lián)網(wǎng)場景中設(shè)備的多樣性、數(shù)據(jù)的復(fù)雜性以及系統(tǒng)的高要求,具體可歸納為以下幾個方面。
    的頭像 發(fā)表于 08-05 18:13 ?894次閱讀

    MQTT介紹

    一、什么是MQTT聯(lián)網(wǎng)(IoT)發(fā)展迅猛,傳感器、網(wǎng)關(guān)、云平臺之間如何高效通信成了核心問題。MQTT(Message Queuing Telemetry Transport)作為一種輕量級
    的頭像 發(fā)表于 07-14 09:34 ?3683次閱讀
    <b class='flag-5'>MQTT</b>介紹

    精通 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 ?1025次閱讀
    精通 <b class='flag-5'>MQTT</b>:消息隊列遙測傳輸指南!

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

    MQTT(Message Queuing Telemetry Transport)即消息隊列遙測傳輸協(xié)議,已成為物聯(lián)網(wǎng)領(lǐng)域廣泛應(yīng)用的協(xié)議,這主要得益其在資源占用、通信效率、可靠性、擴展性等多方面
    的頭像 發(fā)表于 05-20 09:54 ?834次閱讀

    KaihongOS操作系統(tǒng):MQTT聯(lián)網(wǎng)通訊協(xié)議

    @ohos.net.khMqtt (MQTT聯(lián)網(wǎng)通訊協(xié)議) 說明: 本模塊首批接口從API version 8開始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨標(biāo)記接口的起始版本。 目前支持3.1.1
    發(fā)表于 05-08 07:51

    何為趨膚效應(yīng)?

    “趨膚效應(yīng)”我們先拆開來理解 趨:可以理解為傾向的意思。 膚:可以用“表面”的意思去理解,而在電學(xué)中,這里的“趨膚” 其實就是:傾向于表面的意思,而這個表面就是導(dǎo)體的表面。那到底是什么傾向于導(dǎo)體
    發(fā)表于 04-21 11:37

    工業(yè)智能網(wǎng)關(guān)與MQTT聯(lián)網(wǎng)云平臺的關(guān)系

    工業(yè)智能網(wǎng)關(guān)與 MQTT聯(lián)網(wǎng)云平臺在物聯(lián)網(wǎng)架構(gòu)中是互補協(xié)作的關(guān)系,具體可歸納為以下幾點: 數(shù)據(jù)交互橋梁 工業(yè)智能網(wǎng)關(guān)負(fù)責(zé)采集現(xiàn)場設(shè)備(如 PLC、傳感器、儀器儀表等)的實時數(shù)據(jù),通過協(xié)議轉(zhuǎn)換(如
    的頭像 發(fā)表于 03-21 09:44 ?1223次閱讀

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

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