Survive by day and develop by night.
talk for import biz , show your perfect code,full busy,skip hardness,make a better result,wait for change,challenge Survive.
happy for hardess to solve denpendies.
目錄
概述
java IOT 協(xié)議是大家非常熟悉的一種的協(xié)議。
需求:
1.概述
2. 協(xié)議分類
設(shè)計(jì)思路
實(shí)現(xiàn)思路分析
1.概述
物聯(lián)網(wǎng)核心組成就是物聯(lián)設(shè)備、網(wǎng)關(guān)和云端。物聯(lián)設(shè)備分為兩類,一類是其自身天然支持TCP/IP而能直接接入物聯(lián)網(wǎng),如wifi、GPRS/3G/4G(當(dāng)然,還有即將到來(lái)的5G)等設(shè)備;另一類是其未能支持IP協(xié)議而需要網(wǎng)關(guān)(協(xié)議轉(zhuǎn)換)來(lái)接入物聯(lián)網(wǎng),如Zigbee、藍(lán)牙等設(shè)備。對(duì)于藍(lán)牙設(shè)備而言,手機(jī)其實(shí)是一個(gè)網(wǎng)關(guān)。
2.MQTT
MQ 遙測(cè)傳輸(MQ Telemetry Transport,簡(jiǎn)稱MQTT)是一個(gè)面向 IoT 應(yīng)用程序的輕量級(jí)連接協(xié)議。它基于 TCP/IP 網(wǎng)絡(luò)連接使用發(fā)布/訂閱方法來(lái)傳輸數(shù)據(jù)。設(shè)計(jì)思想是開放、簡(jiǎn)單、輕量、易于實(shí)現(xiàn),這也使它成為 IoT 開發(fā)的理想平臺(tái)。MQTT 包括代理和客戶端兩個(gè)部分??蛻舳丝梢栽L問或修改設(shè)備的數(shù)據(jù),代理是持有并傳遞數(shù)據(jù)。
MQTT 使用發(fā)布/訂閱消息模式??蛻舳丝梢栽谝粋€(gè)話題(Topic)下面發(fā)布特定參數(shù)數(shù)據(jù)給代理。另一個(gè)對(duì)此話題感興趣的客戶可以訂閱該話題,并定期收到更新的消息。
MQTT有三個(gè)角色,包括服務(wù)器代理、訂閱者和發(fā)布者。
1)啟動(dòng)服務(wù)器代理。
2)訂閱者向服務(wù)器代理訂閱相關(guān)主題。
3)發(fā)布者向服務(wù)器代理發(fā)布主題信息。
4)服務(wù)器代理想所有訂閱該主題的訂閱者推送消息。
? CoAP約束應(yīng)用協(xié)議(Constrained Application Protocol)是一種專用于受限設(shè)備的Internet應(yīng)用協(xié)議,如RFC 7252所定義,它使那些被稱為“節(jié)點(diǎn)”的受約束設(shè)備能夠使用類似的協(xié)議與更廣泛的Internet進(jìn)行通信。CoAP被設(shè)計(jì)用于同一受限網(wǎng)絡(luò)(例如,低功耗、有損網(wǎng)絡(luò))上的設(shè)備之間、設(shè)備和因特網(wǎng)上的一般節(jié)點(diǎn)之間以及由因特網(wǎng)連接的不同受限網(wǎng)絡(luò)上的設(shè)備之間使用。CoAP也被用于其他機(jī)制,如移動(dòng)通信網(wǎng)絡(luò)上的SMS。
————————————————
? 總結(jié):CoAP是受約束設(shè)備的專用Internet應(yīng)用程序協(xié)議。
基于消息模型,定義了4個(gè)消息類型,以消息為數(shù)據(jù)通信載體,通過(guò)交換網(wǎng)絡(luò)消息來(lái)實(shí)現(xiàn)設(shè)備間數(shù)據(jù)通信
基于請(qǐng)求/響應(yīng)模型 ,對(duì)CoAP Server云端設(shè)備資源操作都是通過(guò)請(qǐng)求與響應(yīng)機(jī)制來(lái)完成,類似HTTP,設(shè)備端可通過(guò)4個(gè)請(qǐng)求方法(GET, PUT, POST, DELETE)對(duì)服務(wù)器端資源進(jìn)行操作。 請(qǐng)求與響應(yīng)的數(shù)據(jù)包都是放在CoAP消息里面進(jìn)行傳輸?shù)?/p>
基于消息的雙向通信(M2M),CoAP Client與CoAP server雙方都可以獨(dú)立向?qū)Ψ桨l(fā)送請(qǐng)求.雙方可當(dāng)client或者server角色
輕量最小長(zhǎng)度僅為4B
支持可靠傳輸 ,數(shù)據(jù)重傳,塊傳輸。 確保數(shù)據(jù)可靠到達(dá)。
支持IP多播 , 即可以同時(shí)向多個(gè)設(shè)備發(fā)送請(qǐng)求(比如CoAP client搜索CoAP Server)
低功耗 ,非長(zhǎng)連接通信
支持受限設(shè)備
支持觀察模式
支持異步通信
————————————————
Ver (占兩位):默認(rèn)為01,其它為后續(xù)預(yù)留
T(報(bào)文類型,占兩位):
Confirmable Message(CON):CON 報(bào)文需要被接受者確認(rèn),即每一個(gè) CON報(bào)文都需要對(duì)應(yīng)一個(gè) ACK 報(bào)文或 RST 報(bào)文。即 00
Non-Confirmable Message(NON):不需要被確認(rèn)的報(bào)文,常用于傳感器一類只需單向傳送數(shù)據(jù)的應(yīng)用場(chǎng)景,純單向傳輸,不需要應(yīng)答,收不到也不管。即01
Acknowledgement Message(ACK):應(yīng)答報(bào)文用于確認(rèn) CON 報(bào)文,用于確認(rèn) CON 報(bào)文。即 10
Reset Message(RST):復(fù)位報(bào)文,當(dāng)服務(wù)器收到一個(gè) CON 報(bào)文,如果報(bào)文中出現(xiàn)上下文缺失,導(dǎo)致無(wú)法處理時(shí),服務(wù)器將返回一個(gè) RST 報(bào)文。讓客戶端再發(fā)一次。即 11
TKL(占兩位,標(biāo)簽長(zhǎng)度指示(代表Token的長(zhǎng)度)):0為特殊情況,代表空?qǐng)?bào)文,可以沒有Token
Code(占八位,響應(yīng)碼):分為高三位(0~7)+低五位(0 ~ 31)方式既 x.xx格式。
————————————————
區(qū)別:
CoAP協(xié)議(Constrained Application Protocol)和MQTT協(xié)議(Message Queuing Telemetry Transport)是兩種物聯(lián)網(wǎng)通信協(xié)議,用于在物聯(lián)網(wǎng)設(shè)備之間進(jìn)行通信。它們有以下幾個(gè)區(qū)別:
-
適用范圍:CoAP協(xié)議是為了在低功耗、有限資源的物聯(lián)網(wǎng)設(shè)備上實(shí)現(xiàn)簡(jiǎn)單、輕量級(jí)的通信而設(shè)計(jì)的。它適用于需要低功耗和有限處理能力的設(shè)備,如傳感器、執(zhí)行器等。MQTT協(xié)議則更適用于需要高可靠性和延遲敏感的應(yīng)用場(chǎng)景,如遠(yuǎn)程監(jiān)測(cè)和控制系統(tǒng)。
-
通信模式:CoAP協(xié)議基于請(qǐng)求-響應(yīng)模式,類似于HTTP協(xié)議。設(shè)備可以發(fā)送請(qǐng)求來(lái)獲取資源,服務(wù)器會(huì)返回響應(yīng)。MQTT協(xié)議則是基于發(fā)布-訂閱模式,設(shè)備可以發(fā)布消息到一個(gè)特定的主題,其他訂閱該主題的設(shè)備會(huì)收到消息。
-
通信特點(diǎn):CoAP協(xié)議采用UDP傳輸協(xié)議,非常適合在無(wú)線網(wǎng)絡(luò)環(huán)境下進(jìn)行通信。它使用可靠傳輸協(xié)議(如UDP)來(lái)確保數(shù)據(jù)的可靠性。MQTT協(xié)議可以使用TCP或者WebSocket作為傳輸協(xié)議,確保數(shù)據(jù)的可靠性和穩(wěn)定性。
-
協(xié)議設(shè)計(jì):CoAP協(xié)議比MQTT協(xié)議更輕量級(jí),它的報(bào)文格式更簡(jiǎn)單,占用的網(wǎng)絡(luò)帶寬和處理能力更少。MQTT協(xié)議則提供了更多的功能和靈活性,支持更多的QoS級(jí)別,支持持久化消息,支持遺囑消息等。
總的來(lái)說(shuō),CoAP協(xié)議適用于資源受限的物聯(lián)網(wǎng)設(shè)備之間的簡(jiǎn)單通信,而MQTT協(xié)議更適用于更復(fù)雜和靈活的物聯(lián)網(wǎng)應(yīng)用。選擇哪種協(xié)議取決于具體的應(yīng)用需求和設(shè)備的特點(diǎn)。
參考資料和推薦閱讀
參考資料
官方文檔
開源社區(qū)
博客文章
書籍推薦文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-822326.html
- https://blog.51cto.com/u_16213627/8081771
- https://blog.csdn.net/weixin_43504224/article/details/130483265
歡迎閱讀,各位老鐵,如果對(duì)你有幫助,點(diǎn)個(gè)贊加個(gè)關(guān)注唄!同時(shí),期望各位大佬的批評(píng)指正~文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-822326.html
到了這里,關(guān)于Java 物聯(lián)網(wǎng)協(xié)議MQTT和 CoAP的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!