天天看點

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

物聯網工程實戰叢書 點選檢視第二章

物聯網之魂:物聯網協定與物聯網作業系統

 

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術
孫昊 王洋 趙帥 杜秀芳 曾凡太 編著

第1章 網絡通信技術

1.1 數字通信概述

  數字通信是指用數字信号作為載體來傳輸資訊,或者用數字信号對載波進行數字調制後再傳輸的通信方式。它的主要技術裝置包括發射器、接收器及傳輸媒體。數字通信系統的通信模式主要包括數字頻帶傳輸通信系統、數字基帶傳輸通信系統及模拟信号數字化傳輸通信系統3種。

  數字信号與傳統的模拟信号不同。它是一種無論在時間上還是幅度上都屬于離散的負載資料資訊的信号。與傳統的模拟通信相比其具有以下優勢:首先是數字信号有極強的抗幹擾能力,由于在信号傳輸的過程中不可避免地會受到系統外部及系統内部的噪聲幹擾,而且噪聲會跟随信号的傳輸而放大,這無疑會幹擾到通信品質。但是數字通信系統傳輸的是離散性的數字信号,雖然在整個過程中也會受到噪聲幹擾,但隻要噪聲絕對值在一定的範圍内就可以消除噪聲幹擾。其次是在進行遠距離的信号傳輸時,通信品質依然能夠得到有效保證。因為在數字通信系統當中利用再生中繼方式,能夠消除長距離傳輸噪音對數字信号的影響,而且再生的數字信号和原來的數字信号一樣,可以繼續進行傳輸,這樣數字通信的品質就不會因為距離的增加而産生影響,是以它也比傳統的模拟信号更适合進行高品質的遠距離通信。此外,數字信号要比模拟信号具有更強的保密性,而且與現代技術相結合的形式非常簡便,目前的終端接口都采用數字信号。同時數字通信系統還能夠适應各種類型的業務要求,例如電話、電報、圖像及資料傳輸等,它的普及應用也友善實作統一的ISDN,便于采用大規模內建電路,便于實作資訊傳輸的保密處理,便于實作計算機通信網的管理等。

  要進行數字通信,就必須進行模數變換。也就是把信号發射器發出的模拟信号轉換為數字信号。基本的方法包括:首先把連續性的模拟信号用相等的時間間隔抽取出模拟信号的樣值,然後将這些抽取出來的模拟信号樣值轉變成最接近的數字值。因為這些抽取出的樣值雖然在時域進行了離散化處理,但是在幅度上仍然保持着連續性。而量化過程就是将這些樣值在幅度上也進行離散化處理,最後把量化過後的模拟信号樣值轉化為一組二進制數字代碼,然後将數字信号送入通信網進行傳輸。在接收端則是一個還原過程,也就是把收到的數字信号變為模拟信号,通過數模變換重制聲音及圖像。如果信号發射器發出的信号本來就是數字信号,則不用再進行數模變換的過程,可以直接進入數字網進行傳輸。

1.2 數字通信關鍵技術

  數字通信的關鍵性技術包括編碼、調制、解調、解碼及過濾等,其中,數字信号的調制及解調是整個系統的核心也是最基本、最重要的技術。現代通信的數字化技術主要表現在以下幾個方面。

  1.信源的編碼技術

  常用的編碼方法有:

  • 脈沖編碼調制(PCM):在光纖通信系統中,光纖中傳輸的是二進制光脈沖“0”碼和“1”碼,它由二進制數字信号對光源進行調制而産生。數字信号是對連續變化的模拟信号進行抽樣、量化和編碼産生的,稱為PCM(Pulse Code Modulation),即脈沖編碼調制。
  • 增量調制(ΔM):或稱增量脈碼調制方式(DM),是繼PCM後出現的又一種模拟信号數字化的方法,1946年由法國工程師De Loraine提出,目的在于簡化模拟信号的數字化方法。增量調制主要在軍事通信和衛星通信中廣泛使用,有時也作為高速大規模內建電路中的A/D轉換器使用。

  增量調制是一種把信号上一采樣的樣值作為預測值的單純預測編碼方式。增量調制是預測編碼中最簡單的一種。它将信号瞬時值與前一個抽樣時刻的量化值之差進行量化,而且隻對這個內插補點的符号進行編碼,而不對內插補點的大小編碼。是以量化隻限于正和負兩個電平,隻用一比特傳輸一個樣值。如果內插補點是正的,就發“1”碼,若內插補點為負就發“0”碼。是以數位“1”和“0”隻是表示信号相對于前一時刻的增減,不代表信号的絕對值。同樣,在接收端,每收到一個“1”碼,譯碼器的輸出相對于前一個時刻的值上升一個量階。每收到一個“0”碼就下降一個量階。當收到連“1”碼時,表示信号連續增長,當收到連“0”碼時,表示信号連續下降。譯碼器的輸出再經過低通濾波器濾去高頻量化噪聲,進而恢複原信号,隻要抽樣頻率足夠高,量化階距大小适當,收端恢複的信号與原信号非常接近,量化噪聲可以很小。

  2.信道編碼技術

  從信道傳輸品質來看,希望在噪聲幹擾的情況下,編碼的資訊在傳輸過程中差錯愈小愈好。為此,就要求傳輸碼有檢錯和糾錯的能力,欲使檢錯(糾錯)能力愈強,就要求信道的備援度愈大,進而使信道的使用率降低。同時,信道傳輸的速率與資訊碼速率一般是不等的,有時相差很大,這是在設計通信系統時必須注意的問題。

  3.現代調制解調技術

  有效利用頻譜是無線通信發展到一定階段時所必須解決的問題,況且随着大容量和遠距離數字通信的發展,尤其是衛星通信和數字微波中繼通信,其信道是帶寬有限的和非線性的,這使傳統的數字調制解調技術面臨着新的挑戰,這就需要進一步研究一種或多種新的調制解調方式,充分節省頻譜并高效率地利用有限的頻帶,如現代的恒包絡數字調制解調技術、擴充頻譜調制解調技術。

  4.信道複用技術

  欲在同一信道内傳輸千百條話路,就需要利用信道複用技術。所謂信道複用,就是将輸入的衆多不同資訊來源的信号,在發信端進行合并後在信道上傳輸,當到達收信端後又将它們分開,恢複為原多路信号的過程,也稱為複接和分接,簡稱複用。理論上隻要使多路信号分量之間互相正交,就能實作信道複用。常用的複用方式主要有頻分複用(FDM)、時分複用(TDM)、碼分複用(CDM)和空分複用(SDM)4種。數字通信中實作複用的關鍵是需要解決多種多樣的同步問題。

  5.多址技術

  目前,現代通信是多點間的通信,即多使用者之間的互相通信方式除了傳統的交換方式外,人們需要在任何地點、任何時間,能夠與任意對象交換資訊,往往采用多址方式來予以實作。例如,衛星通信就是通過通信衛星與地球上任一個或多個地球站進行通信,而不需要專門的交換機的多址方式。多址方式有:頻分多址(FDMA)、時分多址(TDMA)、碼分多址(CDMA)空分多址(SDMA)等。

  6.通信協定

  在當今的資訊社會裡,現代通信不僅僅是國内範圍内的通信,而且是超越國界的。是以,在國内通信中需要規定統一的多種标準,以避免在通信過程中造成互相間的幹擾或因通信線路(系統)的接口不同,而無法進行通信。在國際上成立了一個專門的機構——國際電報電話咨詢委員會(CCITT),現為國際電信聯盟(ITU)和國際無線電咨詢委員會(CCIR),這兩個機構在開展工作的幾十年來,分别制定了一系列各國必須遵守的國際通信标準,并制定了為世界各國通信工作者所公認的衆多協定和建議。随着通信體制日新月異的發展,仍然還有許多新開發的領域需要制定新的标準,例如ISDN和多種網路的協定等。在設計各種通信系統時,這是必須注意的關鍵問題。

1.3 數字通信OSI模型

  國際标準化組織(ISO)釋出了開放系統互聯(OSI)參考模型,OSI參考模型是一個7層結構,如圖1.1所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  1.實體層

  實體層負責實作相鄰計算機節點之間比特流的透明傳輸,盡可能屏蔽掉具體傳輸媒體與實體裝置間的差異,使上層的資料鍊路層不必考慮網絡的具體傳輸媒體是什麼。

  2.資料鍊路層

  資料鍊路層負責建立和管理節點間的鍊路。接受來自實體層的位流形式的資料,并封裝成幀傳送到上一層;同樣,也将來自上一層的資料幀,拆裝為位流形式的資料轉發到實體層;并且還負責處理接收端發回的确認幀的資訊,以便提供可靠的資料傳輸。

  3.網絡層

  網絡層負責通過路由算法,為封包或分組通過通信子網選擇最适當的路徑。該層控制資料鍊路層與實體層之間的資訊轉發,建立、維持與終止網絡的連接配接。具體說就是,資料鍊路層的資料在這一層被轉換為資料包,然後通過路徑選擇、分段組合、順序、進/出路由等控制,将資訊從一個網絡裝置上傳送到另一個網絡裝置上。

  4.傳輸層

  傳輸層負責提供會話層和網絡層之間的傳輸服務,這種服務從會話層獲得資料,并在必要時對資料進行分割,然後,傳輸層将資料傳送到網絡層,并確定資料能準确無誤地傳送到網絡層。是以,傳輸層負責提供兩節點之間資料的可靠傳送,當兩節點的聯系确定之後,傳輸層負責監督工作。

  5.會話層

  會話層負責向兩個實體的表示層提供建立和使用連接配接的方法,将不同實體之間的表示層的連接配接稱為會話。是以會話層的任務就是組織和協調兩個會話程序之間的通信,并對資料交換進行管理。

  6.表示層

  表示層負責對來自應用層的指令和資料進行解釋,對各種文法賦予相應的含義,并按照一定的格式傳送給會話層。

  7.應用層

  應用層負責直接向使用者提供服務,完成使用者希望在網絡上完成的各種工作。它在其他6層工作的基礎上,負責完成網絡中應用程式與網絡作業系統之間的聯系,建立與結束使用者之間的聯系,并完成網絡使用者提出的各種網絡服務及應用所需的監督、管理和服務等各種協定。此外,該層還負責協調各個應用程式間的工作。

  由于OSI是一個理想的模型,是以一般網絡系統隻涉及其中的幾層,很少有系統能夠具有完整的7層,并完全遵循它的規定。在7層模型中,每一層都提供一個特殊的網絡功能。從網絡功能的角度觀察:下面4層(實體層、資料鍊路層、網絡層和傳輸層)主要提供資料傳輸和交換功能,即以節點到節點之間的通信為主;第4層作為上下兩部分的橋梁,是整個網絡體系結構中最關鍵的部分;而上3層(會話層、表示層和應用層)則以提供使用者與應用程式之間的資訊和資料處理功能為主。簡言之,下4層主要完成通信子網的功能,上3層主要完成資源子網的功能。

  有一個很容易了解OSI 七層模型的例子,最初推出這個模型,是為了滿足美國科學家需要在兩台計算機之間進行通信的需求。

  (1)需求1

  科學家們要解決的第一個問題是兩台計算機之間怎麼通信。具體展現就是一台計算機發出比特流,另一台計算機能收到。

  于是,科學家們提出了實體層的概念:主要定義實體裝置标準,如網線的接口類型、光纖的接口類型,以及各種傳輸媒體的傳輸速率等。它的主要作用是傳輸比特流(就是由1、0轉化為電流強弱來進行傳輸,到達目的地後再轉化為1、0,也就是我們常說的數模轉換與模數轉換)。這一層的資料叫做比特。

  (2)需求2

  現在能通過電線發資料流了,但是還希望通過無線電波或其他媒體來傳輸,而且還要保證傳輸過去的比特流是正确的,要有糾錯功能。

  于是,科學家們又提出了資料鍊路層的概念:通過各種控制協定,将有差錯的實體信道變為無差錯的、能可靠傳輸資料幀的資料鍊路。

  (3)需求3

  現在可以在兩台計算機之間發送資料了,那麼如果要在多台計算機之間發送資料呢?怎麼找到原始發出(源)的那台?或者,A要給F發資訊,中間要經過B、C、D、E,但是中間還有好多節點如K、J、Z、Y。怎麼選擇最佳路徑?這就是路由要做的事。

  于是,科學家們又提出了網絡層的概念:通過路由算法,為封包或分組通過通信子網選擇最适當的路徑。該層控制資料鍊路層與實體層之間的資訊轉發,建立、維持與終止網絡的連接配接。具體地說,資料鍊路層的資料在這一層被轉換為資料包,然後通過路徑選擇、分段組合、順序、進/出路由等控制,将資訊從一個網絡裝置傳送到另一個網絡裝置上。一般,資料鍊路層是解決同一網絡内節點之間的通信,而網絡層主要解決不同子網之間的通信,例如路由選擇問題。

  (4)需求4

  現在能正确地發送比特流資料到另一台計算機上了,但是當發送大量資料時候,可能需要很長時間,例如一個視訊格式的檔案,網絡會中斷很多次(事實上,即使有了實體層和資料鍊路層,網絡還是會經常中斷,隻是中斷的時間是毫秒級别),是以還需要保證傳輸大量檔案時的準确性。是以,要對發出去的資料進行封裝,就像發快遞一樣,一個一個地發。

  于是,科學家們又提出了傳輸層的概念:向使用者提供可靠的、端到端的差錯和流量控制,保證封包的正确傳輸。提供建立、連接配接和拆除傳輸連接配接的功能。傳輸層在網絡層基礎上提供“面向連接配接”和“面向無連接配接”兩種服務。例如TCP,是用于發送大量資料的,我發了1萬個包出去,另一台計算機就要告訴我是否接收到了1萬個包,如果缺了3個包,就告訴我第1001個包、第234個包和第8888個包丢了,那麼我會再發一次,這樣就能保證對方把這個視訊完整接收了。

  例如UDP,是用于發送少量資料的。我發20個包出去,一般不會丢包,是以,我不管你收到多少個。在多人互動遊戲中也經常用UDP協定,因為一般都是簡單的資訊,而且有廣播的需求。如果用TCP,效率就會降低,因為它會不停地告訴主機:我收到了20個包,或者我收到了18個包,再發我兩個!如果同時有1萬台計算機都這樣做,那麼用TCP反而會降低效率,不如用UDP,主機發出去就算了,如果你丢了幾個包至多就卡一下,下次再發包時你再更新即可。

  (5)需求5

  現在我們已經保證給正确的計算機發送正确的封裝過後的資訊了。但是使用者級别的體驗好不好?難道我每次都要調用TCP去打包,然後調用IP協定去找路由,自己去發?當然不行,是以我們要建立一個自動收發包、自動尋址的功能。

  于是,科學家們又提出了會話層的概念:建立和管理應用程式之間的通信。允許使用者在兩個實體裝置之間建立、維持和終止會話,并支援它們之間的資料交換。例如提供單方向會話或雙向同時會話,并管理會話中的發送順序,以及會話所占用的時間長短。

  (6)需求6

  現在我能保證應用程式自動收發包和尋址了。但是要用Linux給Windows發包,兩個系統的文法不一緻,就像安裝包一樣,exe是不能在Linux系統上用的,shell在Windows系統上也是不能直接運作的。于是需要表示層,幫助解決不同系統之間通信的文法問題。

  (7)需求7

  現在所有必要條件都準備好了,我們可以寫個Android程式,web程式去實作需求。

  因為OSI模型的層數太多,順序也不好記憶,于是有人就用All People Seem To Need Data Processing來幫助記憶,因為這7個單詞的首字母和OSI模型每一層的首字母是一樣的。

1.4 TCP/IP網絡通信協定

  通信協定對物聯網來說十分常用且關鍵,無論是近距離無線傳輸技術還是移動通信技術,都影響着物聯網的發展。通信協定是指雙方實體完成通信或服務所必須遵循的規則和約定。

  我們将物聯網協定分為兩大類,一類是傳輸協定,一類是通信協定。傳輸協定一般負責子網内裝置間的組網及通信。通信協定則主要是運作在傳統網際網路TCP/IP協定之上的裝置通信協定,負責裝置通過網際網路進行資料交換及通信。

  物聯網的通信環境有Ethernet、Wi-Fi、RFID、NFC(近距離無線通信)、ZigBee、6LoWPAN(IPv6低速無線版本)、Bluetooth、GSM、GPRS、GPS、3G和4G等網絡,而每一種通信應用協定都有一定的适用範圍。AMQP、JMS和HTTP都是工作在以太網的協定,CoAP協定是專門為資源受限裝置開發的協定,MQTT的相容性則強很多。

