認識LoRa以及LoRaWAN


首先樺樺還是喜歡先給出自己整理的思維導圖,以便大家梳理整篇文章的框架。

在這裏插入圖片描述
在這裏插入圖片描述

1 瞭解物聯網

話不多說,直接上圖,就知道整個物聯網的架構。

在這裏插入圖片描述

  • 應用層:就是交互界面,我們可以從交互界面直觀的看到數據,並且可以向感知層傳送控制命令。
  • 服務層:其實服務層是屬於應用層,服務層就是用來處理從傳輸層傳來的海量數據的。
  • 傳輸層:就是用來傳輸數據的,我們下面的LORA 技術就是一種傳輸數據的射頻技術。
  • 感知層: 就是由單片機和各種傳感器構成的,用於將環境的變量轉換成二進制數據。
    在這裏插入圖片描述

2 LoRa和NB-IOT 誰主江湖?

瞭解物聯網的朋友肯定知道,現在物聯網最火的兩個技術就是LoRa和NB-IOT
NB-IoT和LoRa都是低功耗廣域網(Low Power Wide Area Network,LPWAN),是一種可以實現低帶寬、低功耗、遠距離、大量連接的物聯網通信技術。

  • 綜合看起來,NB-IoT和LoRa在技術上難分伯仲.
  • 兩者主要的區別,在於應用場合的區別。LoRa是基於非授權頻段的,NB是基於授權頻段的。
技術 LoRa NB-IOT
頻段與質量 非授權頻段,質量差 授權頻段,質量好
通信距離 2-15KM 支持長距離
組網 自建網,部署及運維簡單 只能運營商建設運營,建設維護複雜
數據安全 多重加密 加密模式單一
終端成本 芯片 1-2美元 芯片5美元左右
終端功耗 電池壽命可達10年+ 同距離,功耗是LoRa的5倍
發展 13年發佈芯片整個產業鏈相對較爲成熟,在外國商用案例多,但是國內還未成熟 17年上半年發佈模塊產業鏈受頻段、運營商等限制
應用場合 自主(私有)管理領域,例如智慧農業 公共事業,智能水錶

LoRa是美國Semtech公司的技術,核心專利則主要由國外公司擁有;
NB-IoT更具有本土優勢,中國在專利數量上佔據優勢。由於我國企業更多掌握NB-IoT技術專利,所以我國從政策角度更傾向於發展NB-IoT。

3 LoRa和LoRaWAN傻傻分不清楚

3.1 什麼是LoRa?

LoRa是Long Range(長距離)的簡稱,是一種長距離、低功耗無線通信技術。2009年法國公司Cycleo設計出一種優異的擴頻通信算法,後來,該公司被美國semtech公司收購,後者於2013年推出LoRa芯片。目前,semtech公司是LoRa芯片唯一供應商。

  • 得益於擴頻調製技術(將信息信號帶寬擴展多倍,即傳輸信息的信號遠大於信息信號本身帶寬),LoRa可以有很長的傳輸距離。有一個概念需要知道,就是擴頻因子,他與傳輸距離成正比,與傳輸速度成反比。

3.1.1 LoRa缺點

傳輸速率低,另外還有一個阻力就是國內更加傾向於發展NB-IOT。
工信部發布的《微功率短距離無線電發射設備目錄和技術要求》對LoRa的發射功率,發送數據的時長都做了限制。
另外,由於是公共頻段,質量無法得到保證。

3.1.2 LoRa優點

長覆蓋,低功耗,抗干擾強,大容量接入,因爲使用免費的頻段,降低了我們用戶部署的成本。
這裏必須記住國內的頻段是CN470-510

我們可以將LoRa看成是長WIFI,如果不是專門研究通信技術的,我們瞭解一下就行。我們主要要深入學習的是LoRaWAN協議,就像我們學習計算機網絡,我們學習的主要還是各種協議。

3.2 什麼是LoRaWAN(LoRaWAN網絡架構)?

LoRaWAN是LoRa Wide Area Network(LoRa廣域網)的簡稱,是基於LoRa技術的一種通信協議。它主要包括三個層次的通信實體:LoRa終端、LoRa網關和LoRa服務器。我們觀察下圖,發現LoRaWAN網絡是星型拓撲結構,單個網關可以接入多個節點終端,這就是大容量接入的特點,

在這裏插入圖片描述
LoRaWAN的架構就是上面說過的物聯網架構。

