物聯網協議從設備管理的需求而來,通常包括數據通信協議、命令控制協議、診斷協議、升級服務協議、長期在線協議、安全協議。
物聯網協議-數據通信協議
數據通信協議是指數據如何從物聯網終端控制設備到物聯網網關,最后到云端服務器這樣一個鏈路上保證數據能夠高效地傳輸。由于物聯網終端控制設備到物聯網網關、物聯網網關到云服務器使用的通信通常不一樣,一個物聯網網關可能管理多個物聯網終端控制設備,因此協議也需要對局域物聯網和廣域物聯網進行區分。局域物聯網盡量減少廣播報文,增加每個控制終端的路由和查找功能。局域物聯網內也要有好的機制避免網絡阻塞情況的發生,因為物聯網終端控制設備是永遠在線,因此避免阻塞非常重要。
物聯網協議-診斷協議
診斷協議是指在設計協議之初就要把診斷協議和診斷工具放在第一位,這樣在物聯網實施過程中才能快速地部署網絡和定位問題,提高系統可靠性。
物聯網協議-升級服務協議
升級服務協議是指設備和系統安裝后,隨著云端服務功能的增加,需要終端做出相應的調整,尤其對于物聯網設備來說,數量終端和設備安裝麻煩,因此通過軟件系統的升級來完成這一工作顯得尤為重要。
物聯網協議-長期在線協議
長期在線協議與其說是協議不如說是各種集成方法,局域物聯網中保持鏈路的長期在線是容易的,但是由于網關的各種限制,例如運營商是不允許GPRS設備永遠在線的,還有就是物聯網終端控制設備Crash后,或者網絡質量差時該如何保證長期在線的狀態。因此我們將長期在線協議進行兩個方面的考慮:一個是協議層次不斷地發送心跳,保持服務器的狀態更新,另一方面是設計自動恢復機制,能夠在設備處于異常狀態時快速恢復到初始化狀態,和云端服務器能夠重新建立鏈接。
物聯網協議-安全協議
安全協議目前忽略的較多,由于之前的工控設備用MCU實現,因此大部分沒有網絡連接也就不會有安全問題,但是隨著物聯網化的升級,在線是基礎要求,因此設計不同等級的安全協議也是必要的,但是物聯網的數據和終端非常多,安全協議設計也不能像傳統互聯網安全協議那樣復雜。
MQTT是目前認為比較好的物聯網通信協議,MQTT協議是為大量計算能力有限、工作在低帶寬、不可靠的網絡的遠程傳感器和控制設備通信而設計的協議,它具有以下主要的幾項特性。
1、使用發布訂閱消息模式,提供一對多的消息發布,解除應用程序耦合。
2、對負載內容屏蔽的消息傳輸。
3、使用TCP/IP提供網絡連接。
4、有3種消息發布服務質量。
至多一次:消息發布完全依賴底層TCP/IP網網絡,會發生消息丟失或重復。這一級別可用于如下情況:環境傳感器數據,丟失一次讀記錄無所謂,因為不久后還會有第二次發送。
至少一次:確保消息到達,但消息重復可能會發生。
只有一次:確保消息到達一次。這一級別可用于如下情況:在計費系統中,消息重復或丟失導致不正確的結果。
5、小型傳輸,開銷很?。ü潭ㄩL度的頭部是2字節),協議交換最小化,以降低網絡流量。
6、使用Last Will和Testament特性通知有關各方客戶端異常中斷的機制。
但是協議就實現上來說存在對終端設備要求高,也沒有考慮局域物聯網和廣域物聯網不同的環境,因此對智能硬件比較合適,對大量終端的物聯網終端設備還有待提升。