1.4.1 TCP/IP協定

  網際網路的發展很大程度上要歸功于Vinton Cerf和Robert Kahn這對老搭檔。他們在20世紀70年代設計的TCP/IP協定奠定了現代網絡的基石,也是以獲得了計算機界的最高榮譽——圖靈獎。

  TCP/IP的設計非常成功。幾十年來,底層的帶寬、延時,還有媒體都發生了翻天覆地的變化,頂層也多了不少應用,但TCP/IP卻安如泰山。它不但戰勝了國際标準化組織的OSI七層模型,而且目前還看不到被其他方案取代的可能。第一代從事TCP/IP工作的工程師,到了退休年齡也在做着朝陽産業。OSI七層模型過于笨重,在實際應用中,市場明顯更青睐TCP/IP四層模型。

  TCP/IP是一個四層協定系統,如圖1.2所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  每一層負責不同的功能。

  • 鍊路層:也稱資料鍊路層或網絡接口層。包括作業系統中的裝置驅動程式和計算機中對應的網絡接口卡。它們一起處理與電纜(或其他任何傳輸媒介)的實體接口細節。
  • 網絡層:也稱網際網路層。處理分組在網絡中的活動,例如分組的選路。
  • 運輸層:也稱傳輸層。主要為兩台主機上的應用程式提供端到端的通信。
  • 應用層:負責處理特定的應用程式細節。

  TCP/IP協定族具體包含多個協定,如圖1.3所示。

  IP協定負責資料傳輸到哪裡,而TCP協定負責資料的可靠傳輸。它們在資料傳輸過程中主要完成以下功能:

  (1)由TCP協定把資料分成若幹資料包,給每個資料包寫上序号,以便接收端把資料還原成原來的格式。

  (2)IP協定給每個資料包寫上發送主機和接收主機的位址,一旦寫上源位址和目的位址,資料包就可以在網際網路上傳送資料了。IP協定還具有利用路由算法進行路由選擇的功能。

  (3)這些資料包可以通過不同的傳輸途徑(路由)進行傳輸,由于路徑不同,加上其他的原因,可能出現順序颠倒、資料丢失、資料失真甚至重複的現象。這些問題都由TCP協定來處理,它具有檢查和處理錯誤的功能,必要時還可以請求發送端重發。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  TCP/IP協定族跟OSI模型的對比,如圖1.4所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  網際網路時代,TCP/IP協定已經一統江湖,現在的物聯網的通信架構也是建構在傳統網際網路基礎架構之上。在目前的網際網路通信協定中,HTTP協定由于開發成本低,開放程度高的優勢,幾乎占據了大半江山,是以很多廠商在建構物聯網系統時也基于HTTP協定進行開發。包括Google主導的physic web項目,都是期望在傳統Web技術基礎上建構物聯網協定标準。

  HTTP協定是典型的CS通信模式,由用戶端主動發起連接配接,向伺服器請求XML或JSON資料。該協定最早是為了适用Web浏覽器的上網浏覽場景而設計的,目前在PC、手機、Pad等終端上都應用廣泛,但并不适用于物聯網場景。HTTP協定在物聯網場景中應用有以下三大弊端:

  • 必須由裝置主動向伺服器發送資料,難以主動向裝置推送資料。這對于資料采集等場景還可以勉強适用,但是對于頻繁的操控場景,隻能通過裝置定期主動拉取的方式,實作成本和實時性都大打折扣。
  • 安全性不高。由于Web的不安全性,HTTP是明文協定,在很多要求高安全性的物聯網場景,如果不做很多安全準備工作(如采用https等),後果将不堪設想。
  • 不同于使用者互動終端如PC、手機,物聯網場景中的裝置多樣化,對于運算和存儲資源都十分受限的裝置,HTTP協定實作、XML/JSON資料格式的解析,都是不可能的任務。

1.4.2 CoAP協定

  CoAP(Constrained Application Protocol,受限應用協定),應用于無線傳感網中的協定,是6LowPAN協定棧中的應用層協定,适用于資源受限的通信網絡。

  CoAP協定的特點如下:

  • 報頭壓縮:CoAP包含一個緊湊的二進制報頭和擴充報頭。它隻有短短的4B的基本報頭,基本報頭後面跟擴充選項。一個典型的請求報頭為10~20B。
  • 方法和URIs:為了實作用戶端通路伺服器上的資源,CoAP支援GET、PUT、POST和DELETE等方法。CoAP還支援URIs,這是Web架構的主要特點。
  • 傳輸層使用UDP協定:CoAP協定是建立在UDP協定之上,以減少開銷和支援多點傳播功能。它也支援一個簡單的停止和等待的可靠性傳輸機制。
  • 支援異步通信:HTTP對M2M(Machine-to-Machine)通信不适用,這是由于事務總是由用戶端發起。而CoAP協定支援異步通信,這對M2M通信應用來說是常見的休眠/喚醒機制。
  • 支援資源發現:為了自主地發現和使用資源,它支援内置的資源發現格式,用于發現裝置上的資源清單,或者用于裝置向服務目錄公告自己的資源。它支援RFC5785中的格式,在CoAP中用/.well—known/core路徑表示資源描述。
  • 支援緩存:CoAP協定支援資源描述的緩存,可以優化其性能。

  CoAP協定主要實作:

  • libcoap(C語言實作);
  • Californium(Java語言實作)。

  CoAP和6LowPan,分别是應用層協定和網絡适配層協定,其目标是解決裝置直接連接配接到IP網絡,也就是IP技術應用到裝置之間、網際網路與裝置之間的通信需求。因為IPV6技術帶來了巨大的尋址空間,不光解決了未來巨量裝置和資源的辨別問題,也使網際網路上的應用可以直接通路支援IPv6的裝置,而不需要額外的網關。

1.4.3 MQTT協定(低帶寬)

  MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸),是由IBM開發的即時通信協定,相比來說是比較适合物聯網場景的通信協定。MQTT協定采用釋出/訂閱模式,所有的物聯網終端都通過TCP連接配接到雲端,雲端通過主題的方式管理各個裝置關注的通信内容,負責裝置與裝置之間的消息轉發。

  MQTT在協定設計時就考慮到不同裝置的計算性能的差異,是以所有的協定都是采用二進制格式編/解碼,并且編/解碼格式非常易于開發和實作。其最小的資料包隻有2個位元組,對于低功耗、低速網絡也有很好的适應性。MQTT有非常完善的QoS(Quality of Service)機制,根據業務場景可以選擇最多一次、至少一次、剛好一次的3種消息送達模式。其運作在TCP協定之上,同時支援TLS(TCP+SSL)協定,并且由于所有資料通信都經過雲端,安全性得到了較好的保障。

  MQTT協定的适用範圍:在低帶寬、不可靠的網絡下,提供基于雲平台的遠端裝置的資料傳輸和監控。

  MQTT協定的特點:

  • 使用基于代理的釋出/訂閱消息模式,提供一對多的消息釋出模式。
  • 使用TCP/IP提供網絡連接配接。
  • 小型傳輸,開銷很小(固定長度的頭部是2位元組),協定交換最小化,以降低網絡流量。
  • 支援QoS,有3種消息釋出服務品質:即至多一次、至少一次、隻有一次。

  MQTT協定主要實作和應用:

  • 已經有PHP、Java、Python、C和C#等多個語言版本的協定架構。
  • IBM Bluemix的一個重要部分是其IoT Foundation服務,這是一項基于雲的MQTT執行個體。
  • 移動應用程式也早就開始使用MQTT,如 Facebook Messenger 和com等。

  MQTT協定一般适用于裝置資料采集到端(Device→Server,Device→Gateway),屬于集中星型網絡架構(hub-and-spoke),不适用裝置與裝置之間通信,裝置控制能力弱。另外,其實時性較差,一般都在秒級。

1.4.4 AMQP協定(互操作性)

  AMQP(Advanced Message Queuing Protocol,先進消息隊列協定),是OASIS組織提出的,該組織曾提出OSLC(Open Source Lifecyle)标準,用于業務系統,例如PLM、ERP、MES等進行資料交換。

  AMQP協定适用範圍:最早應用于金融系統之間的交易消息傳遞,在物聯網應用中,主要适用于移動手持裝置與背景資料中心的通信和分析。

  AMQP協定特點:

  • Wire級的協定,它描述了在網絡上傳輸資料的格式,以位元組為流。(注:位元組流是由位元組組成的,字元流是由字元組成的)
  • 面向消息、隊列、路由(包括點對點和釋出/訂閱),可靠、安全。

  AMQP協定有廣泛的用途,一些廠商使用了不同的語言編寫AMQP協定實作軟體,以達到消息傳遞的目的。不同的AMQP實作軟體,可運作在不同的軟體環境下。下面列出了4種AMQP協定軟體實作的程式設計語言和運作環境。

  • OpenAMQ:AMQP的開源實作,用C語言編寫,運作于Linux、AIX、Solaris、Windows、和OpenVMS系統。
  • Apache Qpid:Apache的開源項目,支援C++、Ruby、Java、JMS、Python和.NET。
  • Redhat Enterprise MRG:實作了AMQP的最新版本0~10,提供了豐富的特征集,比如完全管理、聯合、Active-Active叢集,有Web控制台,還有許多企業級特征,用戶端支援C++、Ruby、Java、JMS、Python和.NET。
  • RabbitMQ:一個獨立的開源實作,伺服器端用Erlang語言編寫,支援多種用戶端,如Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP和STOMP等,支援AJAX。

    RabbitMQ釋出在Ubuntu和FreeBSD平台。

  AMQP工作流程:釋出者(Publisher)釋出消息(Message),經由交換機(Exchange)。交換機根據路由規則将收到的消息分發給與該交換機綁定的隊列(Queue)。最後AMQP代理會将消息投遞給訂閱了此隊列的消費者,或者消費者按照需求自行擷取。具體工作流程如圖1.5所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

1.4.5 XMPP協定(即時通信)

  XMPP(Extensible Messaging and Presence Protocol,可擴充通信和表示協定),其前身是Jabber,是一個開源組織産生的網絡即時通信協定,後被IETF國際标準組織完成了标準化工作。

  XMPP協定的适用範圍:用于即時通信的應用程式中,還能用在網絡管理、内容供稿、協同工具、檔案共享、遊戲和遠端系統監控中等。

  XMPP協定的特點:

  • 屬于客戶機/伺服器通信模式。
  • 用于分布式網絡。
  • 簡單的用戶端,将大多數工作放在伺服器端進行。
  • 标準通用标記語言的子集XML的資料格式。

  XMPP是基于XML的協定,由于其開放性和易用性,在網際網路及時通信應用中運用廣泛。相對HTTP,XMPP在通信的業務流程上是更适合物聯網系統的,開發者不用花太多心思去解決裝置通信時的業務通信流程,相對開發成本會更低。但是HTTP協定中的安全性及計算資源消耗的硬傷并沒有得到本質的解決。

1.4.6 JMS協定

  JMS(Java Message Service,Java消息服務),是Java平台中著名的消息隊列協定。

  Java消息服務(Java Message Service)應用程式接口,是一個Java平台中關于面向消息中間件(MOM)的API,用于在兩個應用程式之間或分布式系統中發送消息,進行異步通信。Java消息服務是一個與具體平台無關的API,絕大多數MOM提供商都對JMS提供支援。

  JMS是一種與廠商無關的API,用來收發系統消息,它類似于JDBC(Java Data Base Connectivity)。這裡,JDBC是可以用來通路許多不同關系資料庫的API,而JMS則提供同樣與廠商無關的通路方法,以通路消息收發服務。JMS能夠通過消息收發服務(有時稱為消息中介程式或路由器)從一個JMS客戶機向另一個JMS客戶機發送消息。消息是JMS中的一種類型對象,由兩部分組成:即報頭和消息主體。報頭由路由資訊及有關該消息的中繼資料組成。消息主體則攜帶着應用程式的資料或有效負載。根據有效負載的類型來劃分,可以将消息分為幾種類型,分别是:文本消息(TextMessage)、目标消息(ObjectMessage)、消息映射(MapMessage)、消息位元組(BytesMessage)、消息流(StreamMessage)和無有效負載的消息(Message)。

  MQTT、AMQP、XMPP、JMS和CoAP這幾種協定都已被廣泛應用,并且每種協定至少有10種以上的代碼實作,都宣稱支援實時的釋出/訂閱的物聯網協定,但是在具體物聯網系統架構設計時,需考慮實際場景的通信需求,選擇合适的協定。MQTT、XMPP和和CoAP的比較如表1.1所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

1.5 UDP協定

  UDP為應用程式發送和接收資料報,但是與TCP不同,UDP是不可靠的,它隻是把資料報發送出去,但并不能保證該資料報能安全無誤地到達最終目的地。

  說到UDP,經常拿它與TCP來對比。UDP是無須連接配接的,是以非常适合DNS查詢。如圖1.5和圖1.6是分别在基于UDP和TCP時執行DNS查詢的兩個包,前者明顯更加直截了當,兩個包就完成了。

  基于UDP的查詢如表1.2所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  基于TCP的查詢如表1.3所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術
帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  UDP為什麼能如此直接呢?其實是因為它設計簡單,在UDP協定頭中,隻有端口号、包長度和校驗碼等少量資訊,總共就8個位元組,其小巧的頭部給它帶來了一些優點。

  • 由于UDP協定頭長度還不到TCP頭的一半,是以在同樣大小的包裡,UDP包攜帶的淨資料比TCP包多一些。
  • 由于UDP沒有序列号(seq)和應答(ack)等概念,無法維持一個連接配接,是以省去了建立連接配接的負擔。這個優勢在DNS查詢中展現得淋漓盡緻。

  UDP資料報封裝成一份 I P資料報的格式,如圖1.6所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  UDP首部的各字段如圖1.7所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  端口号表示發送程序和接收程序。

  UDP長度字段指的是UDP首部和UDP資料的位元組長度。該字段的最小值為8位元組(發送一份0位元組的UDP資料報是OK)。這個UDP長度是有備援的。IP資料報長度指的是資料報全長,是以UDP資料報長度是全長減去IP首部的長度。

  當然簡單的設計不一定是好事,更多的時候會帶來問題。

  UDP不像TCP一樣在乎雙方MTU(Maximum Transmission Unit,最大傳輸單元)的大小。它拿到應用層的資料之後,直接打上UDP頭就交給下一層了。那麼超過MTU的時候怎麼辦?

  在這種情況下,發送方的網絡層負責分片,接收方收到分片後再組裝起來,這個過程會消耗資源,降低性能。

  UDP沒有重傳機制,是以丢包由應用層來處理。例如,某個寫操作需要6個包完成。當基于UDP的寫操作中有一個包丢失時,用戶端不得不重傳整個寫操作(6個包)。相比之下,基于TCP的寫操作就好很多,隻要重傳丢失的那一個包即可。試想一下,在高性能環境中,一個寫操作需要數十個包來完成,UDP的劣勢就展現出來了。

  分片機制存在弱點,會成為黑客的攻擊目标。接收方之是以知道什麼時候該把分片組裝起來,是因為每個包裡都有More fragments的flag。1表示後續還有分片,0則表示這是最後一個分片,可以組裝了。如果黑客持續快速地發送flag為1的UDP包,接收方一直無法把這些包組裝起來,就有可能耗盡記憶體。

1.6 HTTP協定

  HTTP協定(Hyper Text Transfer Protocol,超文本傳輸協定),是用于從網際網路(World Wide Web,WWW)伺服器傳輸超文本到本地浏覽器的傳送協定。

  HTTP是基于TCP/IP通信協定來傳遞資料的(如HTML檔案、圖檔檔案和查詢結果等)。

1.6.1 工作原理

  HTTP協定工作于用戶端-服務端架構上。浏覽器作為HTTP用戶端通過URL向HTTP服務端即Web伺服器發送所有請求。

  Web伺服器有:Apache伺服器和IIS伺服器(Internet Information Services)等。Web伺服器根據接收到的請求後,向用戶端發送響應資訊。HTTP預設端口号為80,但是也可以改為8080或者其他端口。

  HTTP協定的三點注意事項:

  • HTTP是無連接配接的:無連接配接的含義是限制每次連接配接隻處理一個請求。伺服器處理完客戶的請求,并收到客戶的應答後即斷開連接配接。采用這種方式可以節省傳輸時間。
  • HTTP是媒體獨立的:這意味着,隻要用戶端和伺服器知道如何處理的資料内容,任何類型的資料都可以通過HTTP發送。用戶端及伺服器指定使用适合的MIME-type(檔案字尾名)内容類型。
  • HTTP是無狀态的:HTTP協定是無狀态協定。無狀态是指協定對于事務處理沒有記憶能力。缺少狀态意味着如果後續處理需要前面的資訊,則它必須重傳,這樣可能導緻每次連接配接傳送的資料量增大。另一方面,在伺服器不需要前面的資訊時它的應答就較快。

  如圖1.8所示為HTTP協定通信流程。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

1.6.2 消息結構

  HTTP是基于用戶端/服務端(C/S)的架構模型,通過一個可靠的連結來交換資訊,是一個無狀态的請求/響應協定。

  一個HTTP“用戶端”是一個應用程式(Web浏覽器或其他任何用戶端),通過連接配接到伺服器達到向伺服器發送一個或多個HTTP請求的目的。

  一個HTTP“伺服器”同樣也是一個應用程式(通常是一個Web服務,如Apache Web伺服器或IIS伺服器等),通過接收用戶端的請求并向用戶端發送HTTP響應資料。

  HTTP使用統一資源辨別符(Uniform Resource Identifiers,URI)來傳輸資料和建立連接配接。

  一旦建立連接配接後,資料消息就通過類似Internet郵件所使用的格式[RFC5322]和多用途Internet郵件擴充(MIME)[RFC2045]來傳送。

  用戶端請求消息:用戶端發送一個HTTP請求到伺服器的請求消息包括請求行(request line)、請求頭部(header)、空行和請求資料4個部分組成,如圖1.9給出了請求封包的一般格式。

  伺服器響應消息:HTTP響應也由4部分組成,分别是狀态行、消息報頭、空行和響應正文,如圖1.10所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術
帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

1.6.3 請求方法

  根據HTTP标準,HTTP請求可以使用多種請求方法,如表1.4所示。

  HTTP 1.0協定中定義了3種請求方法,分别是GET、POST和HEAD方法。

  HTTP 1.1協定中新增了5種請求方法,分别是OPTIONS、PUT、DELETE、TRACE和CONNECT方法。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

1.6.4 響應頭資訊

  HTTP請求頭提供了關于請求、響應或者其他發送實體的資訊。在本節中将具體介紹HTTP響應頭資訊,如表1.5所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術
帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