3.2.1 節點End Nodes

  • 由LoRa模塊+傳感器組成,傳感器採集數據,LoRa模組將終端採集到的數據上傳到網關。
    節點有三種類型。節點必須加入到LoRaWAN網絡,進行入網激活,有兩種入網方式OTAA和APB,由於這裏內容較多,放在後面介紹。

3.2.2 網關Gateway

  • 終端節點與服務器之間的信息橋樑,多信道收發(因爲LoRa是擴頻調製技術,不同擴頻因子的無線電信號是正交的),負責數據的臨時存儲與透明傳輸(網關不解析節點數據,也沒有業務邏輯,網關起到透傳的作用)。

3.2.3 網絡服務器NS

  • 這一部分是整個架構的核心,有時候也直接叫做LoRaWAN Server 。負責管理所有節點與網關,進行數據處理與控制(接入控制,數據傳輸與管理,網關管理與配置等。),還有把相關數據傳送到AS.

3.2.3 應用服務器AS

即用戶交互界面,可以直觀的管理設備。

Gateway是IP設備(運行IP協議棧),
End Node運行的是LoRaMac-node(沒有運行IP協議棧)。
NS與Gateway之間的接口協議爲JSON / GWMP / UDP / IP
NS與AS之間的協議是JSON / GWMP  / IP

3.3 LoRaWAN協議架構

LoRaWAN標準協議規範,並不完整,沒有定義各個Server交互的通信協議,更沒有定義各個Server對外的API。這造成LoRaWAN看起來有標準,但實質上雲端LoRaWAN Server並沒有標準可執行。而上面說過LoRaWAN Server纔是核心。所以這部分都是各個公司自定義的,最典型的是Chirpstack公司。

在這裏插入圖片描述

4 爲什麼 LoRaWAN 可以低能耗?

LoRa是擴頻調製,核心功能是軟件算法完成,發射功率小;
LoRaWAN是異步ALOHA機制,僅當需要發送數據時,節點才醒來工作;因此,能耗很低。這一點在後面的節點分類中會具體提到。

5 爲什麼 LoRaWAN 可以信息安全?

在LoRaWAN網絡中傳輸的數據經過兩層加密。這個在下面入網方式會具體解釋。

  • 網絡層:NwkSkey
  • 應用層:AppSkey

6 爲什麼 LoRaWAN 可以長距離傳輸?

在通信原理裏有一個公式,提高發射功率,提高接收靈敏度,提高發射天線增益,提高接收天線增益都能有效提高傳輸距離。
而節點node和網關內的LoRa模塊都做到了這些。但是如果在一個建築物密集的環境,這種長傳輸的特性就會被幹擾,正如WIfi最害怕的事情就是穿牆。
外國人口稀疏,這也是爲什麼他們大面積部署LoRaWAN的一個原因。

7 節點end nodes詳講

7.1 節點分類

從A到C,性能是越來越高的,功能也更全面,但是能耗就越高,A是基礎型,B和C是擴展型。class A和B可以互相切換。

7.1.1 Class A(雙向傳輸終端)

每個終端設備的上行鏈路傳輸之後會緊跟兩個短的下行鏈路接收窗口。以此達到雙向通信。
終端設備基於其自身的通信需求來安排傳輸時隙,在隨機時間的基礎上有很小的變化。(ALOHA類型的協議)
這種操作爲應用提供了最小的功耗的終端系統,只要求應用在終端上行傳輸後的很短時間內進行服務器的下行傳輸。服務器在任何時間進行的下行傳輸都得等終端的下次上行。

7.1.2 Class B(劃分接受時隙的雙向傳輸終端)

B類終端設備允許更多接收時隙。除了A類隨機接收窗口外,B類設備還在指定的時間打開別的的接收窗口。爲了使終端設備在指定的時間打開它的接收窗口,它從網關接收時間同步的信標(Beacon)。這使得服務器可以知道終端何時處於監聽狀態。讓網關週期發送星標來同步網絡中所有終端節點,以便終端在週期時隙的確定時間打開短的接收窗口。

7.1.3 Class C(最大接受時隙的雙向傳輸終端)

C類終端設備幾乎連續打開接收窗口,只有在發送時才關閉。與A類或B類相比,C類終端設備更耗電,但是它們爲服務器到終端設備的通信提供了最低的延遲。

7.2 兩種入網方式

