摘要:,消息隊(duì)列遙測(cè)傳輸是開發(fā)的一個(gè)即時(shí)通訊協(xié)議,有可能成為物聯(lián)網(wǎng)的重要組成部分。會(huì)發(fā)生消息丟失或重復(fù)。只有一次,確保消息到達(dá)一次。此外,國(guó)內(nèi)很多企業(yè)都廣泛使用作為手機(jī)客戶端與服務(wù)器端推送消息的協(xié)議。
前幾天寫了一下MQTT協(xié)議實(shí)現(xiàn)推送數(shù)據(jù)傳輸,所以我會(huì)不定期的更新一下關(guān)注MQTT的知識(shí)。
MQTT:MQTT(Message Queuing Telemetry Transport,消息隊(duì)列遙測(cè)傳輸)是IBM開發(fā)的一個(gè)即時(shí)通訊協(xié)議,有可能成為物聯(lián)網(wǎng)的重要組成部分。該協(xié)議支持所有平臺(tái),幾乎可以把所有聯(lián)網(wǎng)物品和外部連接起來(lái),被用來(lái)當(dāng)做傳感器和制動(dòng)器(比如通過(guò)Twitter讓房屋聯(lián)網(wǎng))的通信協(xié)議。
MQTT特點(diǎn)MQTT協(xié)議是為大量計(jì)算能力有限,且工作在低帶寬、不可靠的網(wǎng)絡(luò)的遠(yuǎn)程傳感器和控制設(shè)備通訊而設(shè)計(jì)的協(xié)議,它具有以下主要的幾項(xiàng)特性:
1.使用發(fā)布/訂閱消息模式,提供一對(duì)多的消息發(fā)布,解除應(yīng)用程序耦合;
2.對(duì)負(fù)載內(nèi)容屏蔽的消息傳輸;
3.使用 TCP/IP 提供網(wǎng)絡(luò)連接;
4.有三種消息發(fā)布服務(wù)質(zhì)量:
“至多一次”,消息發(fā)布完全依賴底層 TCP/IP 網(wǎng)絡(luò)。會(huì)發(fā)生消息丟失或重復(fù)。這一級(jí)別可用于如下情況,環(huán)境傳感器數(shù)據(jù),丟失一次讀記錄無(wú)所謂,因?yàn)椴痪煤筮€會(huì)有第二次發(fā)送。 “至少一次”,確保消息到達(dá),但消息重復(fù)可能會(huì)發(fā)生。 “只有一次”,確保消息到達(dá)一次。這一級(jí)別可用于如下情況,在計(jì)費(fèi)系統(tǒng)中,消息重復(fù)或丟失會(huì)導(dǎo)致不正確的結(jié)果。
5.小型傳輸,開銷很?。ü潭ㄩL(zhǎng)度的頭部是 2 字節(jié)),協(xié)議交換最小化,以降低網(wǎng)絡(luò)流量;
6.使用 Last Will 和 Testament 特性通知有關(guān)各方客戶端異常中斷的機(jī)制;
MQTT特征原理
實(shí)現(xiàn)MQTT協(xié)議需要:客戶端和服務(wù)器端
MQTT協(xié)議有三種身份:發(fā)布者(Pushlish)、代理(Broker)、訂閱者(Subscribe)
MQTT的消息分為:主題(Topic)和負(fù)載(payload)兩部分
Topic,可以理解為消息的類型,訂閱者Subscribe之后,就會(huì)收到該主題的消息內(nèi)容(payload)。
payload,可以理解為消息的內(nèi)容,是指訂閱者具體的使用內(nèi)容
消息類型:CONNECT:客戶端連接到MQTT代理 CONNACK:連接確認(rèn) PUBLISH:新發(fā)布消息 PUBACK:新發(fā)布消息確認(rèn),是QoS 1給PUBLISH消息的回復(fù) PUBREC:QoS 2消息流的第一部分,表示消息發(fā)布已記錄 PUBREL:QoS 2消息流的第二部分,表示消息發(fā)布已釋放 PUBCOMP:QoS 2消息流的第三部分,表示消息發(fā)布完成 SUBSCRIBE:客戶端訂閱某個(gè)主題 SUBACK:對(duì)于SUBSCRIBE消息的確認(rèn) UNSUBSCRIBE:客戶端終止訂閱的消息 UNSUBACK:對(duì)于UNSUBSCRIBE消息的確認(rèn) PINGREQ:心跳 PINGRESP:確認(rèn)心跳 DISCONNECT:客戶端終止連接前優(yōu)雅地通知MQTT代理MQTT應(yīng)用
通過(guò)MQTT協(xié)議,目前已經(jīng)擴(kuò)展出了數(shù)十個(gè)MQTT服務(wù)器端程序,可以通過(guò)PHP,JAVA,Python,C,C#等系統(tǒng)語(yǔ)言來(lái)向MQTT發(fā)送相關(guān)消息。
此外,國(guó)內(nèi)很多企業(yè)都廣泛使用MQTT作為Android手機(jī)客戶端與服務(wù)器端推送消息的協(xié)議。其中Sohu,Cmstop手機(jī)客戶端中均有使用到MQTT作為消息推送消息。據(jù)Cmstop主要負(fù)責(zé)消息推送的高級(jí)研發(fā)工程師李文凱稱,隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展,MQTT由于開放源代碼,耗電量小等特點(diǎn),將會(huì)在移動(dòng)消息推送領(lǐng)域會(huì)有更多的貢獻(xiàn),在物聯(lián)網(wǎng)領(lǐng)域,傳感器與服務(wù)器的通信,信息的收集,MQTT都可以作為考慮的方案之一。在未來(lái)MQTT會(huì)進(jìn)入到我們生活的各各方面。
下一篇文章總結(jié)一下連接百度MQTT服務(wù)器并實(shí)現(xiàn)在線測(cè)試。
歡迎大家關(guān)注我的微信公眾號(hào):
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/70875.html
摘要:時(shí)間就是金錢,效率就是生命本教程助力開發(fā)者使用協(xié)議快速產(chǎn)品化。摘要借助具備及聯(lián)網(wǎng)功能的,快速部署到客戶產(chǎn)品上,助力開發(fā),縮短開發(fā)周期,快速實(shí)現(xiàn)產(chǎn)品商業(yè)化。 時(shí)間就是金錢,效率就是生命 本教程助力開發(fā)者使用MQTT協(xié)議快速產(chǎn)品化。 摘要 借助具備MQTT及聯(lián)網(wǎng)功能的DTU,快速部署到客戶產(chǎn)品...
摘要:協(xié)議簡(jiǎn)介,消息隊(duì)列遙測(cè)傳輸是一個(gè)輕量的發(fā)布訂閱模式消息傳輸協(xié)議,是專門針對(duì)低帶寬和不穩(wěn)定網(wǎng)絡(luò)環(huán)境的物聯(lián)網(wǎng)應(yīng)用設(shè)計(jì)的。它是等級(jí)協(xié)議交換的第二個(gè)報(bào)文。 1.MQTT協(xié)議簡(jiǎn)介 MQTT(Message Queuing Telemetry Transport,消息隊(duì)列遙測(cè)傳輸)是一個(gè)輕量的發(fā)布/訂...
登錄與添加: 首先,我們打開ONENET云平臺(tái) 然后選擇登錄 ?登錄以后我們選擇多協(xié)議接入中的MQTT ?接著我們點(diǎn)擊添加產(chǎn)品按鈕 ? ? 輸入產(chǎn)品名稱丶行業(yè)丶類別丶簡(jiǎn)介 ? 技術(shù)參數(shù)中聯(lián)網(wǎng)方式我們可以根據(jù)實(shí)際情況來(lái)選擇,設(shè)備接入?yún)f(xié)議選擇MQTT協(xié)議,操作系統(tǒng)選擇uC/OS系統(tǒng),網(wǎng)絡(luò)運(yùn)營(yíng)商選擇移動(dòng)。接著系統(tǒng)會(huì)彈出一個(gè)頁(yè)面我們選擇立即添加設(shè)備 ?也可以從設(shè)備列表進(jìn)行添加設(shè)備 ?設(shè)備名稱可...
摘要:英文書名,中文書名物聯(lián)網(wǎng)實(shí)戰(zhàn)指南。物聯(lián)網(wǎng)實(shí)戰(zhàn)指南與自己動(dòng)手設(shè)計(jì)物聯(lián)網(wǎng)這里面又有好多的故事,不過(guò)正是因?yàn)橐粫屛矣辛藢憰南敕ú贿^(guò),最開始的時(shí)候是電子書。我們將在未來(lái)的兩周末,贈(zèng)送出幾本的物聯(lián)網(wǎng)實(shí)戰(zhàn)指南和自己動(dòng)手設(shè)計(jì)物聯(lián)網(wǎng),詳情見 這本書有一個(gè)很長(zhǎng)的故事,到今天算是走到了一個(gè)意想中的結(jié)局。從審閱這本書開始、英文版出版、翻譯成中文就這樣走了兩年的時(shí)間,這是一本值得紀(jì)念的書籍。 英文書名《L...
閱讀 2610·2021-11-23 09:51
閱讀 2523·2021-09-30 09:48
閱讀 1118·2021-09-10 10:51
閱讀 2248·2021-08-12 13:22
閱讀 3605·2021-08-11 10:24
閱讀 2204·2019-08-30 15:55
閱讀 666·2019-08-30 14:05
閱讀 3238·2019-08-30 13:03