1.6.5 狀态碼

  當浏覽者通路一個網頁時,其浏覽器會向網頁所在伺服器送出請求。當浏覽器接收并顯示網頁前,此網頁所在的伺服器會傳回一個包含HTTP狀态碼的資訊頭(server header)用以響應浏覽器的請求。

  HTTP狀态碼的英文為HTTP Status Code。下面是常見的HTTP狀态碼:

  • 200:請求成功;
  • 301:資源(網頁等)被永久轉移到其他URL;
  • 404:請求的資源(網頁等)不存在;
  • 500:内部伺服器錯誤。

1.6.6 内容類型

  Content-Type(内容類型),一般是指網頁中存在的Content-Type,用于定義網絡檔案的類型和網頁的編碼,決定浏覽器将以什麼形式、什麼編碼讀取這個檔案,這就是為什麼一些ASP網頁點選下載下傳的結果卻是一個檔案或一張圖檔的原因。

1.7 FTP協定

  FTP與我們已描述的另一種應用不同,它采用兩個 TCP連接配接來傳輸一個檔案。

  控制連接配接以通常的客戶伺服器方式建立。伺服器以被動方式打開用于FTP的端口(21),等待客戶的連接配接。客戶則以主動方式打開TCP端口21,來建立連接配接。控制連接配接始終等待客戶與伺服器之間的通信。該連接配接将指令從客戶傳給伺服器,并傳回伺服器的應答。

  由于指令通常是由使用者輸入的,是以IP對控制連接配接的服務類型就是“最大限度地減小遲延”。

  每當一個檔案在客戶與伺服器之間傳輸時,就建立一個資料連接配接。由于該連接配接用于傳輸目的,是以IP對資料連接配接的服務特點就是“最大限度提高吞吐量”。如圖1.11所示為客戶與伺服器之間的連接配接情況。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  從圖1.11中可以看出,互動式使用者通常不處理在控制連接配接中轉換的指令和應答。這些細節均由兩個協定解釋器來完成。标有“使用者接口”的方框功能是按使用者所需提供各種互動界面(全螢幕菜單選擇,逐行輸入指令等),并把它們轉換成在控制連接配接上發送的 FTP指令。

  類似地,從控制連接配接上傳回的伺服器應答也被轉換成使用者所需的互動格式。

  從圖1.11中還可以看出,正是這兩個協定解釋器根據需要激活檔案傳送功能。

  FTP協定規範提供了控制檔案傳送與存儲的多種選擇。在以下4個部分的選擇項中,每一部分都必須選擇一項。

  1.檔案類型

  • ASCII碼檔案類型(預設選擇):文本檔案以NVT ASCII碼形式在資料連接配接中傳輸。這要求發送方将本地文本檔案轉換成NVT ASCII碼形式,而接收方則将NVT ASCII碼再還原成本地文本檔案。其中,用NVT ASCII碼傳輸的每行都帶有一個回車,之後是一個換行。這意味着接收方必須掃描每個位元組,查找CR、LF對。
  • EBCDIC檔案類型:該文本檔案傳輸方式要求兩端都是 EBCDIC系統。
  • 圖像檔案類型(也稱為二進制檔案類型):資料發送呈現為一個連續的比特流。通常用于傳輸二進制檔案。
    • 本地檔案類型:該方式在具有不同位元組大小的主機間傳輸二進制檔案。每一位元組的比特數由發送方規定。對使用8bit位元組的系統來說,本地檔案以8bit位元組傳輸就等同于圖像檔案傳輸。

  2.格式控制

  格式控制選項隻對ASCII和EBCDIC檔案類型有效。

  • 非列印(預設選擇):檔案中不含有垂直格式資訊。
  • 遠端登入格式控制:檔案含有向列印機解釋的遠端登入垂直格式控制。
  • Fortran 回車控制:每行首字元是Fortran格式控制符。

  3.結構

  • 檔案結構(預設選擇):檔案被認為是一個連續的位元組流。不存在内部的檔案結構。
  • 記錄結構:該結構隻用于文本檔案(ASCII或EBCDIC)。
  • 頁結構:每頁都帶有頁号發送,以便接收方能随機地存儲各頁。該結構由TOPS - 20作業系統提供(主機需求RFC不提倡采用該結構)。

  4.傳輸方式

  它規定檔案在資料連接配接中如何傳輸。

  • 流方式(預設選擇):檔案以位元組流的形式傳輸。對于檔案結構,發送方在檔案尾提示關閉資料連接配接。對于記錄結構,有專用的兩位元組序列碼标志記錄結束和檔案結束。
  • 塊方式:檔案以一系列塊來傳輸,每塊前面都帶有一個或多個首部位元組。
  • 壓縮方式:一個簡單的全長編碼壓縮方法,壓縮連續出現的相同位元組。在文本檔案中常用來壓縮空白串,在二進制檔案中常用來壓縮 0位元組(這種方式很少使用,也不受支援。現在有一些更好的檔案壓縮方式支援FTP)。

  如果算一下以上所有選擇的排列組合數,那麼對傳輸和存儲一個檔案來說就有72種不同的方式。幸運的是,其中很多選擇或是廢棄了,或是不為多數實作環境所支援,是以可以忽略掉。

  通常由UNIX實作的FTP客戶和伺服器限制了我們的選擇:

  • 類型:ASCII或圖像;
  • 格式控制:隻允許非列印;
  • 結構:隻允許檔案結構;
  • 傳輸方式:隻允許流方式。

  這就限制我們隻能取一或兩種方式:ASCII或圖像(二進制)。

  該實作滿足主機需求RFC的最小需求(該RFC也要求能支援記錄結構,但隻有作業系統支援它才可以,而UNIX則不支援)。

  很多非UNIX的實作提供了處理它們自己的檔案格式的FTP功能。主機需求RFC指出“FTP協定有很多特征,雖然其中一些通常不實作,但對FTP中的每一個特征來說,都存在着至少一種實作”

1.8 Bluetooth協定

  藍牙技術是一種尖端的開放式無線通信标準,能夠在短距離範圍内無線連接配接桌上型電腦與筆記本電腦、便攜裝置、PDA、行動電話、拍照手機、列印機、數位相機、耳麥、鍵盤甚至滑鼠。

  利用“藍牙”技術,能夠有效地簡化移動通信終端裝置之間的通信,也能夠簡化裝置與網際網路之間的通信,進而資料傳輸變得更加迅速高效。

  藍牙采用分散式網絡結構以及快跳頻和短包技術,支援點對點及點對多點通信,工作在全球通用的2.4GHz ISM(即工業、科學、醫學)頻段。其資料速率為1Mbps。采用時分雙工傳輸方案實作全雙工傳輸。

  簡而言之,藍牙技術讓各種數位裝置之間能夠無線溝通。有了藍牙無線技術,可以輕松連接配接計算機和便攜裝置、行動電話及其他外圍裝置——在9米(30英尺)距離之内以無線方式彼此連接配接。

  相比于其他無線技術:紅外、無線2.4G、Wi-Fi來說,藍牙具有加密措施完善、傳輸過程穩定及相容裝置豐富等諸多優點。尤其是在授權門檻逐漸降低的今天,藍牙技術開始真正普及到所有的數位裝置中。

1.8.1 Bluetooth發展史及優勢

  目前藍牙技術最新的協定是藍牙技術聯盟 (Bluetooth Special Interest Group),是2016年6月16日釋出的新一代藍牙标準——藍牙5。藍牙5比原來擁有更快的傳輸速度,更遠的傳輸距離。

  藍牙名字源于一個小故事。公元940—985年,哈洛德·布美塔特(Harald Blatand,後人稱Harald Bluetooth)統一了整個丹麥。他的名字Blatand可能取自兩個古老的丹麥詞語,bla意思是黑皮膚的,而tan是偉人的含義。和許多君王一樣 ,哈洛德四處擴張領土,為政治、經濟和榮譽而征戰。公元960年哈洛德到達了他權力的最高點,征服了整個丹麥和挪威。而藍牙是這個丹麥國王Viking的“綽号”,因為他愛吃藍梅,牙齒被染藍,是以而得這一“綽号”。

  在行業協會籌備階段,需要一個極具有表現力的名字來命名這項高新技術。行業組織人員,在經過一夜關于歐洲曆史和未來無線技術發展的讨論後,有些人認為用Blatand國王的名字命名再合适不過了。Blatand國王将挪威、瑞典和丹麥統一起來;他的口齒伶俐,善于交際,就如同這項即将面世的技術。該項技術将被定義為允許不同工業領域之間的協調工作,保持着各個系統領域之間的良好交流,例如計算機、手機和汽車行業之間的工作。

  為什麼要推出藍牙?

  藍牙技術最初由愛立信創制。該技術始于愛立信公司的1994方案,它是研究在行動電話和其他配件間進行低功耗、低成本無線通信連接配接的方法。發明者希望為裝置間的通信創造一組統一規則(标準化協定),以解決使用者間互不相容的移動電子裝置。

  研究的目的是要找到一種方法,能夠除掉連接配接行動電話和PC卡、耳機、台式計算機及其他裝置之間的電纜。此項研究是一個大項目中的一部分,該項目主要研究如何将各種不同的通信裝置通過行動電話接入蜂窩網上。經項目人員研究得出結論,這種連接配接的最後一段應該是短距離的無線連接配接。随着項目的進展,日益明朗化的是短距離無線通信的應用範圍幾乎無限廣闊。

  1997年,愛立信公司借此概念接觸了移動裝置制造商,讨論其項目合作發展,結果獲得支援。1998年5月,愛立信、諾基亞、東芝、IBM和英特爾5家公司,在聯合開展短距離無線通信技術的标準化活動時提出了藍牙技術。

  1999年5月20日,這5家公司成立了藍牙“特别興趣組”(Special Interest Group,SIG),即藍牙技術聯盟的前身,以使藍牙技術能夠成為未來的無線通信标準。晶片“霸主”英特爾公司負責半導體晶片和傳輸軟體的開發,愛立信公司負責無線射頻和行動電話軟體的開發,IBM和東芝公司負責筆記本電腦接口規格的開發。

  1999年下半年,著名的業界“巨頭”微軟、摩托羅拉、三星、朗訊與藍牙特别小組的5家公司共同發起成立了藍牙技術推廣組織,進而在全球範圍内掀起了一股“藍牙”熱潮。全球業界開發出了一大批藍牙技術的應用産品,使藍牙技術呈現出極其廣闊的市場前景,迎來了波瀾壯闊的全球無線通信浪潮。

  到2000年4月,SIG的成員數已超過1500家,其成長速度超過了其他的無線聯盟組織。這些公司聯合開發了藍牙1.0标準,并于1999年7月公布。藍牙的詳細發展史如表1.6所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  目前最新的藍牙5.0相對之前的版本有更大的技術優勢,表現在以下幾方面:

  • 更快的傳輸速度:藍牙5.0的開發人員稱,新版本的藍牙傳輸速度上限為24Mbps,是之前4.2LE版本的兩倍。
  • 更遠的有效距離:藍牙5.0的另外一個重要改進是,它的有效距離是上一版本的4倍,理論上,藍牙發射和接收裝置之間的有效工作距離可達300米。
  • 導航功能:藍牙5.0将添加更多的導航功能,是以該技術可以作為室内導航信标或類似定位裝置使用,結合Wi-Fi可以實作精度小于1米的室内定位。舉個例子,如果你和小編一樣是路癡的話,你可以使用藍牙技術,在諾大的商業中心找到路。
  • 物聯網功能:物聯網還在持續火爆,是以,藍牙5.0針對物聯網進行了很多底層優化,力求以更低的功耗和更高的性能為智能家居服務。
  • 更新硬體:之前的一些藍牙版本更新隻要求更新軟體,但藍牙5.0很可能要求更新到新的晶片。不過,舊的硬體仍可以相容藍牙5.0,但無法享用其新的性能了。搭載藍牙5.0晶片的“旗艦”級手機已經問世,相信中低端手機也将陸陸續續内置藍牙5.0晶片。
    • 更多的傳輸功能:全新的藍牙5.0能夠增加更多的資料傳輸功能,硬體廠商可以通過藍牙5.0建立更複雜的連接配接系統,比如Beacon或位置服務。是以通過藍牙裝置發送的廣告資料可以發送少量資訊到目标裝置中,甚至無須配對。
  • 更低的功耗:藍牙5.0降低了藍牙的功耗,使人們在使用藍牙的過程中再也不必擔心待機時間短的問題。

1.8.2 Bluetooth技術

  目前主流的作業系統都支援藍牙堆棧技術。藍牙協定棧的結構如圖1.12所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  蘋果公司從2012年的Mac OS X v10.2産品就開始采用藍牙技術。關于微軟平台,Windows在XP時代就對Bluetooth 1.1/2.0/2.0+EDR提供了原生支援。Linux有兩個常用的藍牙堆棧,即BlueZ和Affix。多數Linux核心程式都包括BlueZ堆棧,它最早是由高通開發的。Affix堆棧是由Nokia開發的。FreeBSD從5.0版本開始支援藍牙。NetBSD從4.0版本開始支援藍牙。藍牙堆棧也被接入OpenBSD端口。

  藍牙協定體系中的協定按SIG的關注程度分為4層:

  • 核心協定:BaseBand、LMP、L2CAP、SDP;
  • 電纜替代協定:RFCOMM;
  • 電話傳送控制協定:TCS-Binary、AT指令集;
  • 選用協定:PPP、UDP/TCP/IP、OBEX、WAP、vCard、vCal、IrMC、WAE。

  除上述協定層外,規範還定義了主機控制器接口(Host Controller Interface HCI),它為基帶控制器、連接配接管理器、硬體狀态和控制寄存器提供指令接口。在圖1.11中,HCI位于L2CAP的下層,但HCI也可位于L2CAP上層。

  藍牙核心協定由SIG制定的藍牙專用協定組成。絕大部分藍牙裝置都需要核心協定(加上無線部分),而其他協定則根據應用的需要而定。總之,電纜替代協定、電話控制協定和被采用的協定在核心協定基礎上構成了面向應用的協定。

1.9 ZigBee協定

  ZigBee是一種新興的短距離、低複雜度、低功耗、低資料速率和低成本的無線網絡技術。主要用于近距離無線連接配接。TI公司的ZigBee晶片樣片如圖1.13所示。它依據IEEE 802.15.4标準,在數千個微小的傳感器之間互相協調實作通信。ZigBee無線網絡主要是為工業現場自動化控制資料傳輸而建立。是以它具備簡單、友善、穩定和低成本等特點,彌補了藍牙技術不能滿足工業自動化中對低資料量、低成本、低功耗、高可靠性的無線資料通信的需求。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

1.9.1 ZigBee發展曆史

  ZigBee(蜜蜂協定),是基于IEEE802.15.4标準的低功耗區域網路協定。根據國際标準規定,ZigBee技術是一種短距離、低功耗的無線通信技術,它來源于蜜蜂的八字舞,蜜蜂(bee)是通過飛翔和“嗡嗡”(zig)抖動翅膀的“舞蹈”與同伴傳遞花粉所在方位的資訊,而ZigBee協定的方式特點與其類似,便更名為ZigBee。

  ZigBee協定是由ZigBee聯盟制定的無線通信标準,該聯盟成立于2001年8月。2002年下半年,英國Invensys公司、日本三菱電氣公司、美國摩托羅拉公司及荷蘭飛利浦半導體公司共同宣布加入ZigBee聯盟,研發名為ZigBee的下一代無線通信标準,這一事件成為該技術發展過程中的裡程碑事件。ZigBee聯盟現有的理事公司包括BM Group、Ember、飛思卡爾半導體、Honeywell(霍尼韋爾)、三菱電機、摩托羅拉、飛利浦、三星電子、西門子,以及德州儀器。ZigBee聯盟的目的是為了在全球統一标準上實作簡單可靠、價格低廉、功耗低、無線連接配接的監測和控制産品進行合作,并在2004年12月釋出了第一個正式标準。

  下面列出ZigBee的幾個重要的裡程碑事件。

  • 2001年8月,ZigBee Alliance成立。
  • 2004年,ZigBee V1.0誕生。它是Zigbee規範的第一個版本。由于推出時間倉促,存在一些錯誤。
  • 2006年,推出ZigBee 2006,功能比較完善。
  • 2007年年底,ZigBee PRO推出。
  • 2009年3月,Zigbee RF4CE推出,具備更強的靈活性和遠端控制能力。
  • 2009年開始,Zigbee采用了IETF的6LoWPAN标準作為新一代智能電網Smart Energy(SEP 2.0)的标準,緻力于形成全球統一的易于與網際網路內建的網絡,實作端到端的網絡通信。

  ZigBee版本更新曆程如圖1.14所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術
  • ZigBeeV1.0:這是第一個ZigBee标準公開版,2005年6月開放下載下傳。
  • ZigBeeV1.1:這是第二個ZigBee标準公開版,2007年1月開放下載下傳。
  • ZigBeeV1.2:這是第三個ZigBee标準公開版,2008年1月開放下載下傳。又稱ZigBee Pro。

  ZigBee協定的誕生源于對工業物聯網的需求。但為了滿足不同的應用背景,ZigBee聯盟先後頒布了:

  • ZigBee Home Automation(ZigBee HA);
  • ZigBee Light Link(ZigBee LL);
  • ZigBee Building Automation(ZigBee BA);
  • ZigBee Retail Services(ZigBee RS);
  • ZigBee Health Care(ZigBee HC);
  • ZigBee Telecommunication Services(ZigBee TS);

