天天看點

lorawan 科普文

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

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 科普文

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。

lorawan 科普文

3 LoRaWAN的網絡部署情況

在綁定了幾個一級電信營運商後,網絡部署情況就比較可觀了。按照官方目前(2017.04)的聲明,網絡部署情況是這樣:

34個公開聲明部署的網絡,至少150個在進行的城市試點部署。

lorawan 科普文

你們發現沒,雞脖子那邊有一點白,可能是主體主義思想的光輝太耀眼了。

4 LoRaWAN 網絡架構

在前面部分了解了LoRaWAN很火之後,我們具體從技術角度做些了解。如下是LoRa聯盟官方白皮書中的網絡架構圖。

lorawan 科普文

可以看到一個LoRaWAN網絡架構中包含了終端、基站、NS(網絡伺服器)、應用伺服器這四個部分。基站和終端之間采用星型網絡拓撲,由于LoRa的長距離特性,它們之間得以使用單跳傳輸。在終端部分官方列了6個典型應用,有個細節,你會發現終端節點可以同時發給多個基站。基站則對NS和終端之間的LoRaWAN協定資料做轉發處理,将LoRaWAN資料分别承載在了LoRa射頻傳輸和Tcp/IP上。

下面結合下行業生态再來看下這個網絡架構,大家可以有更深的認知。圖來自ST的LoRa白皮書《IoT connectivity made easier STM32 MCUs & LoRa》。

lorawan 科普文

5 協定概述

5.1 終端節點的分類

在開頭的介紹中我們就看到有協定中有規定 Class A/B/C 三類終端裝置,這三類裝置基本覆寫了物聯網所有的應用場景。

為了友善大家,我又做了個表。

lorawan 科普文

5.2 終端節點的上下行傳輸

下面來點時序圖,讓大家有更深的感受。

這是Class A 上下行的時序圖,目前接收視窗RX1一般是在上行後1秒開始,接收視窗RX2是在上行後2秒開始。

lorawan 科普文

Class C 和 A 基本是相同的,隻是在 Class A 休眠的期間,它都打開了接收視窗RX2。

lorawan 科普文

Class B 的時隙則複雜一些,它有一個同步時隙beacon,還有一個固定周期的接收視窗ping時隙。如這個示例中,beacon周期為128秒,ping周期為32秒。

lorawan 科普文

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在全球各地區的具體實體層參數,不單單是頻段有差別,細化到信道劃分,甚至是資料速率,發射功率,最大資料長度等等都有差別。

為了友善大家了解總體情況,我又做了個表。

lorawan 科普文

其實這個表也可以看出一個好玩的事情,為什麼南韓的參數和亞洲各國其實差不太多,卻單獨拎出來。如果你有記得前文中的董事會成員記錄,就應該知道南韓SK電信在LoRa聯盟中的地位。這麼高的地位搞點小特殊,你說過分麼。

7 LoRaWAN應用示例

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