本文是一篇LoRaWAN的科普介紹,你已經在朋友圈看過無數蜻蜓點水的LoRaWAN文章,是時候來一篇真正的技術乾貨了。本文先從橫向介紹下LoRaWAN的背後勢力和網路部署情況,然後縱向講解了網路架構和具體的協議內容,幫助LoRa從業者系統地了解LoRaWAN協議。

1 LoRaWAN是什麼

按照LoRa聯盟官方白皮書《what is LoRaWAN》的介紹,LoRaWAN是為LoRa遠距離通信網路設計的一套通訊協議和系統架構。

另外官方提供了這張略偏技術的協議層次圖,各位看官大體感受下。

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規定數據幀類型有 Confirmed 或者 Unconfirmed 兩種,即 需要應答 和不需要應答類型。廠商可以根據應用需要選擇合適的類型。

另外,從介紹中可以看到,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聯盟中的地位。這麼高的地位搞點小特殊,你說過分么。

好了,介紹完如上的信息,大家應該對LoRaWAN有了系統的了解。

文章來源:twowinter的學習小站

推薦閱讀:

相关文章