等應用層協定來滿足智能家居、智能照明、智能建築、智能零售、智能健康、智能通信服務等領域。問題是這些應用層協定是獨立不互通的。以國内應用最廣的智能家居領域為例,歐瑞博采用了标準的ZigBee HA協定的智能開關,和飛利浦采用标準的ZigBee LL的Hue智能燈泡是不能互相控制的。

  這裡強調标準ZigBee協定的原因是由于早期ZigBee版本由于标準化不完善,給了廠商太多選擇,很多廠商雖然采用了ZigBee HA的協定,但是終端的智能家居廠商根據自家的需求定制化了ZigBee HA,而非标準ZigBee協定,導緻不同廠家産品還是不能互聯互通。

  這也類似于Android,不同手機廠商都是采用Android系統,但是都進行了大量的定制化,導緻最後的手機系統也是千差萬别。可以說,ZigBee之前僅僅解決了智能裝置的連接配接問題,但是沒有解決智能裝置互聯互通的問題。

  2016年5月,ZigBee聯盟推出了ZigBee 3.0标準,其主要任務就是為了統一上述衆多應用層協定,解決了不同應用層協定之間的互聯互通問題。使用者隻要購買任意一個經過ZigBee 3.0的網關就可以控制不同廠家基于ZigBee 3.0的智能裝置,如圖1.15所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  ZigBee 3.0統一了采用不同應用層協定的ZigBee裝置的發現、加入群組網方式,使得ZigBee裝置的組網更便捷、更統一。

  并且ZigBee聯盟推出了ZigBee 3.0認證,就是來規範各個廠商使用标準的ZigBee 3.0協定,以保證基于ZigBee 3.0裝置的互通性。

  距ZigBee 3.0标準釋出後的第7個月,ZigBee聯盟于2016年12月宣布其8家成員公司已有20個ZigBee 3.0晶片平台獲得認證通過,并表示未來IoT應用開發者在開發建築照明、能源應用、傳感器、控制器、網關和其他的物聯網應用時,有更多供貨商可供選擇,不用再擔心互操作性問題。

1.9.2 ZigBee的特點及優勢

  ZigBee是一種無線連接配接,可工作在2.4GHz(全球流行)、868MHz(歐洲流行)和915 MHz(美國流行)3個頻段上,分别具有最高250Kbps、20Kbps和40Kbps的傳輸速率,它的傳輸距離在10~75m的範圍内,但可以繼續增加。作為一種無線通信技術,ZigBee具有如下特點:

  • 資料傳輸速率低:10KB/s~250KB/s,專注于低傳輸應用。
  • 低功耗:由于ZigBee的傳輸速率低,發射功率僅為1mW(毫瓦),而且采用了休眠模式,功耗低,是以ZigBee裝置非常省電。據估算,ZigBee裝置僅靠兩節5号電池就可以維持長達6個月到2年左右的使用時間,這是其他無線裝置望塵莫及的。
  • 成本低:ZigBee子產品的初始成本在6美元左右,也許很快就能降到1.5~2.5美元,并且ZigBee協定是免專利費的。低成本對于ZigBee也是一個關鍵的因素。
  • 時延短:通信時延和從休眠狀态激活的時延都非常短,典型的搜尋裝置時延為30ms,休眠激活的時延是15ms,活動裝置信道接入的時延為15ms。是以ZigBee技術适用于對時延要求苛刻的無線控制(如工業控制場合等)應用。
  • 網絡容量大:一個星型結構的ZigBee網絡最多可以容納254個從裝置和一個主裝置,一個區域内可以同時存在最多100個ZigBee網絡,而且網絡組成靈活。
  • 可靠:采取了碰撞避免政策,同時為需要固定帶寬的通信業務預留了專用時隙,避開了發送資料的競争和沖突。MAC層采用了完全确認的資料傳輸模式,每個發送的資料包都必須等待接收方的确認資訊。如果傳輸過程中出現問題可以進行重發。
  • 安全:ZigBee提供了基于循環備援校驗(CRC)的資料包完整性檢查功能,支援鑒權和認證,采用了AES-128的加密算法,各個應用可以靈活确定其安全屬性。

1.9.3 ZigBee基本概念

  ZigBee可使用的頻段有3個,分别是2.4GHz的ISM頻段、歐洲的868MHz頻段,以及美國的915MHz頻段,而不同頻段可使用的信道分别是16、1、10個,如圖1.16所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  ZigBee規範是由ZigBee Alliance所主導的标準,定義了網絡層(Network Layer)、應用層(Application Layer)、媒體通路控制層(Media Access Control Layer;MAC Layer)、實體層(PHY Layer),如圖1.17所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  ZigBee網絡中的裝置主要分為以下3類:

  • 協調器(Coordinator):負責啟動整個網絡。它也是網絡的第一個裝置。協調器選擇一個信道和一個網絡ID(也稱之為PAN ID,即Personal Area Network ID),随後啟動整個網絡。
  • 路由器(Router):路由器的功能主要是:允許其他裝置加入網絡,路由和協助它自己的由電池供電的終端裝置的通信。
  • 終端裝置(End-Device):終端裝置沒有特定的維持網絡結構的責任,它可以睡眠或者喚醒,是以它可以是一個電池供電裝置。

  ZigBee的網絡拓撲主要包括3種類型,分别是星型、串型和網狀,如圖1.18所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  ZigBee裡常見的幾個概念介紹如下:

  • ZigBee信道:2.4 GHz的射頻頻段被分為16個獨立的信道。每一個裝置都有一個預設的信道集(DEFAULT_CHANLIST)。協調器掃描自己的預設信道集并選擇一個信道上噪聲最小的信道作為自己所建網絡的信道。終端節點和路由節點也要掃描預設信道集并選擇一個信道上已經存在的網絡加入。
  • PAN ID:PAN ID指網絡編号,用來區分不同的ZigBee網絡。協調器是通過選擇網絡信道及PAN ID來啟動一個無線網絡的。PAN ID的有效範圍為0~0x3FFF。
  • IEEE實體位址:每個ZigBee裝置都有一個64位的IEEE長位址,即MAC位址。實體位址是在出廠時候初始化的,它是全球唯一的。當一個ZigBee節點加入網絡時,它的IEEE位址不能與網絡中現有節點的IEEE位址沖突且不能為0xFFFFFFFFFFFFFFFF。
  • 網絡位址:網絡位址也稱短位址,通常用16位的短位址來辨別自身和識别對方。對于協調器來說,短位址始終為0x0000,對于路由器和節點來說,短位址由其所在網絡中的協調器配置設定。

1.9.4 ZigBee協定棧

  ZigBee軟體協定棧主要包括以下幾種:

  • FreakZ協定棧和Contiki作業系統;
  • msstatePAN協定棧(精簡版ZigBee協定棧);
  • Microchip ZigBee Stack;
  • BeeStack(Freescale);
  • SimpliciTI協定棧(TI);
  • Z-Stack協定棧和OSAL作業系統(TI);
  • TinyOS作業系統。

  ZigBee協定棧包括IEEE 802.15.4的PHY和MAC層,網絡層(NWK)、應用層和安全服務提供層。ZigBee堆棧有兩個接口:資料實體接口和管理實體接口。資料實體接口的目标是向上層提供所需的正常資料服務。管理實體接口的目标是向上層提供通路内部層參數、配置和管理資料的機制。從應用角度看,通信的本質就是端點到端點的連接配接。ZigBee協定棧與ZigBee層間的連接配接如圖1.19所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  從應用角度看,通信的本質就是端點到端點的連接配接(例如,一個帶開關元件的裝置與帶一個或多個燈元件的遠端裝置進行通信,目的是将這些燈點亮)。

  端點之間的通信是通過稱為簇的資料結構實作的。這些簇是應用對象之間共享資訊所需的全部屬性的容器,在特殊應用中使用的簇在模闆中有定義。

  所有端點都使用應用支援子層(Application Support sublayer,APS)提供的服務。APS通過網絡層和安全服務提供層與端點相接,并為資料傳送、安全和綁定提供服務,是以能夠适配不同但相容的裝置,比如帶燈的開關。

  APS使用網絡層(NWK)提供的服務。NWK負責裝置到裝置的通信,并負責網絡中裝置初始化所包含的活動、消息路由和網絡發現。應用層可以通過ZigBee裝置對象(ZDO ZigBee Device Object)對網絡層參數進行配置和通路。

1.10 6LoWPAN低速無線個域網協定

  6LoWPAN是一種基于IPv6的低速無線個域網标準,即IPv6 over IEEE 802.15.4。

  無線個域網(Wireless Personal Area Network,WPAN)是為了實作活動半徑小、業務類型豐富、面向特定群體、無線無縫的連接配接而提出的新興無線通信網絡技術。WPAN能夠有效地解決“最後的幾米電纜”的問題。

  WPAN是一種與無線廣域網(WWAN)、無線城域網(WMAN)、無線區域網路(WLAN)并列但覆寫範圍相對較小的無線網絡。在網絡構成上,WPAN位于整個網絡鍊的末端,用于實作同一地點終端與終端間的連接配接,如連接配接手機和藍牙耳機等。WPAN所覆寫的範圍一般在10m半徑以内,必須運作于許可的無線頻段。WPAN裝置具有價格便宜、體積小、易操作和功耗低等優點。

  将IP協定引入無線通信網絡一直被認為是不現實的(不是完全不可能)。迄今為止,無線網隻采用專用協定,因為IP協定對記憶體和帶寬要求較高,要降低它的運作環境要求以适應微控制器及低功率,IP協定應用于無線連接配接很困難。

  基于IEEE 802.15.4實作IPv6通信的IETF 6LoWPAN?草案标準的釋出有望改變這一局面。6LoWPAN所具有的低功率運作的潛力使它很适合應用在從手持機到儀器的裝置中,支援AES-128加密,為身份認證和資訊安全性打下了基礎。

  IEEE 802.15.4标準,用于設計開發,靠電池運作1到5年的、緊湊型、低功率、廉價、嵌入式裝置(如傳感器)。該标準使用工作在2.4GHz頻段的無線電收發器傳送資訊,使用的頻帶與Wi-Fi相同,但其射頻發射功率大約隻有Wi-Fi的1%。這限制了IEEE 802.15.4裝置的傳輸距離,是以,多台裝置必須一起工作才能在更長的距離上逐跳傳送資訊和繞過障礙物。

  IETF 6LoWPAN工作組的任務,定義如何利用IEEE 802.15.4鍊路,支援基于IP的通信,同時遵守開放标準以及保證與其他IP裝置的互操作性。

  這樣做是為了适應多種複雜網關(每種網關對應一種本地802.15.4協定)以及專用擴充卡安全與管理程式的需要。然而,利用IP并不是件容易的事情:IP的位址和標頭很大,傳送的資料可能過于龐大而無法容納在很小的IEEE 802.15.4資料包中。6LoWPAN工作組面臨的技術挑戰是發明一種将IP標頭壓縮到隻傳送必要内容的小資料包中的方法。他們的方法是Pay as you go式的標頭壓縮方法。這些方法去除了IP標頭中的備援或不必要的網絡級資訊。IP標頭在接收時從鍊路級802.15.4標頭的相關域中得到這些網絡級資訊。

  最簡單的使用情況,是一台與鄰近802.15.4裝置通信的802.15.4裝置,将非常高效率地得到處理。整個40位元組IPv6標頭,被縮減為1個標頭,壓縮位元組(HC1)和1位元組的“剩餘跳數”。因為源和目的IP位址可以由鍊路級64位唯一ID(EUI-64)或802.15.4中使用的16位短位址生成。8位元組使用者資料報協定傳輸標頭被壓縮為4位元組。

  随着通信任務變得更加複雜,6LoWPAN也相應調整。為了與嵌入式網絡之外的裝置通信,6LoWPAN增加了更大的IP位址。當交換的資料量小到可以放到基本包中時,可以在沒有開銷的情況下打包傳送。對于大型傳輸,6LoWPAN增加分段標頭來跟蹤資訊如何被拆分到不同的段中。如果單一跳802.15.4就可以将包傳送到目的地,資料包可以在不增加開銷的情況下傳送。多跳則需要加入網狀路由(mesh-routing)標頭。

  IETF 6LoWPAN取得的突破是得到一種非常緊湊、高效的IP實作,消除了以前造成各種專門标準和專有協定的因素。這在工業協定(BACNet、LonWorks、通用工業協定、監控與資料采集)領域具有特别的價值。這些協定最初開發是為了提供特殊的行業特有的總線和鍊路(從控制總線到AC電源線)上的互操作性。

  幾年前,這些協定的研發團隊選擇開發IP是為了實作利用以太網等現代技術。6LoWPAN的出現使這些老協定把它們的IP選擇擴充到新的鍊路(如802.15.4)。是以,可與專為802.15.4設計的新協定(如ZigBee和ISA100.11a)互操作。受益于此,各類低功率無線裝置能夠加入IP家庭中,與Wi-Fi、以太網以及其他類型的裝置“稱兄道弟”。

  随着IPv4位址的耗盡,IPv6是大勢所趨。物聯網技術的發展,将進一步推動IPv6的部署與應用。IETF 6LoWPAN技術具有無線低功耗、自組織網絡的特點,是物聯網感覺層、無線傳感器網絡的重要技術。ZigBee新一代智能電網标準中SEP 2.0已經采用6LoWPAN技術,随着美國智能電網的部署,6LoWPAN将成為實際标準,全面替代ZigBee标準。

  6LoWPAN協定的技術優勢如下:

  • 普及性:IP網絡應用廣泛,作為下一代網際網路核心技術的IPv6,也在加速其普及的步伐,在低速無線個域網中使用IPv6更易于被接受。
  • 适用性:IP網絡協定棧架構受到廣泛的認可,低速無線個域網完全可以基于此架構進行簡單、有效地開發。
  • 更多位址空間:IPv6應用于低速無線個域網時,最大亮點就是龐大的位址空間。這恰恰滿足了部署大規模、高密度低速無線個域網裝置的需要。
  • 支援無狀态自動位址配置:IPv6中當節點啟動時,可以自動讀取MAC位址,并根據相關規則配置好所需的IPv6位址。這個特性對傳感器網絡來說,非常具有吸引力,因為在大多數情況下,不可能對傳感器節點配置使用者界面,節點必須具備自動配置功能。
  • 易接入:低速無線個域網使用IPv6技術,更易于接入其他基于IP技術的網絡及下一代網際網路,使其可以充分利用IP網絡的技術進行發展。
  • 易開發:目前基于IPv6的許多技術已比較成熟,并被廣泛接受,針對低速無線個域網的特性對這些技術進行适當的精簡和取舍,可以簡化協定開發的過程。

