隨著物聯網裝置數量的持續增加,這些裝置之間的通訊或連線已成為一個重要的思考課題。通訊對物聯網來說十分常用且關鍵,無論是近距離無線傳輸技術還是移動通訊技術,都影響著物聯網的發展。而在通訊中,通訊協議尤其重要,是雙方實體完成通訊或服務所必須遵循的規則和約定。
本文介紹了幾個可用的物聯網通訊協議,它們具有不同的效能、資料速率、覆蓋範圍、功率和記憶體,而且每一種協議都有各自的優點和或多或少的缺點。其中一些通訊協議只適合小型家用電器,而其他一些通訊協議則可以用於大型智慧城市專案。物聯網通訊協議分為兩大類:
- 一類是接入協議:一般負責子網內裝置間的組網及通訊
- 一類是通訊協議:主要是執行在傳統網際網路TCP/IP協議之上的裝置通訊協議,負責裝置透過網際網路進行資料交換及通訊。
一
物理層、資料鏈路層協議
1、遠距離蜂窩通訊
(1)2G/3G/4G通訊協議,分別指第二、三、四代移動通訊系統協議。
(2)NB-IoT
窄帶物聯網(Narrow Band Internet of Things, NB-IoT)成為萬物網際網路絡的一個重要分支。NB-IoT構建於蜂窩網路,只消耗大約180kHz的頻寬,可直接部署於GSM網路、UMTS網路或LTE網路,以降低部署成本、實現平滑升級。NB-IoT聚焦於低功耗廣覆蓋(LPWA)物聯網(IoT)市場,是一種可在全球範圍內廣泛應用的新興技術。具有覆蓋廣、連線多、速率快、成本低、功耗低、架構優等特點。
應用場景:NB-IoT網路帶來的場景應用包括智慧停車、智慧消防、智慧水務、智慧路燈、共享單車和智慧家電等。
(3)5G
第五代移動通訊技術,是最新一代蜂窩移動通訊技術。5G的效能目標是高資料速率、減少延遲、節省能源、降低成本、提高系統容量和大規模裝置連線。
應用場景:AR/VR、車聯網、智慧製造、智慧能源、無線醫療、無線家庭娛樂、聯網無人機、超高畫質/全景直播、個人AI輔助、智慧城市。
2、遠距離非蜂窩通訊
(1)WiFi
由於前幾年家用WiFi路由器以及智慧手機的迅速普及,WiFi協議在智慧家居領域也得到了廣泛應用。WiFi協議最大的優勢是可以直接接入網際網路。相對於ZigBee,採用Wifi協議的智慧家居方案省去了額外的閘道器,相對於藍芽協議,省去了對手機等移動終端的依賴。
商用WiFi在城市公共交通、商場等公共場所的覆蓋,將商用WiFi的場景應用潛力表露無疑。
(2)ZigBee
ZigBee是一種低速短距離傳輸的無線通訊協議,是一種高可靠的無線數傳網路,主要特色有低速、低耗電、低成本、支援大量網上節點、支援多種網上拓撲、低複雜度、快速、可靠、安全。ZigBee技術是一種新型技術,它最近出現,主要是依靠無線網路進行傳輸,它能夠近距離的進行無線連線,屬於無線網路通訊技術。
ZigBee技術的先天性優勢,使得它在物聯網行業逐漸成為一個主流技術,在工業、農業、智慧 家居等領域得到大規模的應用。
(3)LoRa
LoRa(LongRange,遠距離)是一種調製技術,與同類技術相比,提供更遠的通訊距離。LoRa 閘道器、煙感、水監測、紅外探測、定位、排插等廣泛應用物聯網產品。作為一種窄帶無線技術,LoRa 是使用到達時間差來實現地理定位的。LoRa 定位的應用場景:智慧城市和交通監控、計量和物流、農業定位監控。
3、近距離通訊
(1)RFID
射頻識別(RFID)是 Radio Frequency Identification 的縮寫。其原理為閱讀器與標籤之間進行非接觸式的資料通訊,達到識別目標的目的。RFID 的應用非常廣泛,典型應用有動物晶片、汽車晶片防盜器、門禁管制、停車場管制、生產線自動化、物料管理。完整的RFID系統由讀寫器(Reader)、電子標籤(Tag)和資料管理系統三部分組成。
(2)NFC
NFC的中文全稱為近場通訊技術。NFC是在非接觸式射頻識別(RFID)技術的基礎上,結合無線互連技術研發而成,它為我們日常生活中越來越普及的各種電子產品提供了一種十分安全快捷的通訊方式。NFC中文名稱中的“近場”是指臨近電磁場的無線電波。
應用場景:應用在門禁、考勤、訪客、會議簽到、巡更等領域。NFC具有人機互動、機器間互動等功能。
(3)Bluetooth
藍芽技術是一種無線資料和語音通訊開放的全球規範,它是基於低成本的近距離無線連線,為固定和移動裝置建立通訊環境的一種特殊的近距離無線技術連線。
藍芽能在包括行動電話、PDA、無線耳機、膝上型電腦、相關外設等眾多裝置之間進行無線資訊交換。利用“藍芽”技術,能夠有效地簡化行動通訊終端裝置之間的通訊,也能夠成功地簡化裝置與因特網Internet之間的通訊,從而資料傳輸變得更加迅速高效,為無線通訊拓寬道路。
4、有線通訊
(1)USB
USB,是英文Universal Serial Bus(通用序列匯流排)的縮寫,是一個外部匯流排標準,用於規範電腦與外部裝置的連線和通訊。是應用在PC領域的介面技術。
(2)串列埠通訊協議
串列埠通訊協議是指規定了資料包的內容,內容包含了起始位、主體資料、校驗位及停止位,雙方需要約定一致的資料包格式才能正常收發資料的有關規範。在串列埠通訊中,常用的協議包括RS-232、RS-422和RS-485。
串列埠通訊是指外設和計算機間,透過資料線按位進行傳輸資料的一種通訊方式。這種通訊方式使用的資料線少,在遠距離通訊中可以節約通訊成本,但其傳輸速度比並行傳輸低。大多數計算機(不包括筆記本)都包含兩個RS-232串列埠。串列埠通訊也是儀表儀器裝置常用的通訊協議。
(3)乙太網
乙太網是一種計算機區域網技術。IEEE組織的IEEE 802.3標準制定了乙太網的技術標準,它規定了包括物理層的連線、電子訊號和介質訪問層協議的內容。
(4)MBus
MBus 遠端抄表系統(symphonic mbus),是歐洲標準的2線的二匯流排, 主要用於消耗測量儀器諸如熱表和水錶系列。
二
網路層、傳輸協議
1、IPv 4
網際網路通訊協議第四版,是網際協議開發過程中的第四個修訂版本,也是此協議第一個被廣泛部署的版本。IPv4是網際網路的核心,也是使用最廣泛的網際協議版本
2、IPv6
網際網路協議第6版,由於IPv4最大的問題在於網路地址資源有限,嚴重製約了網際網路的應用和發展。IPv6的使用,不僅能解決網路地址資源數量的問題,而且也解決了多種接入裝置連入網際網路的障礙
3、TCP
傳輸控制協議(TCP,Transmission Control Protocol)是一種面向連線的、可靠的、基於位元組流的傳輸層通訊協議。TCP旨在適應支援多網路應用的分層協議層次結構。連線到不同但互連的計算機通訊網路的主計算機中的成對程序之間依靠TCP提供可靠的通訊服務。TCP假設它可以從較低級別的協議獲得簡單的,可能不可靠的資料報服務。
4、6LoWPAN
6LoWPAN是一種基於IPv6的低速無線個域網標準,即IPv6 over IEEE 802.15.4。
三
應用層協議
1、MQTT協議
MQTT (Message Queue Telemetry Transport),翻譯成中文就是,遙測傳輸協議,其主要提供了訂閱/釋出兩種訊息模式,更為簡約、輕量,易於使用,特別適合於受限環境(頻寬低、網路延遲高、網路通訊不穩定)的訊息分發,屬於物聯網(Internet of Thing)的一個標準傳輸協議。
在很多情況下,包括受限的環境中,如:機器與機器(M2M)通訊和物聯網(IoT)。其在,透過衛星鏈路通訊感測器、偶爾撥號的醫療裝置、智慧家居、及一些小型化裝置中已廣泛使用。
2、CoAP協議
CoAP(Constrained Application Protocol)是一種在物聯網世界的類Web協議,適用於需要透過標準網際網路網路進行遠端控制或監控的小型低功率感測器,開關,閥門和類似的元件,伺服器對不支援的型別可以不響應
3、REST/HTTP協議
RESTful是一種基於資源的軟體架構風格。所謂資源,就是網路上的一個實體,或者說是網路上的一個具體資訊。一張圖片、一首歌曲都是一個資源。RESTful API是基於HTTP協議的一種實現。(HTTP是一個應用層的協議,特點是簡捷 快速)。
滿足Rest規範的應用程式或設計就是RESTful,根據Rest規範設計的API,就叫做RESTful API
4、DDS協議
DDS(Data Distribution Service)分散式實時資料分發服務中介軟體協議,它是分散式實時網路裡的“TCP/IP”,用來解決實時網路中的網路協議互聯,其作用相當於“總線上的匯流排”。
5、AMQP協議
AMQP,即Advanced Message Queuing Protocol,一個提供統一訊息服務的應用層標準高階訊息佇列協議,是應用層協議的一個開放標準,為面向訊息的中介軟體設計。基於此協議的客戶端與訊息中介軟體可傳遞訊息,並不受客戶端/中介軟體不同產品,不同的開發語言等條件的限制。Erlang中的實現有RabbitMQ等。
6、XMPP協議
XMPP是一種基於標準通用標記語言的子集XML的協議,它繼承了在XML環境中靈活的發展性。因此,基於XMPP的應用具有超強的可擴充套件性。經過擴充套件以後的XMPP可以透過傳送擴充套件的資訊來處理使用者的需求,以及在XMPP的頂端建立如內容釋出系統和基於地址的服務等應用程式。
四
部分通訊協議比較
1、NB-IoT協議和LoRa協議比較
第一,頻段。LoRa工作在1GHz以下的非授權頻段,在應用時不需要額外付費,NB-IoT和蜂窩通訊使用1GHz以下的頻段是2113授權的,是需要收費的。
第二,電池供電壽命。LoRa模組在處理干擾、網路5261重迭、可伸縮性等方面具有獨特的特性,但卻不能提供像蜂窩協議一樣的服務質量4102。NB-IoT出於對服務質量的考慮,不能提供類似LoRa一樣的電池壽命。
第三,裝置成本。對終端節點來說,LoRa協議比NB-IoT更簡單,更容易開發並且1653對於微處理器的適用和相容性更好。同時低成本、技術相對成熟的LoRa模組已經可以在市場上找到了,並且還會有升級版本陸續出來。
第四,網路覆蓋和部署時間表。NB-IoT標準在2016年公佈,除回網路部署之外,相應的商業化和產業鏈的建立還需要更長的時間和努力去探索。LoRa的整個產業鏈相對已經較為成熟了,產品也處於“蓄勢待答發”的狀態,同時全球很多國家正在進行或者已經完成了全國性的網路部署。
2、藍芽、WiFi、ZigBee協議比較
目前來說,WiFi的優勢是應用廣泛,已經普及到千家萬戶;ZigBee的優勢是低功耗和自組網;UWB無載波無線通訊技術的優勢是傳輸速率;藍芽的優勢組網簡單。然而,這3種技術,也都有各自的不足,沒有一種技術能完全滿足智慧家居的全部要求。
藍芽技術的出現使得短距離無線通訊成為可能,但其協議較複雜、功耗高、成本高等特點不太適用於要求低成本、低功耗的工業控制和家庭網路。尤其藍芽最大的障礙在於傳輸範圍受限,一般有效的範圍在10米左右,抗干擾能力不強、資訊保安問題等問題也是制約其進一步發展和大規模應用的主要因素。
WiFi也是是一種短距離無線傳輸技術,可以隨時接入無線訊號,移動性強,比較適合在辦公室及家庭的環境下應用。當然WiFi也存在一個致命缺點。由於WiFi採用的是射頻技術,透過空氣傳送和接收資料,使用無線電波傳輸資料訊號,比較容易受到外界的干擾。
ZigBee則是國際通行的無線通訊技術,它的每個網路埠可以最多接入6.5萬多個埠,適合家居、工業、農業等多個領域使用,而藍芽和WiFi網端只能接入10個埠,顯然不能適應家庭需要。ZigBee還具有低功耗和低成本優勢。
3、MQTT協議和CoAP協議比較
MQTT是多對多通訊協議用於在不同客戶端之間透過中間代理傳送訊息,解耦生產者與消費者,透過使得客戶端釋出,讓代理決定路由並且複製訊息。雖然MQTT支援一些持久化,最好還是作為實時資料通訊匯流排。
CoAP主要是一個點對點協議,用於在客戶端與伺服器之間傳輸狀態資訊。雖然支援觀察資源,CoAP最好適合狀態傳輸模型,不是完全基於事件。
MQTT客戶端建立長連線TCP,這通常表示沒有問題,CoAP客戶端與伺服器都發送與接收UDP資料包,在NAT環境中,隧道或者埠轉發可以用於允許CoAP,或者像LWM2M,裝置也許會先初始化前端連線。
MQTT不提供支援訊息打型別標記或者其他元資料幫助客戶端理解,MQTT訊息可用於任何目的,但是所有的客戶端必須知道向上的資料格式以允許通訊,CoAP,相反地,提供內建支援內容協商與發現,允許裝置相互探測以找到交換資料的方式。
兩種協議各有優缺點,選擇合適的取決於自己的應用。