在這裏插入圖片描述
無論是ABP,還是OTAA,最終,End Node都會得到3個參數:DevAddr、NwkSKey和AppSKey.
我們首先介紹幾個容易混淆的概念,很少有人會解釋,下面樺樺總結一下。

  • DevEUI: 標識唯一的終端設備。

  • AppEUI: 標識終端的應用提供者。

  • AppKey: 是由應用程序擁有者提供給終端的
    上面的三個信息在入網前就已經在終端配置好的。

  • DevAddr:由標識當前網絡設備的32位ID組成。

  • NwkSkey:網絡會話密鑰,被終端節點和網絡服務器用來計算和校驗所有信息的MIC,以保證數據的完整性。也用於對單獨的Mac的數據載荷進行加解密。

  • AppSKey:應用層會話密鑰,被終端和網絡服務器用來對應用層消息進行加解密。
    上面的3個信息是兩種入網方式最終終端都需要配置好的參數

7.2.1 空中接入激活OTAA(Over-The-Air Activation)

  • OTAA:是LoRaWAN的一種透過大氣電波(LoRa網絡)入網方式,當終端開機後,需要向服務器發送join-request message信息,請求入網,然後服務器同意入網後,並返回join-accept message,終端在對這個accept信息解析,獲取通信參數,對終端進行配置。具體的如下。
    在這裏插入圖片描述

  • 首先,一個End Node需要配置:AppEUI和DevEUI;
    並且取LoRa芯片的RSSI隨機值,得到DevNonce。將這3個參數,組織成Join Request數據幀,發送給LoRaWAN Server。

  • Server接收到Join Request後,分配DevAddr,連同AppNonce和NetID,組織成JoinAccept數據幀,迴應給EndNode。

  • End Node接收Join Accept後,提取DevAddr;結合4個參數:AppKey、AppNonce、NetID和DevNonce,使用aes128_encrypt(),生成2個密鑰:NekSKey和AppSKey。

7.2.2 人工接入激活APB(Activation By Personalization)

獨立激活,LoRaWANServer和End Nodes雙方都保存相同的3個參數:DevAddr、NwkSKey和AppSKey。在一開始就配置好的,不需要OTAA那麼麻煩。

8 雲平臺介紹

當前市面上的LoRaWAN Server,除了前面提到的阿里雲和騰訊雲,還有TTN、ChirpStack等,他們都基於LoRaWAN,而且符合LoRaWAN標準的節點理論上都可以接入這些Server,但是由於雲端Server沒有標準,各家的LoRaWAN網關接入協議、應用接口都不一致,無法相互兼容

另外,不管是Semtech公司還是LoRaWAN聯盟,都沒有提供LoRaWAN Server的實現示例!LoRaWAN節點入網,上報數據等都必須依賴LoRaWAN Server,而官方沒有提供LoRaWAN Server示例,這讓那些不具備開發LoRaWAN Server的實力的小公司,想用LoRaWAN卻用不了,只能拋棄LoRaWAN而使用自定義協議。
ChirpStack提供開源的LoRaWAN SERVER代碼。

https://www.chirpstack.io/overview/

9 ChirpStack

在這裏插入圖片描述
ChirpStack是一個由 CableLabs 主導的開源的LoRaWan網絡服務器堆棧,之前該項目的名字叫LoRa Server。(後改名爲ChirpStack)

ChirpStack爲LoRaWAN網絡提供了開源組件,它們共同構成了一個現成的解決方案,包括用於設備管理的用戶友好型Web界面和用於集成的API,並且模塊化體系結構使其可以集成到現有基礎架構中。目前所有組件均已獲得MIT許可,並可以用於商業目的。

ChirpStack提供的組件如下:

  • ChirpStack網關網橋:處理與LoRaWAN網關的通信
  • ChirpStack網絡服務器:LoRaWAN網絡服務器的實現
  • ChirpStack應用服務器:LoRaWAN應用服務器的實現
  • ChirpStack地理位置服務器: 與LoRaWAN地理位置後端的集成
  • ChirpStack網關操作系統:基於嵌入式Linux的操作系統,可在LoRa網關上運行(完整)的ChirpStack堆棧。
樺樺接下來會重點介紹ChirpStack和TTN,並整理成博客。

下面是chirp stack部署的博客,後面會持續更新。
https://blog.csdn.net/weixin_46027505/article/details/107088145

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章