1.11 LoRa WAN低功耗廣域網協定

  長期以來,要提高通信距離常用的辦法是提高發射功率,但同時也帶來了更多的能耗。電池供電的裝置(如水表)一般隻能使用微功率無線通信,這樣就限制了其通信距離。SemTech公司推出的LoRa射頻晶片,因為采用了擴頻調制技術,進而在同等的功耗下取得更遠的通信距離。

  2013年SemTech公司推出了SX1276/8系列的擴頻調制射頻晶片,它的實作方式非常巧妙,整個解調器引擎隻需要5萬個門單元電路。功耗低,休眠電流為0.2uA,接收電流為12mA,發射電流為29mA@13dBm,和常見的GFSK晶片Si4438及CC1125接近,通信距離是GFSK晶片的3倍。

  SemTech公司官方宣稱該晶片可以達到可視距離15千米,城市環境中3千米的通信距離。根據實測資料:SX1278在1Kbps的速率下可以單跳覆寫一個5000多戶的小區。這意味着,使用簡單的星型組網就可以建立LoRa微功率網絡,而GFSK調制的晶片常常需要樹形或MESH等複雜的路由網絡。

  LoRa的靈敏度很高,抗幹擾能力也很強,小巧靈活,更适合在一些企業特定的專網裡工作。

  作為一項無線技術,LoRa所具備的功耗低、傳輸距離廣、信号穿透性強、靈敏度高等特點,相較于ZigBee、2.4G等傳統無線技術而言具有很明顯的技術優勢。是以,對一些具體的項目及企業的私網需求而言,LoRa私有協定比LoRaWAN更加靈活,成本更低。

  但是根據使用者使用經驗,發現LoRa射頻晶片至少有兩個缺點:首先,其通信速率低,其真正與GFSK拉開通信距離差距的速率都低于1Kbps,這意味着LoRa主要用于低速率通信,如傳感器資料;其次,其1.5~2美金的售價比GFSK晶片高出許多,給産品帶來高成本。

  LoRaWAN是基于LoRa的低功耗廣域網,它主要包括兩個部分:通信協定和體系結構,如圖1.20所示。它能建構一個低功耗、可擴充、高服務品質、安全的長距離無線網絡。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  1.LoRaWAN體系結構

  借助于LoRa長距離的優勢,LoRaWAN采用星型無線拓撲,有效延長了電池壽命,降低了網絡複雜度,後續可輕易擴充容量。它将網絡實體分成4類:即End Nodes(終端節點)、Gateway(網關)、LoraWAN Server(LoRaWAN伺服器)和Applicaton Server(使用者伺服器),如圖1.21所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  2.LoRaWAN通信協定

  在LoRaWAN的星型網絡中,End Nodes使用單跳無線與一個或多個Gateway通信;Gateway通過标準IP鍊路(Ethernet、3G/GPRS和Wi-Fi)與LoRaWAN Server通信;Gateway負責End Nodes和LoRaWAN Server資訊的中繼,如圖1.22所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  LoRaWAN主要為此類裝置提供無線通信:低功耗(電池一次性工作幾年)、低速率(主要是傳感器資料)、低成本(免流量費用)和長距離,如圖1.23所示。LoRaWAN、Narrow-band、LTE Cat-1、LTE Cat-M和NB-LTE的性能比較如圖1.24所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  LoRa聯盟負責制定LoRaWAN标準和執行認證。該組織是一個開放、非赢利和快速增長的機構,成員包括科技巨頭(IBM、Cisco、HP、Foxconn、Semtech和Sagemcom等)、名牌企業(如Schneider、Bosch、Diehl、Mueller和ZTE等)、營運商(如Orange和SwissCom等)。裝置接入數量趨勢如表1.7所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  LoRaWAN的目标是:

  • 标準化:通過LoRaWAN Specification(說明書)和Certification(認證),從歐洲到非洲,從北美到東南亞,任何公司的LoRaWAN産品實作互連互通。
  • 市場化:通過标準化和生态圈,擴大LoRaWAN在物聯網市場的份額。

  LoRaWAN的初衷是提供區域、國家或全球的物聯網。這樣一來,它的體系和協定變得龐大複雜是必然的。LoRaWAN應用範圍如下:

  • 營運商:毫無疑問,營運商是最希望部署LPWAN(低功耗廣域網)來為客戶提供“無處不在”的物聯網服務,這是在移動網際網路已經飽和的情況下,又一波“增長紅利”。這就可以了解歐洲國家(法國、荷蘭和比利時等)部署LoRaWAN的熱情了。
  • 大規模節點的私網:智能工廠是最可能部署物聯網的行業,畢竟有大量的裝置需要監測和控制,且部署物聯網能馬上受益;節點多(>1000),需要LoRaWAN提供大規模接入能力。
  • 要求QoS的私網:部分私網對于QoS(網絡品質)有特殊的要求,比如抗幹擾能力強、吞吐量大、喚醒延時小,LoRaWAN能較好地滿足這些需求。

  IP(Internet Protocol)協定是最成功的網絡協定之一,它奠定了網際網路的基礎,在資訊互聯上把世界變成了地球村;從伺服器,到PC、手機,甚至手表,都離不開IP協定。它的成功原因在于:開放,所有标準文檔誰都可以下載下傳使用;免費,使用IP不用繳納版權費;标準,有委員會制定标準,保證全球IP裝置互聯互通;推動,科技巨頭(如IBM、MicroSoft和Cisco等)都在大力推進IP的使用和标準化。

  而LoRa WAN與IP有極大的相似:

  • 開放:使用者可以下載下傳标準文檔,還有寶貴的End Nodes和Gateway源代碼;
  • 免費:使用LoRaWAN不用繳納版本費用;
  • 标準:由LoRa Alliance負責标準的制定和更新,對LoRaWAN産品執行認證;
  • 推動:有營運商、科技巨頭(IBM、Cisco等)和生态圈企業一起來建設LoRaWAN;
  • 安全:它是第一個對網絡和應用資料使用128AES雙重加密的無線網絡。

  LoRaWAN能否成為世界級的物聯網标準,也需要考慮其他因素:基礎科技的革新(比如超大容量儲能電池的發明、超遠距離高速無線通信技術等)、競争對手的壓力、商業風險,甚至全球經濟危機等。

  LoRaWAN會有多大市場佔有率,需要從微觀和宏觀來分析來看。微觀角度看,各行業(如生産、交通、醫療、農業、倉儲)以及城市和人們的生活要智能化,都依賴傳感器将實體資訊(如溫濕度、位置、壓力、熱和光等)轉換成數字資訊(即0和1二進制資料)。傳感器主要是電池供電,采集資料量較小,數量龐大,地域分布廣;它對通信的要求是長距離、低功耗、低速率和低成本。可見,LoRaWAN在以“傳感器為主體”的物聯網中大有用武之地。

  從宏觀角度看,SNS Research分析預測,45%~55%的裝置将會接入LPWAN(低功耗廣域網,LoRaWAN是其中之一)物聯網。

  Machina Research分析預測,到2025年,将會有超過30億裝置接入LPWAN物聯網,如圖1.25所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  LoRaWAN的本質是無線通信網絡,是以需要遵循以下規定:

  • 切換信道(ChangeChannel):End Devices每次發送資料包都需要随機切換信道,經驗表明,切換信道可以有效降低同頻幹擾和無線信号衰減,進而建立一個更健壯的網絡。
  • 發送占空比(DutyCycle):依賴不同的地區和國家,在ISM頻段,一個無線電裝置允許最大發射占空比是有限制的,這樣做是為了保證公平和防止非法占用信道。以歐洲裝置通信為例,Duty Cycle=1%,即發送占空比為百分之一,如果一個裝置發射時間=1s,接下來的99s,它将不能再發射無線電信号(可以接收無線電信号)。
  • 駐留時間(DwellTime):該限制主要是北美地區,在ISM頻段,一個無線電裝置每0.4s必須切換信道,這樣做是為了保證信道使用率和增強抗幹擾能力。例如,如果一個裝置發射時間=1s,那麼它必須跳頻3次,才能完成發射任務。

1.12 NB-IoT窄帶物聯網協定

  在通信領域物聯網方向,NB-IoT基本上是“獨領風騷”,風光無限。

  在通信領域,經過1G、2G、3G和4G技術的不斷發展,加之智能手機的廣泛普及,現在已經基本上實作了人與人之間随時随地的連接配接。

  從早期的電報,到後來的電話和短信,再到現在即時傳送圖檔、音頻和視訊等多媒體檔案,通信技術手段已經十分強大、多元化。人類對技術的追求、對生活的追求,永遠不會停住腳步。技術還有潛力可以挖掘,需求也在不斷湧現。在商業利益的驅動下,通信廠商會不斷推出新的産品,新的服務,吸引使用者,以擷取利益。

  而通信人也開始把目光從人的身上,轉移到了物的身上。既然人都可以相連,那麼物物也可以相連,把所有的物體,都連到網絡裡面,如圖1.26所示。于是,物聯網就誕生了。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

1.12.1 物聯網應用場景和技術特點

  人與人之間進行通信的網絡,叫做人聯網。物與物之間進行通信的網絡,叫做物聯網。試想一下這些場景:如果所有的汽車都聯網了,如圖1.27所示,自動駕駛是不是就實作了?車與車之間會協調路徑、距離、速度,車禍就再也不會發生了。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  如果所有的家電都聯網了,如圖1.28所示,實作了随時控制,人還沒到家,就可以先開啟空調和熱水器;出門在外忘記關燈,可以遠端關燈,還能遠端監控,是不是更友善,更安全?

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  甚至動物,如果保護區裡所有的珍稀野生動物都聯網控制了,科學家是不是可以更友善地檢測它們的生命狀态,更好地進行保護和研究?這還隻是一小部分!事實上,隻要開動腦筋,各種創意簡直就是源源不斷,如表1.8所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  物聯網的應用場景遠遠不止表1.9中所列部分。根據預測,2020年,全球終端連接配接數将達到500億個,其中,物的連接配接數将是人的連接配接數的4倍,如圖1.29所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  據預測,2025年全球物聯網市場規模将達到19萬億美元。

  物聯網其實并不是一個新概念。在很多年前就有人提出過物聯網。這麼多年來,物聯網其實一直在不斷發展。

  1995年,比爾·蓋茨的THE ROAD AHEAD(《未來之路》)一書中就提到過物聯網。但是因為技術的原因,過去一直發展的是WLAN物聯網。從名字就可以看出來了,WLAN(Wireless Local Area Networks,無線區域網路)是一種覆寫範圍較小的物聯網絡。WLAN物聯網,以Wi-Fi、藍牙、ZigBee、Z-Wave等技術為代表。如圖1.30所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  這種WLAN物聯網,無法完全滿足某些行業應用的要求。第一個問題是速度(網速)。

  人們用手機上網的時候,當然希望速度一定要快。目前主流的通信标準——LTE,理論速度已經達到300Mbps。當然,實際體驗速度遠遠達不到。正常情況下,這個速度已經能夠滿足人們大部分的工作和生活需求(玩遊戲、看視訊)。

  除了速度之外,還有功耗、覆寫、成本,以及連接配接數量。

  功耗影響待機時間,覆寫影響信号品質,成本影響使用費用。連接配接數量就是終端數量,對人聯網來說就是手機數量。簡單來說,就是每個小區可以容納多少通信終端。

  例如功耗,手機如果功耗較大,至多是充電頻繁一些。但是對于智能水表,如圖1.31所示,如果功耗大,每天都要換電池,或者一個月換一次,估計水廠和水廠勞工都會崩潰吧?

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  物聯網對功耗、覆寫、連接配接數量這幾個名額非常非常敏感。而對于速率,大部分物聯網應用反而并不敏感。比如抄個電表讀數,上報個位置經緯度,這些資料量都很小,沒有幾個位元組,不需要多大的帶寬速度。

  WLAN物聯網,主要受限于覆寫範圍和功耗上。于是,LPWAN(Low Power Wide Area Network,低功耗廣域網)概念被提了出來。其名稱裡就有兩個最重要的特點:即低功耗和廣覆寫。

  相比其他網絡類型(WLAN、2G/3G/4G)相比,LPWAN的定位是完全不同的,如圖1.32所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  LPWAN強調的是覆寫,犧牲的是速率。是以也把LPWAN叫做蜂窩物聯網。這個稱謂也展現了它和2G/3G/4G這種蜂窩通信技術之間的共性,即都是通過基站或類似裝置提供信号的,如圖1.33所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  LPWAN物聯網包括很多技術标準(協定),目前比較主流的有NB-IoT、LoRa、Sigfox、eMTC。這些技術标準,都是由不同的廠家或者通信機構組織提出來。物聯網的市場很大,所有人都想分一杯羹。LPWAN整體上還處于混戰狀态。在競争過程中,NB-IoT脫穎而出,處于暫時領先地位。

  可以和NB-IoT勢均力敵的是eMTC,其英文全稱是enhanced Machine Type of Communication,即增強型機器類型通信。但是eMTC和NB-IoT的應用場景不同,eMTC适合對速度和帶寬有要求的物聯網應用。而LoRa和Sigfox,因為頻譜的原因,是以沒有競争優勢。常見的物聯網協定特點如表1.9所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  LoRa和Sigfox在國内沒有自己的專用頻段,先天不足。

  NB-IoT目前在幾大标準中非常有競争力,尤其在我國,受到多方追捧。NB-IoT 窄帶物聯網應用場景如圖1.34所示。

  它之是以這麼“火”,有多方面的原因。首先,它确實是一項非常先進的技術。就剛才提及的通信網絡的幾項名額中,NB-IoT除了速率之外,其他方面都表現優異。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  在功耗方面,NB-IoT犧牲了速率,卻換回了更低的功耗。采用簡化的協定,适合的設計,大幅提升了終端的待機時間,部分窄帶(NB)終端裝置,待機時間号稱可以達到10年。

  在信号覆寫方面,NB-IoT有更好的覆寫能力(20dB增益),就算你的水表埋在井蓋下面,也不影響信号收發。

  在連接配接數量方面,每小區可以支援5萬個終端,相當強大了。

  最重要的是成本價格。NB-IoT通信子產品成本很低,每模組有希望壓到5美元之内甚至更低,有利于大批量采購和使用。NB-IoT的特點就是:吃的少,用的少,能幹活,不講究,如圖1.35所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  除了自身優點之外,NB-IoT的“火爆”,和它背後的支援者——通信裝置商裡的“大哥大”華為公司主推有關。華為公司為了NB-IoT,一直都在積極布局,努力助推。通過圖1.36,可以看出華為在NB-IOT标準演進過程中發揮的作用。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  除了華為之外,營運商們對NB-IoT也是青睐有加。因為NB-IoT是營運商建網,不像LoRa這樣的網絡是企業獨立建網。想要使用NB-IoT的終端,必須使用營運商的NB-IoT網絡。這種情況下,營運商當然積極推動NB-IoT。

  更重要的一點是政府也在大力支援NB-IoT網絡的發展,為此還專門下發過很多檔案,指定劃分了專門的頻譜,推動行業标準的規範化。就連移動這樣原本沒有FDD-LTE牌照的營運商(NB-IoT隻支援FDD-LTE),國家工信部也特批給了NB-IoT專用的FDD-LTE使用權。

1.12.2 無線通信技術發展過程

  目前,國内三大營運商都推出了自己的NB-IoT商用網絡,建立了大量的NB-IoT基站,也公布了資費标準和套餐。NB-IoT“一統天下”是不太可能的。因為應用場景的不同,是以物聯網的技術需求還是會朝多元化方向發展。也就是說,未來的物聯網,一定是多種技術标準共存,共同發揮作用,不可能是某一家完全壟斷。移動通信技術一直在不斷發展進步,各國在通信标準制定上都積極參與,争取話語權。從2G到4G,移動通信網絡不斷更新換代。

  2G通信标準GSM(Global System For Mobile Communications,全球移動通信系統),是由歐洲電信标準組織ETSI制訂的一個數字移動通信标準。它的空中接口采用時分多址技術。自20世紀90年代中期投入商用以來,被全球超過100個國家采用。GSM标準的裝置占據目前全球蜂窩移動通信裝置市場80%以上。2G通信系統如圖1.37所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  MSC(Mobile Switching Center)是移動交換中心,BSC(Base Station Controller)指的是基站控制器。基站子系統BSS可分為兩部分,即通過無線接口與移動台相連的基站收發信台(BTS),以及與移動交換中心相連的基站控制器(BSC)。BTS負責無線傳輸、BSC負責控制與管理。一個BSS系統由一個BSC與一個或多個BTS組成,BSS子系統可由多個BSC和BTS組成。

  GPRS通用分組無線服務技術(General Packet Radio Service),是GSM行動電話使用者可用的一種移動資料業務。GPRS可說是GSM的延續,被稱為2.5G,即介于二代和三代移動通信技術之間的技術,如圖1.37所示。GPRS通路速率理論上最快可以達到171.2Kbps。EDGE(Enhanced Data Rate for GSM Evolution)是增強型資料速率GSM演進技術,也是一種GSM到3G的過渡技術,它能夠充分利用現有GSM資源,比GPRS更加優良,是以被稱為2.75G技術,理論速率最高可達473.6Kbps。SGSN和GGSN都屬于核心網的PS,負責走資料業務,例如彩信、上網等。SGSN提供網絡介入功能,分組路由和轉發,以及GPRS的移動性能管理。GGSN為MS通路外部網絡提供網關功能。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  UMTS(Universal Mobile Telecommunications System,環球移動通信系統),屬于第三代通信技術(3G)的一種,是TDSCDMA(移動3G)和WCDMA(聯通3G)的統稱。

  HSPA(High-Speed Packet Access,高速資料資訊包接入/存取技術),是一種建立在UMTS基礎之上,對現存UMTS進行擴充和改進的通信協定。

  ISDN(Integrated Service Digital NetWork,ISDN),是電話網絡與數字網絡結合而成的一種網絡,它提供了端到端的數字連接配接,用來提供語音業務和非語音業務等各種服務。

  無線網絡子系統(RNS - Radio Network Subsystem)包括在接入網中控制無線電資源的無線網絡控制器(RNC)。RNC具有宏分集合并能力,可提供軟切換能力。每個RNC可覆寫多個NodeB。NodeB實質上是一種與基站收發信台等同的邏輯實體,它受RNC控制,提供移動裝置(UE)和無線網絡子系統(RNS)之間的實體無線鍊路連接配接。同樣,基站系統(BSS)由基站控制器構成,基站控制器控制一個或多個基站收發信台,與NodeB不同,每個BSS對應于一個蜂窩,如圖1.39所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  第四代行動電話行動通信标準,指的是第四代移動通信技術,即4G技術。該技術包括TD-LTE和FDD-LTE兩種制式。

  4G是集3G與WLAN于一體,并能夠快速傳輸資料、高品質、音頻、視訊和圖像等。4G能夠以100Mbps以上的速度下載下傳,比目前的家用寬帶ADSL(4兆)快25倍,并能夠滿足幾乎所有使用者對于無線服務的要求。此外,4G可以在DSL和有線電視數據機沒有覆寫的地方部署,然後再擴充到整個地區。很明顯,4G有着不可比拟的優越性。

  4G移動系統網絡結構可分為三層:實體網絡層、中間環境層和應用網絡層。實體網絡層提供接入和路由選擇功能,它們由無線和核心網的結合格式完成。中間環境層的功能有QoS映射、位址變換和完全性管理等,如圖1.40所示。

  實體網絡層與中間環境層及其應用環境之間的接口是開放的,它使提供新的應用及服務變得更為容易,提供無縫高資料率的無線服務,并運作于多個頻帶。

  PSTN ( Public Switched Telephone Network,公共交換電話網絡),是一種常用電話系統,即日常生活中常用的電話網。公共交換電話網絡是一種全球語音通信電路交換網絡,包括商業的網絡和政府擁有的網絡。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  從GPRS到LTE,移動網速越來越快。到了4G時代,移動通信網絡的發展出現了分支。一邊是大流量,一邊是小資料,一邊是移動寬帶,一邊是物聯網,如圖1.41所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  從2G到4G,移動通信網絡都隻是為了連接配接人而生。但随着萬物互聯時代的到來,移動通信網絡需面向連接配接物而演進。

  為此,3GPP(3rd Generation Partnership Project,第三代合作夥伴計劃)在Release 13制定了NB-IoT标準來應對現階段的物聯網需求,在終端支援上也多了一個與NB-IoT對應的終端等級cat-NB1。

  3GPP在Release 13定義了3種蜂窩物聯網标準,分别是EC-GSM、eMTC(LTE-M,對應Cat-M1)和NB-IoT(Cat-NB1),其頻譜分布如圖1.42所示。其中:

  • GSM是最早的廣域M2M無線連接配接技術,EC-GSM增強了其功能和競争力。
  • UMTS沒有衍生出低功耗物聯網“變體”。
  • LTE-M(Cat-M1)基于LTE技術演進,屬于LTE的子集。
  • NB-IoT(Cat-NB1)盡管和LTE緊密相關,且可內建于現有的LTE系統之上,但認為是獨立的新空口技術。
帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

