




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、11物聯(lián)網(wǎng)基礎(chǔ)之MQTT、CoAP簡介目錄CoAP010203常用消息傳輸協(xié)議MQTT22消息傳遞1.同步消息傳遞2.異步消息傳遞TCPUDPHTTPJava消息傳遞服務(wù)(Java Messaging Service (JMS))高級消息隊列協(xié)議(Advanced Message Queueing Protocol (AMQP))消息隊列遙測傳輸(Message Queueing Telemetry Transport (MQTT))受限制的應(yīng)用協(xié)議(Constrained Application Protocol( CoAP) )23CoAP010203常用消息傳輸協(xié)議MQTT24MQTTM
2、QTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸) 是IBM主導(dǎo)開發(fā)的一個即時通訊協(xié)議,其發(fā)展歷史大致如下:1999年,IBM和Arcom共同發(fā)明了MQTT協(xié)議。2004年,MQTT.org開放了論壇,供大家廣泛參與。2011年,IBM建立了Eclipse開源項目Paho,并貢獻(xiàn)了代碼。EclipsePaho是MQTT的Java實現(xiàn)版本。2013年,OASIS MQTT技術(shù)規(guī)范委員會成立2014年,MQTT正式成為推薦的物聯(lián)網(wǎng)傳輸協(xié)議標(biāo)準(zhǔn)。25MQTT特性(1)使用發(fā)布/訂閱消息模式,提供一對多的消息發(fā)布,解除應(yīng)用程序耦合。(2)對負(fù)載內(nèi)容屏蔽的
3、消息傳輸。(3)使用TCP/IP提供網(wǎng)絡(luò)連接。(4)有三種消息發(fā)布服務(wù)質(zhì)量(Quality of Service,QoS)(5)小型傳輸,開銷很?。ü潭ㄩL度的頭部是2字節(jié)),協(xié)議交換最小 化,以降低網(wǎng)絡(luò)流量。(6)使用Last Will和Testament特性通知有關(guān)各方客戶端異常中斷的機制。26MQTT發(fā)布者代理訂閱者發(fā)布消息27訂閱消息推送消息發(fā)布者(Publish)訂閱者(Subscribe)代理(Broker)(服務(wù)器)MQTTMQTT傳輸?shù)南⒎譃椋褐黝}(Topic)和負(fù)載(payload)Topic,可以理解為消息的類型,本質(zhì)上就是一個UTF-8的字符串,不 過可以通過反斜杠表示多
4、個層級關(guān)系。主題并不需要創(chuàng)建,直接使用;主題還可以通過通配符進(jìn)行過濾。其中,+可以過濾一個層級,而#只能出 現(xiàn)在主題最后表示過濾任意級別的層級。訂閱者訂閱(Subscribe)后,就 會收到該主題的消息內(nèi)容(payload);payload,可以理解為消息的內(nèi)容,是指訂閱者具體要使用的內(nèi)容。例:building-b/floor-5:代表B樓5層的設(shè)備。+/floor-5:代表任何一個樓的5層的設(shè)備。building-b/#:代表B樓所有的設(shè)備。注:MQTT允許使用通配符訂閱主題,但是并不允許使用通 配符廣播。28MQTT-消息類型MQTT擁有14種不同的消息類型CONNECT:客戶端連接到MQ
5、TT代理 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:客戶端訂閱某個主題SUBACK:對于SUBSCRIBE消息的確認(rèn) UNSUBSCRIBE:客戶端終止訂閱的消息UNSUBACK:對于UNSUBSCRIBE消息的確認(rèn)PINGREQ:心跳PINGRESP:確認(rèn)心跳DISCONNECT:客戶端終止連接前優(yōu)雅地通知MQ
6、TT代理29MQTT-QoSQoS Level 0:至多一次QoS Level 1:至少一次,有可能重復(fù)QoS Level 2:只有一次,確保消息只到達(dá)一次1010MQTT1011MQTT-安全MQTT提供了多個層次的安全特性:網(wǎng)絡(luò)層:有條件可以通過拉專線或者使用VPN來連接設(shè)備與MQTT代理,以提高網(wǎng)絡(luò)傳輸?shù)陌踩?。傳輸層:傳輸層使用TLS加密是確保安全的一個好手段,可以防止中間人攻擊(Man-In-The-Middle Attack)??蛻舳俗C書不但可以作為設(shè)備的身份憑證, 還可以用來驗證設(shè)備。應(yīng)用層:MQTT還提供客戶標(biāo)識(Client Identifier)以及用戶名密碼,在應(yīng)用 層驗
7、證設(shè)備。1012MQTT-軟件實現(xiàn)代理:Mosquitto 這是最早在生產(chǎn)環(huán)境中可用的消息代理之一,以 C 語言編 寫,提供多種配置與高性能。Mosca 以 Node.js 編寫,可嵌入 Node 應(yīng)用或以獨立可執(zhí)行文件的形式運行。由于配置簡單并具有可擴展性,它也是我們最喜歡的消息代理,具有高性能的優(yōu)點。RSMB IBM 對 MQTT 協(xié)議的實現(xiàn),也是最不常用的選項之一,不過它 是一個用C語言編寫的成熟系統(tǒng)。HiveMQ HiveMQ 是一種相對較新的消息代理,面向企業(yè)環(huán)境,在博客上有很多關(guān)于 MQTT 不錯的信息??蛻舳耍篍clipse-Paho包含以C、Java、Python、Javasc
8、ript等語言編寫的可用 客戶端1013CoAP010203常用消息傳輸協(xié)議MQTT1014CoAP協(xié)議背景CoAP(Constrained Application Protocol,受限制的應(yīng)用協(xié)議)物聯(lián)網(wǎng)應(yīng)用中, 設(shè)備與設(shè)備之間互相聯(lián)通,它們需要互相進(jìn)行網(wǎng)絡(luò)通信。 但由于通常物聯(lián)網(wǎng)設(shè)備都是資源限制型的,有限的CPU能力,有限RAM, 有限的flash,有限的網(wǎng)絡(luò)帶寬, 針對此類特殊場景, CoAP協(xié)議借鑒了HTTP協(xié)議機制并簡化了協(xié)議包格式。簡潔地實現(xiàn)了物聯(lián)網(wǎng)設(shè)備之間通信。1015CoAP協(xié)議特點1016消息模型,以消息為數(shù)據(jù)通信載體,通過交換網(wǎng)絡(luò)消息來實現(xiàn)設(shè)備間數(shù) 據(jù)通信對云端設(shè)備資源操
9、作都是通過請求與響應(yīng)機制來完成,類似HTTP,REST式交互,設(shè)備端可通過4個請求方法(GET, PUT, POST, DELETE) 對服務(wù)器端資源進(jìn)行操作協(xié)議包輕量級,最小長度僅為4B支持可靠傳輸,數(shù)據(jù)重傳,塊傳輸,確保數(shù)據(jù)可靠到達(dá)支持IP多播, 即可以同時向多個設(shè)備發(fā)送請求非長連接通信,適用于低功耗物聯(lián)網(wǎng)場景支持DTLS保證傳輸層安全CoAP消息類型1017CoAP采用與HTTP協(xié)議相同的請求響應(yīng)工作模式,CoAP協(xié)議共有4種 不同的消息類型:CON需要被確認(rèn)的請求,如果CON請求被發(fā)送,那么對方必須做出響應(yīng)。NON不需要被確認(rèn)的請求,如果NON請求被發(fā)送,那么對方不必 做出回應(yīng)。ACK
10、 應(yīng)答消息,接受到CON消息的響應(yīng)。RST 復(fù)位消息,當(dāng)接收者接受到的消息包含一個錯誤,接受者解析消息或者不再關(guān)心發(fā)送者發(fā)送的內(nèi)容,那么復(fù)位消息將會被發(fā)送。CoAP消息結(jié)構(gòu)Version:類似于IPv4和IPv6,僅僅是一個版本號。 Message Type:CON,NON,ACK,RST。Message ID:每個CoAP消息都有一個ID,在一次會話中ID總是保持不變。但在這個會話之后該ID會被回收利用。Token:標(biāo)記是ID的另一種表現(xiàn)。Options:CoAP選項類似于HTTP請求頭,它包括CoAP消息本身,例如CoAP端口號,CoAP主機和CoAP查詢字符串等。負(fù)載Payload:真正有用的被交互的數(shù)據(jù)。1018CoAP觀察模式CoAP提供觀察模式,來減化客戶端從服務(wù)器側(cè)獲取信息的流程,類似MQTT 訂閱模式1019CoAP塊傳輸CoAP為傳輸較大的數(shù)據(jù)提供了分塊傳輸?shù)牡姆绞剑?wù)器客戶端 均可支持,可利用與版本下載等場景,通過block1/block2 option字 段實現(xiàn)1020CoAP URI1021RESTFul協(xié)議由于其簡單性和適用性,在WEB應(yīng)用中越來越受歡迎CoAP支持REST式交互,一個CoAP資源可以被一個URI所描述例:一個設(shè)備可以測量溫度,那么這個溫度傳感器的URI
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年落葉大班標(biāo)準(zhǔn)教案及反思
- 保潔外包合同范例
- 住宅使用權(quán)變更合同范例
- 水資源合理利用與開發(fā)策略計劃
- 海關(guān)業(yè)務(wù)知識培訓(xùn)課件
- 如何應(yīng)對工作中的壓力與挑戰(zhàn)計劃
- 第3課:《日食》(教學(xué)設(shè)計)-2023-2024學(xué)年六年級下冊科學(xué) 教科版
- 2025年羽毛球課程標(biāo)準(zhǔn)教案全
- 學(xué)習(xí)之道與方法指導(dǎo)計劃
- 第五單元《習(xí)作:圍繞中心意思寫》教學(xué)設(shè)計-2024-2025學(xué)年六年級上冊語文統(tǒng)編版
- 中建CFG樁施工方案
- 氫氟酸安全技術(shù)說明書MSDS
- 中學(xué)國防教育配教案
- 人民調(diào)解實務(wù) 課件 第6-10章 人民調(diào)解程序-人民調(diào)解文書
- 6AM2U7 Rules around us Rules and signs ppt英語教學(xué)課件
- 管道安全檢查表
- 中國政府開放數(shù)據(jù)利用研究報告
- 拍攝短視頻的腳本范文(可用8篇)
- 復(fù)方雷尼替丁
- 2023年青島港灣職業(yè)技術(shù)學(xué)院單招綜合素質(zhì)模擬試題及答案解析
- 25噸汽車吊吊裝施工方案
評論
0/150
提交評論