這篇文章主要介紹“MQTT-SN和MQTT的不同點有哪些”,在日常操作中,相信很多人在MQTT-SN和MQTT的不同點有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”MQTT-SN和MQTT的不同點有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
創(chuàng)新互聯(lián)建站是一家專業(yè)提供元謀企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站建設(shè)、成都做網(wǎng)站、HTML5、小程序制作等業(yè)務(wù)。10年已為元謀眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。
MQTT-SN(Sensor Networks)是MQTT協(xié)議的傳感器版本,最早使用在zigBee無線網(wǎng)絡(luò)中,主要面對電池供電,有限的處理器能力和存儲能力的設(shè)備?;赥CP協(xié)議的MQTT對有些傳感器來說還是負(fù)載太重了,這些傳感器可能只有幾十個字節(jié)的內(nèi)存,無法運行TCP協(xié)議。
MQTT-SN和MQTT的不同點
1. 協(xié)議運行的層次不同
MQTT運行在TCP層之上,MQTT-SN可以運行在MAC層,IP層和UDP之上。MQTT-SN應(yīng)用的場景主要是各種低功耗傳感器網(wǎng)絡(luò),需要電池供電,對功耗非常敏感,TCP虛擬長連接需要維持一個定時心跳,對電池來說不是一個好的解決方案。在傳感器網(wǎng)絡(luò)中,鏈接可能隨時中斷,TCP連接也要不斷的重新建立連接,這樣對功耗都是大的消耗。
2. QOS增加了-1級別或3
QOS -1 級別在設(shè)置的時候QOS flag還是要設(shè)置3(“0b11” ),-1僅僅是個稱謂,這個級別僅僅適用在非常簡單的應(yīng)用中,不需要建立連接或者斷開連接,不需要注冊或訂閱,這時客戶端僅僅是發(fā)送public消息給網(wǎng)關(guān)即可。發(fā)布的消息也不需要得到消息確認(rèn)。
3. 訂閱主題方式
MQTT-SN可以使用MQTT的訂閱主題格式,長名字主題如“/beijing/sen1”,也可以使用只有兩個字符的短名字主題如“s1”,還可以使用預(yù)先定義好的主題ID如 "1", 如果不使用長名字主題不能使用通配符。
4. 發(fā)布消息
和訂閱主題一樣,可以使用兩個字符的短名字主題或者使用定義好的主題ID。
注意:主題ID的內(nèi)容對不同客戶端來說可能一樣也可能不一樣。比如A傳感器訂閱了主題ID 1 內(nèi)容是/beijing/sen1,B傳感器也訂閱了主題ID1內(nèi)容是/beijing/sen2,他們的內(nèi)容是不一樣的。
5. 網(wǎng)絡(luò)架構(gòu)
MQTT-SN多了一種節(jié)點,就是MQTT-SN網(wǎng)關(guān)。網(wǎng)關(guān)的作用主要是協(xié)議轉(zhuǎn)換,把底層的MQTT-SN協(xié)議轉(zhuǎn)換為MQTT的協(xié)議格式。
如上圖所示,網(wǎng)關(guān)有兩種,一種透明網(wǎng)關(guān),僅僅是起透傳作用做簡單的拆包組包,另一個是聚合網(wǎng)關(guān),把多個節(jié)點聚合到一起傳給消息代理。
6. 網(wǎng)關(guān)發(fā)現(xiàn)
在MQTT-SN中,客戶端不用去記憶網(wǎng)關(guān)的地址,網(wǎng)關(guān)會定期的廣播ADVERTISE信息,里面有自己的地址,客戶端接收地址,當(dāng)有多個網(wǎng)關(guān)時候,網(wǎng)關(guān)需要帶上自己的網(wǎng)關(guān)ID,由客戶端來決定連接哪一個,任何時候,一個客戶端只能連接一個網(wǎng)關(guān)??蛻舳艘部梢园l(fā)送網(wǎng)關(guān)查詢(SEARCHGW信息),這時候網(wǎng)關(guān)將回應(yīng)GWINFO
信息。防止產(chǎn)生廣播風(fēng)暴有兩個參數(shù),網(wǎng)關(guān)查詢報文的發(fā)送需要等待一個隨機(jī)時間,發(fā)送的網(wǎng)關(guān)查詢經(jīng)過的網(wǎng)關(guān)條數(shù)一般設(shè)為1,也就是說SEARCHGW信息不能跨網(wǎng)關(guān)傳輸。 這樣網(wǎng)關(guān)可以靈活配置,不需要固定某一個網(wǎng)關(guān)。
7. 支持設(shè)備睡眠
如果設(shè)備睡眠,則MQTT-SN網(wǎng)關(guān)先把消息存儲起來,等設(shè)備醒來再下發(fā)。這個有點像手機(jī)短信,手機(jī)關(guān)機(jī)后,短信存儲在運營商的短信交換中心,手機(jī)開機(jī)后再下發(fā)。
到此,關(guān)于“MQTT-SN和MQTT的不同點有哪些”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
文章標(biāo)題:MQTT-SN和MQTT的不同點有哪些
URL網(wǎng)址:http://weahome.cn/article/gdgohh.html