1.12.3 NB-IoT窄帶物聯網節能原理

  NB-IoT屬于低功耗廣域網(LPWAN),其設計原則都是基于物聯網特點和使用場景為基礎。

  首先,相比傳統的2G/3G/4G網絡,物聯網主要有以下三大特點:

  • 懶:終端都很“懶”,大部分時間在“睡覺”,每天傳送的資料量極低,且允許一定的傳輸延遲(比如智能水表)。
  • 靜止:并不是所有的終端都需要移動性,大量的物聯網終端長期處于靜止狀态。
  • 上行為主:與人的連接配接不同,物聯網的流量模型不再是以下行為主,可能是以上行為主。

  這三大特點支撐了低速率和傳輸延遲上的技術折中,進而實作覆寫增強、功耗降低、成本減少的蜂窩物聯網,如圖1.43所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  1.減少信令開銷降低功耗

  NB-IoT信令流程基于LTE設計去掉了一些不必要的信令,在控制面和使用者面均進行了優化。原LTE信令流程如圖1.44所示。其中,UE(User Equipment)是使用者裝置,eNB是無線通信基站,EPC(Evolved Packet Core)是分組核心網。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  NB-IoT信令流程①如圖1.45所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  NB-IoT信令流程②如圖1.46所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  2.PSM & eDRX節能模式

  DRX(extended Discontinuous Reception,不連續接收)和PSM(Power Saving Mode,節能模式)是NB-IoT的兩大省電技術,如圖1.47所示。

  手機(終端)和網絡不斷傳送資料是很費電的。如果沒有DRX,即使我們沒有用手機上網,手機也需要不斷地監聽網絡(PDCCH子幀),以保持和網絡的聯系,這導緻手機耗電很快。是以,在LTE系統中設計了DRX,讓手機周期性地進入睡眠狀态(sleep state),不用時刻監聽網絡,隻在需要的時候,将手機從睡眠狀态中喚醒進入wake up state後才監聽網絡,以達到省電的目的。eDRX意味着擴充DRX周期,意味着終端可睡更長時間,更省電,如圖1.48所示。

  一些物聯網終端本來就很懶,長期睡眠,而在PSM模式下,相當于關機狀态,是以更加省電。

  其原理是,當終端進入空閑狀态,釋放RRC連接配接後,開始啟動定時器T3324,當T3324終止後,進入PSM模式,并啟動T3412(周期性TAU更新)。在此期間,終端停止檢測尋呼和執行任何小區/PLMN選擇或MM流程,工作過程如圖1.49所示。此時,網絡無法發送資料給終端或尋呼終端,網絡與終端幾乎失聯(終端仍注冊在網絡中)。隻有當周期性TAU更新定時器逾時後,才退出PSM模式。這個定時器可設定最大12.1天。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術
帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術
帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

1.12.4 NB-IoT通信系統拓撲結構

  無線通信系統拓撲結構中提到,無線通信系統由核心網、接入網和空中接口幾部分組成。

 1.核心網

  為了将物聯網資料發送給應用,蜂窩物聯網(CIoT)在EPS中定義了兩種優化方案: CIoT EPS使用者面功能優化(User Plane CIoT EPS optimisation)和CIoT EPS控制面功能優化(Control Plane CIoT EPS optimisation)。

  其中,EPS(Evolved Packet System,演進的分組系統)中的所謂演進是相對于PS而言,PS是2G/3G分組系統,EPS自然就是4G系統了。4G系統沒有CS(Circuit Switch,電路交換)域,隻有PS(Packet Switch,分組交換)域。

  對于CIoT EPS控制面功能優化,上行資料從eNB(CIoT RAN)傳送至MME(Mobility Management Entity 移動管理實體),在這裡傳輸路徑分為兩個分支:或者通過SGW(Serving GateWay 服務網關)傳送到PGW(PDN?Gateway),PDN(Packet Data Network)再傳送到應用伺服器;或者通過SCEF(Service Capa- bility Exposure Function)連接配接到應用伺服器(CIoT Services),後者僅支援非IP資料傳送。與下行資料傳送路徑一樣,隻是方向相反,如圖1.50所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  這一方案無須建立資料無線承載,資料包直接在信令無線承載上發送。是以,這一方案極适合非頻發的小資料包傳送。

  SCEF是專門為NB-IoT設計而新引入的,它用于在控制面上傳送非IP資料包,并為鑒權等網絡服務提供一個抽象的接口。

  對于CIoT EPS使用者面功能優化,物聯網資料傳送方式和傳統資料流量一樣,在無線承載上發送資料,由SGW傳送到PGW再到應用伺服器。是以,這種方案在建立連接配接時會産生額外開銷,不過它的優勢是資料包序列傳送更快。這一方案支援IP資料和非IP資料傳送。

  2.接入網

  NB-IoT的接入網架構與LTE一樣,如圖1.51所示。eNB通過S1接口連接配接到MME/ SGW,隻是接口上傳送的是NB-IoT消息和資料。盡管NB-IoT沒有定義切換,但在兩個eNB之間依然有X2接口。X2接口使能UE在進入空閑狀态後,快速啟動恢複流程,接入到其他eNB。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  3.頻段

  NB-IoT沿用LTE定義的頻段号,Release 13為NB-IoT指定了14個頻段,如表1.10所示。國内營運商頻段占用,如表1.11所示。窄帶物聯網實體層設計參數如表1.12所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術
帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術
帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

1.12.5 NB-IoT窄帶物聯網信号收發技術

  NB-IoT占用180KHz帶寬,這與在LTE幀結構中一個資源塊的帶寬是一樣的。是以,以下3種部署方式成為可能,如圖1.52所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術
  • 獨立部署(Stand alone operation):适合用于重耕GSM頻段,GSM的信道帶寬為200kHz,這剛好為NB-IoT 180kHz帶寬辟出空間,且兩邊還有10kHz的保護間隔,如圖1.53所示。
    帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術
  • 保護帶部署(Guard band operation):利用LTE邊緣保護頻帶中未使用的180kHz帶寬的資源塊。
  • 帶内部署(In-band operation):利用LTE載波中間的任何資源塊。

  1.信号覆寫等級CE Level

  CE Level(Coverage Enhancement Level,覆寫增強等級)從0到2,共分3個等級,分别對應可對抗144dB、154dB、164dB的信号衰減。基站與NB-IoT終端之間會根據其所在的CE Level來選擇相對應的資訊重發次數。

  2.雙工模式

  Release 13 NB-IoT僅支援FDD(Frequency Division Duplexing,頻分雙工)半雙工Type-B模式。

  FDD意味着上行和下行在頻率上分開,UE不會同時處理接收和發送。

  半雙工設計意味着隻需多一個切換器去改變發送和接收模式,比起全雙工所需的元件,成本更低廉,且可降低電池能耗。在Release 12中,定義的半雙工分為Type-A和Type-B兩種類型,其中type B為Cat.0所用,如圖1.54所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  在Type-A下,UE在發送上行信号時,其前面一個子幀的下行信号中最後一個Symbol不接收,用來作為保護時隙(Guard Period,GP)。而在Type-B下,UE在發送上行信号時,前面子幀和後面子幀都不接收下行信号,使得保護時隙加長,對于裝置要求降低,提高了信号的可靠性,如圖1.55所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

 3.下行鍊路

  對于下行鍊路,NB-IoT定義了以下3種實體信道:

  • NPBCH:窄帶實體廣播信道。
  • NPDCCH:窄帶實體下行控制信道。
  • NPDSCH:窄帶實體下行共享信道。

  此外,還定義了兩種實體信号:

  • NRS:窄帶參考信号。
  • NPSS和NSSS:主同步信号和輔同步信号。

  相比LTE,NB-IoT的下行實體信道較少,并且去掉了PMCH(Physical Multicast Channel,實體多點傳播信道),原因是NB-IoT不提供多媒體廣播/多點傳播服務。如圖1.56所示為NB-IoT傳輸信道和實體信道之間的映射關系。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  MIB(Management Information Base,管理資訊庫)消息在NPBCH中傳輸,其餘信令消息和資料在NPDSCH上傳輸,NPDCCH負責控制UE和eNB間的資料傳輸。

  NB-IoT下行調制方式為QPSK(Quadrature Phase Shift Keyin,正交相移鍵控)。NB-IoT下行最多支援兩個天線端口(Antenna Port),即AP0和AP1。

  和LTE一樣,NB-IoT也有PCI(Physical Cell ID,實體小區辨別),稱為NCellID(Narrowband physical Cell ID),一共定義了504個NCellID。

  4.幀和時隙結構

  和LTE循環字首(Normal CP)實體資源塊一樣,在頻域上由12個子載波(每個子載波寬度為15kHz)組成,在時域上由7個OFDM符号組成0.5毫秒(ms)的時隙,這樣保證了和LTE的相容性,對于帶内部署方式至關重要,如圖1.57所示。

  每個時隙0.5ms,2個時隙就組成了一個子幀(SF),10個子幀組成一個無線幀(RF)。這就是NB-IoT的幀結構,依然和LTE一樣,如圖1.58所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術
帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  5.RS(窄帶參考信号)

  NRS(窄帶參考信号)也稱為導頻信号,主要作用是下行信道品質測量估計,用于UE端的相關檢測和解調。在用于廣播和下行專用信道時,所有下行子幀都要傳輸NRS,無論有無資料傳送。

  NB-IoT下行最多支援兩個天線端口,NRS隻能在一個天線端口或兩個天線端口上傳輸,資源的位置在時間上與LTE的CRS(Cell-Specific Reference Signal,小區特定參考信号)錯開,在頻率上則與之相同,這樣在帶内部署(In-Band Operation)時,若檢測到CRS,可與NRS共同使用來做信道估測。

  6.同步信号

  NPSS(主同步)為NB-IoT UE時間和頻率同步提供參考信号,與LTE不同的是,NPSS中不攜帶任何小區資訊,NSSS(輔同步)帶有PCI。NPSS與NSSS在資源位置上避開了LTE的控制區域。

  7.上行鍊路

  對于上行鍊路,NB-IoT定義了兩種實體信道:

  • NPUSCH:窄帶實體上行共享信道。
  • NPRACH:窄帶實體随機接入信道。

  此外還有DMRS,即上行解調參考信号。

  NB-IoT上行傳輸信道和實體信道之間的映射關系如圖1.59所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  除了NPRACH,所有資料都通過NPUSCH傳輸。

  8.時隙結構

  NB-IoT上行使用SC-FDMA,考慮到NB-IoT終端的低成本需求,在上行要支援單頻(Single Tone)傳輸,子載波間隔除了原有的15kHz,還新制訂了3.75kHz的子載波間隔,共48個子載波。

  當采用15kHz子載波間隔時,資源配置設定和LTE一樣。當采用3.75kHz的子載波間隔時,如圖1.58所示。

  15kHz為3.75kHz的整數倍,是以對LTE系統幹擾較小。由于下行的幀結構與LTE相同,為了使上行與下行相容,子載波空間為3.75kHz的幀結構中,一個時隙同樣包含7個Symbol,共2ms長,剛好是LTE時隙長度的4倍。

  此外,NB-IoT系統中的采樣頻率(Sampling Rate)為1.92MHz,子載波間隔為3.75kHz的幀結構中,一個Symbol的時間長度為512Ts(Sampling Duration),加上循環字首(Cyclic Prefix,CP)長16Ts,共528Ts。是以,一個時隙包含7個Symbol再加上保護區間(Guard Period)共3840Ts,即2ms長。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  NPUSCH用來傳送上行資料和上行控制資訊。NPUSCH傳輸可使用單頻或多頻傳輸,如圖1.61所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  在NPUSCH上定義了兩種格式:即format 1和format 2。NPUSCH format 1為UL-SCH上的上行信道資料而設計,其資源塊不大于1000 bit;NPUSCH format 2傳送上行控制資訊(UCI)。

  映射到傳輸塊的最小單元叫資源單元(Resource Unit,RU),它由NPUSCH格式和子載波空間決定。有别于LTE系統中的資源配置設定的基本機關為子幀,NB-IoT根據子載波和時隙數目作為資源配置設定的基本機關。

1.12.6 NB-IoT窄帶物聯網小區接入

  NB-IoT的小區接入流程和LTE相似:小區搜尋取得頻率和符号同步、擷取SIB(System Information Blocks)資訊、啟動随機接入流程建立RRC(Radio Resource Control,無線資源控制)連接配接。當終端傳回RRC_IDLE狀态,需要進行資料發送或收到尋呼時,會再次啟動随機接入流程。

  1.協定棧和信令承載

  總地來說,NB-IoT協定棧基于LTE設計,但是根據物聯網的需求,去掉了一些不必要的功能,減少了協定棧處理流程的開銷。是以,從協定棧的角度看,NB-IoT是新的空口(空中接口)協定。

  以無線承載RB(Radio Bearer)為例,在LTE系統中,SRB(Signalling Radio Bearers,信令無線承載)會部分複用,SRB0用來傳輸RRC消息,在邏輯信道CCCH(Common Control Channel)上傳輸;而SRB1既用來傳輸RRC消息,也會包含NAS消息,其在邏輯信道DCCH?(Dedicated Control Channel,專用控制信道)上傳輸。LTE中還定義了SRB2,但NB-IoT沒有。

  此外,NB-IoT還定義了一種新的信令無線承載SRB1bis。SRB1bis和SRB1的配置基本一緻,除了沒有PDCP(Packet Data Convergence Protocol,分組資料彙聚協定)。這也意味着在控制面(Control Plane)CIoT EPS optimisation下隻有SRB1bis,因為隻有在這種模式下才不需要SIB,簡化了SIB的協定棧,如圖1.62所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  NB-IoT經過簡化,去掉了一些對物聯網不必要的SIB(System Information Blocks),隻保留了8個資訊塊,每個資訊塊的内容如表1.13所示。

  需特别說明的是,SIB-NB是獨立于LTE系統傳送的,并非夾帶在原LTE的SIB之中。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  2.小區重選和移動性

  由于NB-IoT主要為非頻發小資料包流量而設計,是以RRC_CONNECTED中的切換過程并不需要,被移除了。如果需要改變服務小區,NB-IoT終端會進行RRC釋放,進入RRC_IDLE狀态,再重選至其他小區。

  在RRC_IDLE狀态,小區重標明義了intra frequency和inter frequency兩類小區,inter frequency指的是in-band operation下兩個180 kHz載波之間的重選。

  NB-IoT的小區重選機制也做了适度的簡化,由于NB-IoT 終端不支援緊急撥号功能,是以當終端重選時無法找到Suitable Cell的情況下,終端不會暫時駐紮(Camp)在Acceptable Cell,而是持續搜尋直到找到Suitable Cell為止。根據3GPP TS 36.304定義,所謂Suitable Cell為可以提供正常服務的小區,而Acceptable Cell為僅能提供緊急服務的小區。

  3.随機接入過程

  NB-IoT的RACH過程和LTE一樣,隻是參數不同。

  基于競争的NB-IoT随機接入過程如圖1.63所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  基于非競争的NB-IoT随機接入過程如圖1.64所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

1.12.7 NB-IoT連接配接管理

  由于NB-IoT并不支援不同技術間的切換,是以RRC狀态模式也非常簡單,如圖1.65所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  RRC連接配接建立(Connection Establishment)流程和LTE一樣,但内容卻不相同,如圖1.66所示。

  很多原因都會引起RRC(Radio Resource Control無線資源控制)建立,但是在NB-IoT中,連接配接請求(RRCConnectionRequest)中的建立原因(Establishment Cause)裡沒有通路接入延遲容忍(delayTolerantAccess),因為NB-IoT被預先假設為容忍延遲。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  另外,在Establishment Cause裡,UE将說明支援單頻或多頻的能力。

  與LTE不同的是,NB-IoT新增了挂起-釋放(Suspend-Resume)流程(Suspend将線程挂起,運作→阻塞;Resume将線程解挂,阻塞→就緒)。當基站釋放連接配接時,基站會下達指令讓NB-IoT終端進入挂起(Suspend)模式,該挂起(Suspend)指令帶有一組Resume ID,此時,終端進入釋放(Suspend)模式并存儲目前的AS context。

  當終端需要再次進行資料傳輸時,隻需要在RRC Connection Resume Request中攜帶Resume ID,基站即可通過此Resume ID來識别終端,并跳過相關配置資訊交換,直接進入資料傳輸。挂起-釋放(Suspend-Resume)流程如圖1.67所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  簡而言之,在RRC_Connected至RRC_IDLE狀态時,NB-IoT終端會盡可能地保留RRC_Connected下所使用的無線資源配置設定和相關安全性配置,減少兩種狀态之間切換時所需的資訊交換數量,以達到省電的目的。

