来源:twowinter
1 LoRaWAN是什麼
按照LoRa聯盟官方白皮書《what is LoRaWAN》的介紹,LoRaWAN是為LoRa遠距離通信網路設計的一套通訊協議和系統架構。
LoRaWAN defines the communication protocol and system architecture for the network while the LoRa physical layer enables the long-range communication link.
另外官方提供了這張略偏技術的協議層次圖,各位看官大體感受下。
LoRaWAN在協議和網路架構的設計上,充分考慮了節點功耗,網路容量,QoS,安全性和網路應用多樣性等幾個因素。經過接下來的這些內容,將會對開頭這段介紹有更深刻的體會。
2 背後的利益集團 -- LoRa聯盟
和LoRa相愛相殺的 NB-IoT 出自於全球標準化組織 3GPP ,由大名鼎鼎的ETSI(歐洲電信標準化委員會)、日本ARIB(無線行業企業協會)和TTC(電信技術委員會)、CCSA(中國通信標準化協會)、韓國TTA(電信技術協會)和北美ATIS(世界無線通訊解決方案聯盟)等等組成。
相比於 3GPP 的根正苗紅,LoRaWAN 背後的LoRa聯盟則勢力弱了一些。從協議的封面可以看到作者是來自於3個董事會成員公司: N. Sornin (Semtech), M. Luis (Semtech), T. Eirich (IBM), T. Kramp (IBM), O.Hersent (Actility)。
我們知道每一項技術的推廣,都伴隨著利益的推動。雖然組織和聯盟都是非盈利性組織,但是旗下的企業成員都不是一心來做公益的。從企業角度來講,花5W去投入做的事情,注定是抱著撬動至少50W美金的預期去做的。
LoRa聯盟於2015年上半年由思科(Cisco)、IBM和升特(Semtech)等多家廠商共同發起創立,截止目前(2017.04)有400+的成員,董事會成員中也有不少大企業,大家共同為瓜分未來低功耗廣域網的蛋糕而抱團努力著。
這是我做的一個表格,收集了現階段願意交納5W美金會費的19個董事會成員,你可以看到這些企業的願ye景xin。
3 LoRaWAN的網路佈署情況
在綁定了幾個一級電信運營商後,網絡部署情況就比較可觀了。按照官方目前(2017.04)的聲明,網路佈署情況是這樣:
34個公開聲明佈署的網路,至少150個在進行的城市試點佈署
你們發現沒,雞脖子那邊有一點白,可能是主體主義思想的光輝太耀眼了。
4 LoRaWAN 網路架構
在前面部分瞭解了LoRaWAN很火之後,我們具體從技術角度做些瞭解。如下是LoRa聯盟官方白皮書中的網路架構圖。
可以看到一個LoRaWAN網路架構中包含了終端、基地台、NS(網路伺服器)、應用伺服器這四個部分。基地台和終端之間採用星型網路拓撲,由於LoRa的長距離特性,它們之間得以使用單跳傳輸。
在終端部分官方列了6個典型應用,有個細節,你會發現終端節點可以同時發給多個基地台。基地台則對NS和終端之間的LoRaWAN協議數據做轉發處理,將LoRaWAN數據分別承載在了LoRa射頻傳輸和Tcp/IP上。
下面結合下行業生態再來看下這個網路架構,大家可以有更深的認知。圖來自ST的LoRa白皮書《IoT connectivity made easier STM32 MCUs & LoRa》。
5 協議概述
5.1 終端節點的分類
在開頭的介紹中我們就看到有協議中有規定 Class A/B/C 三類終端設備,這三類設備基本覆蓋了物聯網所有的應用場景。
為了方便大家,我又做了個表。
5.2 終端節點的上下行傳輸
下面來點時序圖,讓大家有更深的感受。
這是Class A 上下行的時序圖,目前接收窗口RX1一般是在上行後1秒開始,接收窗口RX2是在上行後2秒開始。
Class C 和 A 基本是相同的,只是在 Class A 休眠的期間,它都打開了接收窗口RX2。
Class B 的時隙則複雜一些,它有一個同步時隙beacon,還有一個固定週期的接收窗口ping時隙。如這個示例中,beacon週期為128秒,ping週期為32秒。
5.3 終端節點的加網
搞明白了基礎概念之後,就可以瞭解節點如何工作了。在正式收發數據之前,終端都必須先加網。
有兩種加網方式:Over-the-Air Activation(空中激活方式 OTAA),Activation by Personalization(獨立激活方式 ABP)。
商用的LoRaWAN網路一般都是走OTAA激活流程,這樣安全性才得以保證。此種方式需要準備 DevEUI,AppEUI,AppKey 這三個參數。
DevEUI 是一個類似IEEE EUI64的全球唯一ID,標識唯一的終端設備。相當於是設備的MAC地址。
AppEUI 是一個類似IEEE EUI64的全球唯一ID,標識唯一的應用提供者。比如各家的垃圾桶監測應用、煙霧報警器應用等等,都具有自己的唯一ID。
AppKey 是由應用程序擁有者分配給終端。
終端在發起加網join流程後,發出加網命令,NS(網路伺服器)確認無誤後會給終端做加網回覆,分配網路地址 DevAddr(32位ID),雙方利用加網回覆中的相關資訊以及AppKey,產生會話密鑰NwkSKey和AppSKey,用來對數據進行加密和校驗。
如果是採用第二種加網方式,即ABP激活,則比較簡單粗暴,直接配置 DevAddr,NwkSKey,AppSKey 這三個LoRaWAN最終通訊的參數,不再需要join流程。在這種情況下,這個設備是可以直接發應用數據的。
5.4 數據收發
加網之後,應用數據就被加密處理了。
從介紹中可以看到,LoRaWAN設計之初的一大考慮,就是要支持應用多樣性。除了利用 AppEUI 來劃分應用外,在傳輸時也可以利用 FPort 應用端口,來對數據分別處理。FPort 的取值範圍是(1~223),有應用層來指定。
5.5 ADR 機制
我們知道LoRa調制中有擴頻因子的概念,不同的擴頻因子會有不同的傳輸距離和傳輸速率,且對數據傳輸互不影響。
為了擴大LoRaWAN網物容量,在協議上了設計一個LoRa速率自適應(Adaptive data rate - ADR)機制,不同傳輸距離的設備會根據傳輸狀況,盡可能使用最快的數據速率。這樣也使得整體的數據傳輸更有效率。
5.6 MAC命令
針對網絡管理需要,在協議上設計了一系列的MAC命令,來修改網絡相關參數。比如接收窗口的延時,設備速率等等。在實際應用過程中,一般很少涉及,暫時不管。
6 地區參數
LoRa聯盟官方在協議之外,還發佈了一個配套補充文檔《LoRaWAN 地區參數》,這份文檔描述了全球不同地區的LoRaWAN具體參數。為了避免新區域的加入,而導致文檔的變動,因此將地區參數章節,從協議規範中剝離出來。
這份文檔主要講了LoRaWAN,在全球各地區的具體物理層參數,不單單是頻段有區別,細化到信道劃分,甚至是數據速率,發射功率,最大數據長度等等都有區別。
為了方便大家瞭解總體情況,我又做了個表。
其實這個表也可以看出一個好玩的事情,為什麼韓國的參數和亞洲各國其實差不太多,卻單獨拎出來。如果你有記得前文中的董事會成員記錄,就應該知道韓國SK電信在LoRa聯盟中的地位。這麼高的地位搞點小特殊,你說過分麼。
7 LoRaWAN應用示例
好了,介紹完如上的資訊,大家應該對LoRaWAN有了系統的瞭解。
0 comments:
張貼留言