您好,登錄后才能下訂單哦!
這篇文章主要介紹“MQTT-SN和MQTT的不同點有哪些”,在日常操作中,相信很多人在MQTT-SN和MQTT的不同點有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”MQTT-SN和MQTT的不同點有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
MQTT-SN(Sensor Networks)是MQTT協議的傳感器版本,最早使用在zigBee無線網絡中,主要面對電池供電,有限的處理器能力和存儲能力的設備。基于TCP協議的MQTT對有些傳感器來說還是負載太重了,這些傳感器可能只有幾十個字節的內存,無法運行TCP協議。
MQTT-SN和MQTT的不同點
1. 協議運行的層次不同
MQTT運行在TCP層之上,MQTT-SN可以運行在MAC層,IP層和UDP之上。MQTT-SN應用的場景主要是各種低功耗傳感器網絡,需要電池供電,對功耗非常敏感,TCP虛擬長連接需要維持一個定時心跳,對電池來說不是一個好的解決方案。在傳感器網絡中,鏈接可能隨時中斷,TCP連接也要不斷的重新建立連接,這樣對功耗都是大的消耗。
2. QOS增加了-1級別或3
QOS -1 級別在設置的時候QOS flag還是要設置3(“0b11” ),-1僅僅是個稱謂,這個級別僅僅適用在非常簡單的應用中,不需要建立連接或者斷開連接,不需要注冊或訂閱,這時客戶端僅僅是發送public消息給網關即可。發布的消息也不需要得到消息確認。
3. 訂閱主題方式
MQTT-SN可以使用MQTT的訂閱主題格式,長名字主題如“/beijing/sen1”,也可以使用只有兩個字符的短名字主題如“s1”,還可以使用預先定義好的主題ID如 "1", 如果不使用長名字主題不能使用通配符。
4. 發布消息
和訂閱主題一樣,可以使用兩個字符的短名字主題或者使用定義好的主題ID。
注意:主題ID的內容對不同客戶端來說可能一樣也可能不一樣。比如A傳感器訂閱了主題ID 1 內容是/beijing/sen1,B傳感器也訂閱了主題ID1內容是/beijing/sen2,他們的內容是不一樣的。
5. 網絡架構
MQTT-SN多了一種節點,就是MQTT-SN網關。網關的作用主要是協議轉換,把底層的MQTT-SN協議轉換為MQTT的協議格式。
如上圖所示,網關有兩種,一種透明網關,僅僅是起透傳作用做簡單的拆包組包,另一個是聚合網關,把多個節點聚合到一起傳給消息代理。
6. 網關發現
在MQTT-SN中,客戶端不用去記憶網關的地址,網關會定期的廣播ADVERTISE信息,里面有自己的地址,客戶端接收地址,當有多個網關時候,網關需要帶上自己的網關ID,由客戶端來決定連接哪一個,任何時候,一個客戶端只能連接一個網關。客戶端也可以發送網關查詢(SEARCHGW信息),這時候網關將回應GWINFO
信息。防止產生廣播風暴有兩個參數,網關查詢報文的發送需要等待一個隨機時間,發送的網關查詢經過的網關條數一般設為1,也就是說SEARCHGW信息不能跨網關傳輸。 這樣網關可以靈活配置,不需要固定某一個網關。
7. 支持設備睡眠
如果設備睡眠,則MQTT-SN網關先把消息存儲起來,等設備醒來再下發。這個有點像手機短信,手機關機后,短信存儲在運營商的短信交換中心,手機開機后再下發。
到此,關于“MQTT-SN和MQTT的不同點有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。