1.12.8 NB-IoT資料傳輸

  NB-IoT定義了兩種資料傳輸模式:即控制面優先(Control Plane CIoT EPS optimisation)方案和使用者面優先(User Plane CIoT EPS optimisation)方案。對于資料發起方,由終端選擇決定哪一種方案。對于資料接收方,由MME參考終端習慣,選擇決定哪一種方案。

  1.控制面優先資料傳輸方案

  對于控制面優先(Control Plane CIoT EPS Optimisation)資料傳輸方案,終端和基站間的資料交換在RRC級上完成。對于下行,資料包附帶在RRC連接配接設定(RRC connection setup)消息裡;對于上行,資料包附帶在RRC連接配接設定完成(RRC connection setup complete)消息裡。如果資料量過大,RRC不能完成全部傳輸,将使用DL資訊傳輸(DLInformationTransfer)和UL資訊傳輸(ULInformationTransfer)使消息繼續傳送,如圖1.68所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  這兩類消息中包含的是帶有NAS消息的byte數組,其對應NB-IoT資料包,是以對于基站是透明的,UE的RRC也會将它直接轉發給上一層。

  在這種傳輸模式下,沒有RRC connection reconfiguration流程,資料在RRC connection setup消息裡傳送,或者在RRC連接配接啟動之後立即進行RRC連接配接釋放并啟動Resume流程。

  2.使用者面優先資料傳輸方案

  在使用者面優先(User Plane CIoT EPS optimisation)資料傳輸模式下,資料通過傳統的使用者面傳送,為了降低物聯網終端的複雜性,隻可以同時配置一個或兩個DRB。RRC連接配接恢複流程如圖1.69所示,RRC連接配接釋放流程如圖1.70所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  此時,有兩種情況:

  • 當RRC連接配接釋放時,RRC連接配接釋放會攜帶Resume ID,并啟動Resume流程。如果Resume啟動成功,更新密匙安全建立後,保留了先前RRC_Connected的無線承載也随之建立,如圖1.70所示。
    帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術
  • 當RRC連接配接釋放時,如果RRC連接配接釋放沒有攜帶Resume ID,或者Resume請求失敗,安全和無線承載建立過程如圖1.71所示。
    帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  首先,通過安全模式控制(SecurityModeCommand)和安全模式完成(SecurityMode Complete)模式建立AS級安全。

  在安全模式控制(SecurityModeCommand)消息中,基站使用SRB1和DRB提供加密算法和對SRB1完整性保護。LTE中定義的所有算法都包含在NB-IoT裡。

  當安全激活後,進入RRC連接配接重配置(RRC connection reconfiguration)流程建立DRB,如圖1.72所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  在重配置消息中,基站為UE提供無線承載,包括RLC(Radio Link Control,無線鍊路層控制協定)和邏輯信道配置。PDCP僅配置于DRB(Data Radio Bearer,資料無線承載),因為SRB(Signalling Radio Bearers,信令無線承載)采用預設值。在MAC配置中,将提供BSR、SR、DRX等配置。最後,實體配置提供将資料映射到時隙和頻率的參數。

  3.多載波配置

  在RRC connection reconfiguration消息中,可在上/下行設定一個額外的載波,稱為非錨定載波(non-anchor carrier)。

  基于多載波配置,系統可以在一個小區裡同時提供多個載波服務,是以,NB-IoT的載波可以分為兩類:提供NPSS、NSSS與承載NPBCH和系統資訊的錨定載波(Anchor Carrier),以及非錨定載波(Non-Anchor Carrier),即除錨定載波之外的載波。

  當提供非錨定載波時,UE在此載波上接收所有資料,但同步、廣播和尋呼等消息隻能在錨定載波上接收。

  NB-IoT終端一律需要在錨定載波上面随機接入(Random Access),基站會在Random Access過程中傳送非錨定載波排程資訊,以将終端解除安裝至非錨定載波上進行後續資料傳輸,避免錨定載波的無線資源吃緊。

  另外,單個NB-IoT終端同一時間隻能在一個載波上傳送資料,不允許同時在錨定載波和非錨定載波上傳送資料。

1.13 MQTT網絡協定

  物聯網(IoT)裝置必須連接配接網際網路。通過連接配接到網際網路,裝置就能互相協作,以及與後端服務協同工作。網際網路的基礎網絡協定是TCP/IP。MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸)是基于TCP/IP協定棧而建構的,已成為IoT通信的标準。

  MQTT最初由IBM于20世紀90年代晚期所開發。它最初的用途是将石油管道上的傳感器與衛星相連接配接。顧名思義,它是一種支援在各方之間異步通信的消息協定。異步消息協定在空間和時間上将消息發送者與接收者分離,是以可以在不可靠的網絡環境中進行擴充。雖然叫做消息隊列遙測傳輸,但它與消息隊列毫無關系,而是使用了一個釋出和訂閱的模型。在2014年末,它正式成為了一種OASIS開放标準,而且在一些流行的程式設計語言中受到支援(通過使用多種開源實作)。

  MQTT是一種輕量級的、靈活的網絡協定,可在嚴重受限的裝置硬體和高延遲/帶寬有限的網絡上實作。它的靈活性使得為IoT裝置和服務的多樣化應用場景提供支援成為可能。

1.13.1 網絡協定比較

  大多數開發人員已經熟悉HTTP Web服務。那麼為什麼不讓IoT裝置連接配接到Web服務?裝置可采用HTTP請求的形式發送其資料,并采用HTTP響應的形式從系統接收更新。這種請求和響應模式存在一些嚴重的局限性:

  HTTP是一種同步協定,用戶端需要等待伺服器響應。Web浏覽器具有這樣的要求,但它的代價是犧牲了可伸縮性。在IoT領域,大量裝置及很可能不可靠或高延遲的網絡使得同步通信成為問題。而異步消息協定更适合IoT應用程式,傳感器發送讀數,讓網絡确定将其傳送到目标裝置和服務的最佳路線和時間。

  HTTP是單向的。用戶端必須發起連接配接。用戶端送出請求,伺服器進行響應。将消息傳送到網絡上的所有裝置上,不但很困難,而且成本很高,而這是IoT應用程式中的一種常見使用情況。

  HTTP是一種有許多标頭和規則的重量級協定。它不适合資源受限的裝置網絡。

  出于上述原因,大部分高性能、可擴充的系統都使用異步消息總線進行内部資料交換,而不使用Web服務。

  事實上,企業中間件系統中使用的最流行的消息協定被稱為AMQP(進階消息排隊協定)。但是在高性能環境中,計算能力和網絡延遲通常不是問題。AMQP緻力于在企業應用程式中實作可靠性和互操作性,它擁有龐大的特性集,但不适合資源受限的IoT應用程式。

  其他流行的消息協定,例如,XMPP(Extensible Messaging and Presence Protocol,可擴充消息和狀态協定)是一種對等即時消息(IM)協定。它高度依賴于支援IM用例的特性,比如存在狀态和媒體連接配接。與MQTT相比,它在裝置和網絡上需要的資源都要多得多。

1.13.2 釋出和訂閱模型

  MQTT協定的一個關鍵特性是釋出和訂閱模型。與所有消息協定一樣,它将資料的釋出者與使用者分離。MQTT協定在網絡中定義了兩種實體類型:消息代理和一些用戶端。代理是一個伺服器,它從用戶端接收所有消息,然後将這些消息路由到相關的目标用戶端。用戶端是能夠與代理互動發送和接收消息的任何裝置,可以是現場的IoT傳感器,是資料中心内處理IoT資料的應用程式。

  用戶端連接配接到代理,它可以訂閱代理中的任何消息“主題”。此連接配接可以是簡單的TCP/IP連接配接,也可以是用于發送敏感消息的加密TLS連接配接。

  用戶端通過将消息和主題發送給代理,釋出某個主題範圍内的消息。然後代理将消息轉發給所有訂閱該主題的用戶端。

  因為MQTT消息是按主題進行組織的,是以應用程式開發人員能靈活地指定某些用戶端隻能與某些消息互動。例如,傳感器将在sensor_data主題範圍内釋出讀數,并訂閱config_change主題。将傳感器資料儲存到後端資料庫中的資料處理應用程式會訂閱sensor_data主題。管理控制台應用程式能接收系統管理者的指令來調整傳感器的配置,比如靈敏度和采樣頻率,并将這些更改釋出到config_change主題中。傳感器的MQTT釋出和訂閱模型如圖1.73所示。

  同時,MQTT是輕量級的。它有一個用來指定消息類型的簡單報頭,有一個基于文本的主題,還有一個任意的二進制有效負載。應用程式可對有效負載采用任何資料格式,比如JSON、XML、加密二進制或Base64,隻要目标用戶端能夠解析該有效負載。

  開始進行MQTT開發的最簡單工具是Python Mosquitto子產品,該子產品包含在Eclipse Paho項目中,提供了多種程式設計語言格式的MQTT SDK和庫。它包含能在本地計算機上運作的MQTT代理,還包含使用消息與代理互動的指令行工具。可以從Mosquitto網站下載下傳并安裝Mosquitto子產品。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

1.13.3 MQTT協定指令

  1.mosquitto指令

  mosquitto指令在本地計算機上運作MQTT代理。也可以使用-d選項在背景運作它。

  $ mosquitto –d

  2.mosquitto_sub指令

  在另一個終端視窗中,可以使用mosquitto_sub指令連接配接到本地代理并訂閱一個主題。運作該指令後,将等待從訂閱的主題接收消息,并列印出所有消息。

  $ mosquitto_sub -t "dw/demo"

  3.mosquitto_pub 指令

  在另一個終端視窗中,可以使用 mosquitto_pub 指令連接配接到本地代理,然後向一個主題釋出一條消息。

  $ mosquitto_pub -t "dw/demo" -m "hello world!"

  現在,運作 mosquitto_sub 的終端會在螢幕上列印出hello world!。剛才使用MQTT代理發送并接收了一條消息。

  當然,在生産系統中,不能使用本地計算機作為代理。相反,可以使用IBM Bluemix Internet of Things Platform服務,這是一種可靠的按需服務,功能與MQTT代理類似。Bluemix 服務內建并使用MQTT作為與裝置和應用程式通信的協定。

  IBM Bluemix Internet of Things Platform服務的工作原理如下:

  (1)從Bluemix控制台,可以在需要時建立Internet of Things Platform服務的執行個體。

  (2)添加能使用MQTT連接配接該服務執行個體的裝置。每個裝置有一個ID和名稱。隻有列出的裝置能通路該服務,Watson IoT Platform儀表闆會報告這些裝置上的流量和使用資訊。

  (3)對于每個裝置用戶端,Bluemix會配置設定一個主機名、使用者名和密碼,用于連接配接到使用者的服務執行個體(MQTT 代理)。在Bluemix上,使用者名始終為use-token-auth,密碼始終是圖1.74中顯示的每個連接配接裝置的令牌。

  在IBM Bluemix中建立Internet of Things Platform服務,結果如圖1.74所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  使用遠端MQTT代理時,需要将代理的主機名和身份驗證憑證傳遞給mosquitto_sub和mosquitto_pub指令。例如,下面的指令使用了Bluemix提供的使用者名和密碼,訂閱我們的Internet of Things Platform服務上的demo主題:

  $ mosquitto_sub -t "demo" -h host.iotp.mqtt.bluemix.com -u username -P password

  有關使用mosquitto工具的更多選擇,以及如何使用mosquitto API建立自己的MQTT用戶端應用程式,請參閱Mosquitto網站上的文檔。

  有了必要的工具後,讓我們來更深入地研究MQTT協定。

1.13.4 MQTT協定參數

  MQTT是一種連接配接協定,它指定了如何組織資料位元組并通過TCP/IP網絡傳輸它們。但實際上,開發人員并不需要了解這個連接配接協定,隻需要知道每條消息有一個指令和資料有效負載。該指令定義消息類型(例如CONNECT消息或SUBSCRIBE消息)。所有MQTT庫和工具都提供了直接處理這些消息的簡單方法,并能自動填充一些必需的字段,比如消息和用戶端ID。

  (1)首先,用戶端發送一條CONNECT消息來連接配接代理。CONNECT消息要求建立從用戶端到代理的連接配接。CONNECT消息包含以下内容參數,如表1.14所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  (2)用戶端收到來自代理的一條CONNACK消息。CONNACK消息包含以下内容參數,見表1.15。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  (3)建立連接配接後,用戶端會向代理發送一條或多條SUBSCRIBE消息,表明它會從代理接收針對某些主題的消息。消息可以包含一個或多個重複的參數,如表1.16所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  (4)用戶端成功訂閱某個主題後,代理會傳回一條SUBACK消息,其中包含一個或多個returnCode參數,見表1.17所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  與SUBSCRIBE消息對應,用戶端也可以通過UNSUBSCRIBE消息取消訂閱一個或多個主題,見表1.18所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  用戶端可向代理發送 PUBLISH消息。該消息包含一個主題和資料有效負載。然後代理将消息轉發給所有訂閱該主題的用戶端,見表1.19所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  MQTT的優勢在于它的簡單性,在可以使用的主題類型或消息有效負載上沒有任何限制。這支援一些有趣的用例。例如,請考慮以下問題:

  如何使用MQTT發送1對1消息?雙方可以協商使用一個特定于它們的主題。例如,主題名稱可以包含兩個用戶端的ID,以確定它的唯一性。

  用戶端如何傳輸它的存在狀态?系統可以為presence主題協商一個命名約定。例如,presence/client-id主題可以擁有用戶端的存在狀态資訊。當用戶端建立連接配接時,将該消息設定為true,在斷開連接配接時,該消息被設定為false。用戶端也可以将一條last will消息設定為false,以便在連接配接丢失時設定該消息。代理可以保留該消息,讓新用戶端能夠讀取該主題并找到存在狀态。

  如何保護通信?用戶端與代理的連接配接可以采用加密TLS連接配接,以保護傳輸中的資料。此外,因為MQTT協定對有效負載資料格式沒有任何限制,是以系統可以協商一種加密方法和密鑰更新機制。在這之後,有效負載中的所有内容可以是實際JSON或XML消息的加密二進制資料。

1.14 協 議 轉 換

  協定轉換指将一個裝置協定轉換成适用于另一裝置的協定過程,目的是為了使不同協定之間實作互操作。協定通常是以軟體的形式出現。比如路由器将一個網絡中的資料格式、資料速率等轉換成适用于另一個網絡的協定。網絡中有很多種協定,分别應用在不同的領域。

  主要的協定轉換消息涉及資料消息、事件、指令和時間同步的轉換。

  每個網絡内部都有各自的資訊交流方式,當兩個網絡需要互相溝通的時候,如果彼此不識别對方的交流方式,那麼就無法互相溝通,協定轉換即起到了為兩個網絡互相“翻譯”的作用。實際情況下,可以在不同的網絡類型中分别設定一個網關,網絡與網絡之間通過網關相連,網關即起到協定轉換的作用。

  協定轉換是一種映射,就是把某一協定的收發資訊(或事件)序列映射為另一協定的收發資訊序列。需要映射的資訊為重要資訊,是以協定轉換可以看作是兩個協定的重要資訊之間的映射。所謂重要資訊和非重要資訊是相對而言的,要根據具體需要加以确定,選擇不同的重要資訊作映射,會得到不同的轉換器。

  工業通信需要多個裝置之間的資訊共享和資料交換,而常用的工控裝置通信口有RS-232、RS-485、CAN和網絡,由于各接口協定不同,使得異構網絡之間的操作和資訊交換難以進行,通過多協定轉換器可以将不同接口裝置組網,實作裝置間的互相操作。基于多種通信接口和各種協定,形成了種類繁多的協定轉換器,主要類别有E1/以太網協定轉換器、RS-232/485/422/CAN轉換器等。

  協定網關通常在使用不同協定的網絡區域間做協定轉換。這一轉換過程可以發生在OSI參考模型的第2層、第3層或第2與第3層之間。但是有兩種協定網關不提供轉換的功能:即安全網關和管道。由于兩個互連的網絡區域的邏輯差異,安全網關是兩個技術上相似的網絡區域間的必要中介,如私有廣域網和公有的網際網路。

1.14.1 RS-232/485/CAN轉換器

  具有串行通信能力的裝置仍然在控制領域、通信領域大面積使用,随着接入裝置的增多,應用功能複雜程度的提高,傳統的串行通信網絡的缺點越來越明顯,而采用RS-232/CAN智能轉換器,更新、改造或重新建構既有通信或控制網絡,能夠很友善地實作RS-232裝置多點組網和遠端通信,特别是在不需要更改原有RS-232通信軟體的情況下,使用者可直接嵌入原有的應用領域,使系統設計達到更先進的水準,在系統功能和性能大幅度提高的情況下,減少了重複投資和系統更新換代所造成的浪費。

  USB-RS232接口轉換器首要的功能是實作兩種總線的協定轉換。主機端可以使用新的USB總線協定,向外發送資料,轉換器内部将資料格式轉變為RS-232串行信号,再發送到裝置上。裝置回送主機的資料,經轉換器轉變為USB協定資料。

  USB-RS232接口轉換器在對所流經的資料進行協定轉換時,可以增加特别的功能。

  • 由于USB總線的速度比RS-232接口快很多,可以在接口轉換器上設計資料緩沖區,以協調兩總線的速度差。
  • RS-232接口有一些變種,如RS-485、RS-422接口,接口轉換器中可以設計RS-232/485或是RS-232/422接口轉換器,簡化整個系統的通信接口轉換。
  • 接口轉換器在進行資料格式轉換時,可以設計加密、解密算法,對流經的資料進行處理,提高系統的資料保密性。

1.14.2 基于現場總線的協定轉換器

  基于現場總線的研究,發現多種總線标準的競争與共存在客觀應用上造成了不便。

  CAN總線協定和Modbus協定的結合,通過引用Modbus協定代替原自定義序列槽協定,将通信任務按讀、寫進行歸納分類,再用Modbus協定定義的标準功能碼簡化通信流程,提高效率,同時也使系統具備開放性,能友善地結成網絡。Modbus協定是主從協定,而CAN總線協定是多主對等協定,這也就決定了所設計的協定轉換器在Modbus網絡中作為從站,而在CAN網絡中作為發送優先級最高的節點。

  Modbus和CAN協定轉換原理:在DSP的RAM中劃分Modbus封包和CAN封包的存儲緩沖區(包含各自的輸入和輸出緩沖區);協定轉換器從Modbus主站收到的封包存入Modbus接收緩沖區,向主站傳回應答時從CAN總線的接收緩沖區讀取資料打包成Modbus應答封包的格式進行發送;協定轉換器從Modbus接收緩沖區擷取封包并存入CAN封包發送緩沖區,依據功能碼進行發送分析,決定采用單次還是分次發送方式。總地來說,就是一種存儲轉發機制,這種機制首先考慮的是通信轉換的可靠性,存儲轉換帶來的延時直接導緻通信實時性的降低。

  數量衆多的物聯網協定各有各的特點和應用場景。如果深究起原理來,還涉及OSI的七層模型和各種标準。

  物聯網的協定分為兩種,即接入協定與通信/網絡協定。接入協定大多都不屬于TCP/IP協定族,隻能用于裝置子網(裝置與網關組成的區域網路)内的通信;而通信/網絡協定屬于TCP/IP協定族,能夠在網際網路中進行資料傳輸,如圖1.75所示。

  采用接入協定的物聯網裝置,需要通過網關進行協定轉換,轉換成通信/網絡協定才能接入網際網路。而采用通信協定的物聯網裝置,則可以直接接入網際網路。

  常用的接入協定包括藍牙、ZigBee、LoRa、NB-IoT、Wi-Fi、RS-485、RS-232、NFC、RFID等;常用的通信協定包括HTTP、CoAP、MQTT、XMPP、AMQP、JMS等。其中:

  • Wi-Fi不需要網關。作為接入協定的Wi-Fi在對接網際網路時,并不需要網關做協定轉換,而是可以直接接入網際網路,這是由于Wi-Fi采用的标準IEEE 802.11就包含在TCP/IP協定族中,該标準規定了實體層和資料鍊路層,并能夠以TCP/IP協定作為網絡層等其他各層的協定,是以能夠無縫對接網際網路。
  • 作為通信協定的CoAP,在目前的網際網路環境下無法廣泛使用。CoAP是應用層的協定,但是其在網絡層依賴的是IPv6,而IPv6目前并沒有在網際網路環境中普及,是以,CoAP作為通信協定在網際網路上的傳輸受到極大的限制,目前更多應用于區域網路中。
帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  為什麼會有接入協定的存在?物聯網裝置都采用通信/網絡協定不就萬事大吉了?

  相對于通信/網絡協定的優勢,接入協定所依賴的硬體資源要求更低,功耗更低,網絡傳輸的資料量也更小,是以,在遠端抄表等一些場景中更具優勢。這些場景中,物聯網裝置往往沒有外接電源,是以要求功耗盡可能低,比如,一節紐扣電池能夠供電一年左右。這樣的要求是HTTP等協定所需的硬體環境難以勝任的。

1.14.3 物聯網協定轉換器——網關

  繼計算機、網際網路之後,物聯網的崛起掀起了世界資訊産業發展的第三次浪潮。物聯網是新一代資訊技術的重要組成部分,可以看作是網際網路的更新與擴充。根據國際電信聯盟(ITU)的定義,物聯網主要解決物品與物品(Thing to Thing,T2T),人與物品(Human to Thing,H2T),人與人(Human to Human,H2H)之間的互連。通過以網際網路為基礎,延伸和擴充到了任何物品與物品之間進行資訊交換和通信。簡言之,物聯網就是物物相連的網際網路。物聯網應用通過傳感器間接或者直接将裝置運作狀态及資料上傳到雲伺服器上,然後就可以利用雲計算和大資料等先進技術手段對資料進行處理,進而為使用者更好地服務,友善更好地利用和控制裝置。

  物聯網是指通過資訊感覺節點,按照互相約定的協定将傳感器、執行器或者嵌入式裝置與網際網路連接配接起來,進行資訊交換與通信,以實作智能化識别、定位、跟蹤、監控和管理。近幾年,物聯網發展迅猛,各種各樣的基于物聯網的應用應運而生。物聯網的應用十分廣泛,工業生産、環境保護、軍隊布防、倉儲管理、智能家居、社交網絡、醫療研究等各個方面都需要借助物聯網裝置和應用來進一步提高效率。

  1.物聯網網關的概念

  物聯網的概念由來已久,但是物聯網的具體實作方式群組成架構一直都沒有形成統一的意見。物聯網網關作為其中的一項關鍵性技術,有着開發成本高、開發周期長、軟硬體不相容、核心技術難以掌握、商業模式不确定、标準難以統一等諸多問題。從資源整合的角度來說,采用成熟的網關解決方案配合自己的項目開發無疑是最佳的選擇方式。物聯網架構可分為3層:即感覺層、網絡層和應用層,其中連接配接感覺層和網絡層的關鍵技術即物聯網網關。在物聯網時代中,物聯網網關将會是至關重要的環節,如圖1.76所示。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  作為連接配接感覺層與網絡層的紐帶,物聯網網關可以實作感覺網絡與通信網絡,以及不同類型感覺網絡之間的協定轉換,既可以實作廣域互聯,也可以實作局域互聯。在無線傳感網中,物聯網網關是不可或缺的核心裝置。此外物聯網網關還需要具備裝置管理功能,營運商通過物聯網網關裝置可以管理底層的各感覺節點,了解各節點的相關資訊,并實作遠端控制。

  2.物聯網網關的形态

  從物聯網網關的定義來看,物聯網網關很難以某種相對固定的形态出現。總體來說,凡是可以起到将感覺層采集到的資訊通過此終端的協定轉換發送到網際網路的裝置都可以算做物聯網網關。形态可以是盒子狀,可以是平闆電腦,可以有顯示螢幕的互動式形态,可以是封閉或半封閉的非互動形态。

  3.物聯網網關關鍵技術

  • 多标準互通接入能力:目前用于程序通信的技術标準很多。常見的傳感網技術包括ZigBee、Z-Wave、RUBEE、WirelessHART、IETF6IowPAN、ANT/ANT+、Wibree和Insteon等。各類技術主要針對某一類應用展開,之間缺乏相容性和體系規劃。例如,Z.Wave主要應用于無線智能家庭網絡,RUBEE适用于惡劣環境,WirelessHART主要集中在工業監控領域。實作各種通信技術标準的互聯互通,成為物聯網網關必須要解決的問題。研發人員針對每種标準設計單獨的網關,再通過網關之間的統一接口實作,還可以采用标準的适配層、不同技術标準開發相應的接口實作,如圖1.77所示。
  • 網關的可管理性:物聯網網關作為與網絡相連的網元,其本身要具備一定的管理功能,包括注冊登入管理、權限管理、任務管理、資料管理、故障管理、狀态監測、遠端診斷、參數查詢和配置、事件處理、遠端控制和遠端更新等。如需要實作全網的可管理,不僅要實作網關裝置本身的管理,還要進一步通過網關實作子網内各節點的管理。例如擷取節點的辨別、狀态、屬性等資訊,以及遠端喚醒、控制、診斷、更新維護等。根據子網的技術标準不同,協定的複雜性不同,所能進行的管理内容有較大差異。
帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  在物聯網環境中,分布着成千上萬的資料節點,每個節點都在不停地更新資料。由于資料資訊完全分散,節點支援資料傳輸協定不盡相同,給資料收集、資料查詢帶來很大的難度。顯然,如果不對資料進行綜合采集,将會産生很大的網絡開銷,而且不便于管理,傳輸效率、傳輸安全也得不到保障。在這種情況下,我們需要一種裝置能同時通過近場通信資訊采集,通過遠端通信的方式傳輸資料到雲端,并對裝置進行管理。不同協定之間進行轉換,包括節點配置、資料采集、資料處理、裝置控制等功能,這就是物聯網智能網關。物聯網智能網關主要實作裝置管理、多協定接入功能,以及協定轉換與标準資料傳輸協定的功能。

  多資料協定轉換的物聯網智能網關解決了物聯網應用中多節點、多協定裝置接入物聯網雲平台效率低、複雜度高的困局。支援多種協定的裝置接入和物聯網協定資料上傳到雲平台,進而友善其在工業和城市物聯網項目中的推廣和移植。通過加入裝置管理與配置子產品,極大地友善了使用者的使用。

1.14.4 物聯網網關

  基于物聯網技術的智能網關技術方案,包括嵌入式硬體平台、作業系統和應用軟體等幾部分。

  1.嵌入式硬體平台

  嵌入式硬體平台主要由嵌入式處理器和外部裝置組成。嵌入式處理器采用TIam3352處理器(德州儀器),該處理器采集于ARM Cortex-A8架構,擁有二級高速緩存、通用記憶體接口(支援DDR/DDR2/DDR3)、通用存儲接口,内部內建了兩個千兆以太網鍊路層接口功能(以太網接口1,以太網接口2),6個UART(序列槽),2個McSPI,3個I2C接口和一個Jtag接口。外部裝置包括512MDDR3記憶體、512MB Nand flash存儲器、一個網口、一個藍牙子產品、一個Wi-Fi子產品、一個CAN子產品和4個485子產品。

  藍牙子產品、Wi-Fi子產品和4個485子產品分别通過UART接口與嵌入式處理器連接配接;DDR3連接配接到通用記憶體接口;Nand flash連接配接到通用存儲接口;網口連接配接到以太網接口1;CAN子產品用MCP2510CAN控制晶片實作,通過McSPI接口與嵌入式處理器連接配接。

  2.作業系統

  作業系統為開源的Linux 3.2.0系統,通過J-Link仿真器和JTAG接口,将TI提供的uboot和Linux 3.2.0燒錄到Nand falsh中,然後将TI提供的接口驅動安裝完畢,實作作業系統在硬體中的部署,同時為應用軟體運作提供必要的環境支援。

  3.應用軟體

  應用軟體主要實作業務功能,由3部分組成,包括多協定資料接入系統、網關内部管理系統和網關内部資料緩存系統。應用軟體是基于Linux作業系統,通過gcc編譯器将應用軟體編譯為可執行檔案,後通過序列槽下載下傳到Linux作業系統中,并設定應用軟體随作業系統自動啟動。

  4.多協定資料接入系統

  多協定資料接入系統中由4個Connecter子產品組成。每個Connecter實作一種協定資料互動和解析。Connecter為接入裝置和協定以及包含的動作的抽象,每個Connecter就是一個智能體。它可以根據配置自動識别裝置,進行資料讀寫和資料解析,将資料傳遞給需要的Connecter。在計算機系統中每個Connecter也是一個程序。這樣就可以根據硬體接口增加或者删減Connecter,可以做到靈活擴充網關功能。目前支援CanConnecter、ModBusConnecter、MQTTConnecter和HttpConnecter 4種,但可以根據硬體和協定定制添加Connecter。

  5.網關内部管理系統

  網關内部管理系統簡稱CMS(Connecter Management System),主要用來做Connecter的管理。由于每個Connecter都是單獨的程序,這樣Connecter的啟動、暫停和停止等一系列的操控需要專門的系統來管理。CMS根據用戶端的JSON配置文檔,來啟動需要的Connecter,并配置設定Connecter運作的JSON配置文檔。這樣每個啟動的Connecter就會按照使用者的定義運作起來。

  網關運作需要配置文檔,配置文檔采用JSON格式。流行的JSON資料互動格式,簡潔易用,日益成為新的交換格式的标準。

  6.網關内部緩存系統

  網關内部緩存系統采用高性能的Redis記憶體資料庫,由于每個Connecter是一個獨立的程序,那麼Connecter之間的資料互動,就涉及程序間的通信。常見的程序間的通信用管道、信号量、消息隊列、共享記憶體和套接字(socket)通信等。經過分析,本執行個體采用基于套接字的Redis記憶體資料庫做資料緩沖。Redis是一個key-value存儲系統。它支援存儲的value類型相對更多,包括string(字元串)、list(連結清單)、set(集合)、zset(sorted set--有序集合)和hash(哈希類型)。這些資料類型都支援push/pop、add/remove,以及取交集、并集和差集等操作,而且這些操作都是原子性的。本執行個體主要采用Redis基本的字元串存儲,做一對一的Connecter之間的通信,一對多的Connecter模型中采用Redis訂閱釋出模式,這樣一個Connecter向Redis伺服器釋出資料時,那麼訂閱此資料的Connecter都可以接收到資料。

  與傳統網關不同的地方在于,本執行個體支援現有流行的物聯網協定MQTT與資料平台進行互動。MQTT使用釋出/訂閱消息模式,提供一對多的消息釋出,解除應用程式耦合,對負載内容屏蔽的消息傳輸和小型傳輸的開銷很小(固定長度的頭部是2位元組),協定交換最小化,以降低網絡流量。作為一種優化方案,支援HTTP協定,HTTP協定已經成為網際網路上應用最為廣泛的協定。HTTP協定穩定、安全,但是開銷大,而MQTT輕巧、快速,二者可以互補。作為優化方案,與平台互動的資料格式采用JSON格式。JSON資料由多個鍵值對組成,可以友善地定義資料,賦予資料更多含義,比如資料包括資料來源、資料實體含義、資料機關和資料長度等,這樣雲平台對資料利用更加友善。

  7.硬體核心闆

  硬體核心闆采用TI am3352核心闆,am3352功能強大,定位工業控制。外圍實作485、CAN、Wi-Fi、藍牙和網口硬體子產品連接配接。

  作業系統采用剪裁的Linux 3.2.0,Linux 3.2.0具有系統穩定、比較簡潔、運作速度快等特點。

  應用軟體包括多協定資料接入系統,網關管理子產品和資料緩存系統。根據接入關系,應用層又可以劃分為下行接入層、業務層和上行接入層。下行接入層和上行接入層都屬于多協定資料接入系統。下行接入層主要在裝置側,上行接入側主要在物聯網雲平台互動側,業務層由網關管理系統和資料緩存系統實作,主要包括網關内部安全管理、資料存儲和Connecter之間的通信。

1.14.5 物聯網網關應用

  物聯網網關作為一個新的名詞,在未來的物聯網時代将會扮演非常重要的角色,它将成為連接配接感覺網絡與傳統通信網絡的紐帶。作為網關裝置,物聯網網關可以實作感覺網絡與通信網絡,以及不同類型感覺網絡之間的協定轉換,既可以實作廣域互聯,也可以實作局域互聯。此外,物聯網網關還需要具備裝置管理功能,營運商通過物聯網網關裝置可以管理底層的各感覺節點,了解各節點的相關資訊,并實作遠端控制。

  有物聯網應用的地方,必然有物聯網網關的存在。通過連接配接感覺層的傳感器、射頻(RFID)、微機電系統(MEMS)、智能嵌入式終端,物聯網網關的應用将遍及智能交通、環境保護、政府工作、公共安全、平安家居、智能消防、工業監測、環境監測、路燈照明管控、景觀照明管控、樓宇照明管控、廣場照明管控、老人護理、個人健康、花卉栽培、水系監測、食品溯源等多個領域。不同應用方向的物聯網網關所使用的協定與網關形态會有不同差異,但它們的基本功能都是把感覺層采集到的各類資訊,通過相關協定轉換形成高速資料傳遞到網際網路上,同時實作一定的管理功能。

  1.智能家居

  物聯網網關在家庭中的使用也是很有代表性的,物聯網應用智能家居模型如圖1.78所示。現今,許多家用裝置形式越來越多樣,有些裝置本身就具備遙控能力,如空調和電視機等,有些如熱水器、微波爐、電鍋和冰箱等則不具備這方面的能力。而這些裝置即使可以遙控,但對其的控制能力和控制範圍都非常有限。并且這些裝置之間都是互相孤立存在的,不能有效實作資源與資訊的共享。随着物聯網技術的發展,物聯網網關技術的日益成熟,智能家居中各家用裝置間互聯互通的問題将得到解決。

  電視機、洗衣機、空調、冰箱等家電裝置,門禁、煙霧探測器、攝像頭等安防裝置,台燈、吊燈、電動窗簾等采光照明裝置,通過內建特定的通信子產品,分别構成各自的自組網子系統。而在家庭物聯網網關裝置内部,內建了幾套常用的自組網通信協定,能夠同時與使用不同協定的裝置或子系統進行通信。使用者隻需對網關進行操作,便可以控制家裡所有連接配接到網關的智能裝置。

帶你讀《物聯網之魂:物聯網協定與物聯網作業系統》之一: 網絡通信技術第1章 網絡通信技術

  2.車聯網網關

  車聯網是物聯網應用做得比較好的行業之一,被國内學術界認為是第一個切實可行的物聯網系統,已經通過國家專家組論證,預計投入2000個億支援相關機關研發車聯網系列産品。國産CARMAN系統即多功能的車載終端與車聯網網關二合一的産品。CARMAN系統基于國标GB-T19056-2003/國家交通運輸部行業标準的要求,集合了數字化視訊壓縮存儲和3G無線傳輸技術(DigitalVideoRecord),結合了GPS定位監控、汽車行駛記錄儀、SD卡大容量存儲、駕駛員IC卡身份識别、公交報站器、多路資料接口、車載藍牙免提語音通話功能、倒車監控、Wi-Fi熱點、車載MP3/MP4、車載影音和車載功放等功能。通過3G視訊傳輸技術,雙碼流傳輸,速率可調,傳輸更快,視訊更清晰流暢。通過WCDMA或CDMA可以上傳抓拍的圖檔,實作移動目标實時監控,做到實時傳輸監控視訊和圖像。系統自帶的多媒體行駛記錄分析軟體可以實作4路圖像同步回放,以及條件回放、剪輯存儲、字元疊加、地理資訊和行駛記錄疊加、事件分析和記錄提取等功能。一體化結構極大地壓縮了産品體積,擴充了産品的性能,符合未來車聯網網關的發展趨勢。

1.15 小 結

  本章介紹了數字通信的常用規範協定,考慮到物聯網涉及有線通信和無線通信,本章以網絡通信協定為基礎,以無線通信協定為重點,詳細介紹了近場通信協定、短距離通信協定,以及廣域通信協定的功能、标準和應用場景等内容。

1.16 習 題

  1.通信協定和接入協定有哪些差別?

  2.TCP/IP協定的七層模型是什麼?

  3.簡述HTTP 協定的要點。

  4.Wi-Fi協定的要點是什麼?是哪些技術優勢使其廣泛流行?

  5.窄帶物聯網協定在5G通信中有什麼重要作用?

  6.窄帶物聯網NB-IoT協定實施、部署的優勢和難點在哪裡?

  7.MQTT為什麼适合IoT應用?