中國船舶重工集團公司第七一一研究所 張呈龍 莊浩然 張永安 楊文強
物聯網是新一代信息技術的重要組成部分,也是“信息化”時代的重要發展階段。物聯網通過智能感知、識別技術與普適計算等通信感知技術,廣泛應用于網絡的融合中,也因此被稱為繼計算機、互聯網之后世界信息產業發展的第三次浪潮。
物聯網應用中無線技術主要分為兩種,一種是近距離無線技術,比如:藍牙/WiFi/ZigBee。另外一種則是組成廣域網的技術如2G/3G/4G,各個技術優缺點非常明顯,在LPWAN技術產生前,通常遠距離和低功耗兩者只能取其一。LPWAN(low-power Wide-Area Network,低功耗廣域網)專為低帶寬、低功耗、遠距離、大量連接的物聯網應用而設計的,是近年國際上一種革命性的物聯網接入技術。LPWAN技術產生后,魚和熊掌的問題可謂得到平衡,除實現更長距離通信和超低功耗外,還可以節省額外的中繼器成本。
LoRa是LPWAN通信技術中極具代表性技術,是美國Semtech公司采用和推廣的一種基于擴頻技術的超遠距離無線傳輸技術,是Semtech射頻部分產生的一種獨特的調制格式。這種傳輸方案改變了以往關于傳輸距離與功耗的折衷考慮方式,提供一種簡單的能實現遠距離、長電池壽命、大容量的系統,進而擴展傳感網絡。目前,LoRa主要在全球免費頻段運行,包括433、868、915 MHz等。LoRa與其他LPWAN技術的主要比較如下表1所示。

表1 幾種主流LPWAN主要技術參數對比

圖1 LoRa的典型物聯網應用
如圖1所示,基于LoRa的典型物聯網應用主要由終端模塊、網關(或稱基站)模塊、云端服務器和上層應用四部分組成,應用數據可雙向傳輸。終端和網關之間采用星型網絡拓撲,由于LoRa的長距離特性,它們之間得以使用單跳傳輸。網關對服務器和終端之間的LoRaWAN協議數據做轉發處理,將LoRaWAN數據分別承載在了LoRa射頻傳輸和Tcp/IP上。
借助LoRa通信具備的低帶寬、低功耗、遠距離、多節點等特點,得以組建具備多層分布式結構的數據采集及無線傳輸系統。系統由終端模塊、中心模塊、網關模塊、云端服務器及應用服務組成。
第一層為終端模塊,負責采集各種傳感器數據或執行相關控制動作,并通過LoRa與中心模塊進行數據定點傳輸。第二層為中心模塊,主要具有三方面的作用:一為負責與本模塊路由管理下的終端模塊進行LoRa廣播或單播傳輸,向終端模塊發送召測命令或動作指令;二為負責與其上層的網關模塊進行LoRa數據透傳,實現數據的上傳或下發;三為中繼器作用,通過配置實現不同層的中心模塊間數據點對點透傳,以達到擴展系統通訊距離的目的。第三層為網關模塊,其負責對云服務器或應用服務與下層之間的協議轉發處理,將數據分別承載在LoRaWAN和TCP/IP上;同時還兼具了系統內LoRaWAN部分的信道分配、路由管理及數據存儲等功能。第四層為云端服務器及應用服務,方便用戶在任意具備以太網接口的設備上對系統數據進行監測、處理、存儲及下發控制策略。系統的組成框圖如圖2所示。

圖2 系統組成框圖
為實現系統組成及各層間的數據傳輸方式,需對系統通訊協議內各層LoRa節點進行合理的節點號(ID)及信道分配。
系統內具備的數據傳輸方式有如下幾種:一種為終端模塊與中心模塊(WTM-unicast-WRM)或中心模塊與網關模塊(WRM-unicast-GWM)間的定點單播傳輸,另一種為中心模塊至終端模塊間的廣播監聽(WRM-broadcast-WTM),如下圖3所示。

圖3 系統內兩種數據傳輸方式
針對此,本系統采用了三層式節點ID分配方式,同時為了保證系統的節點容量最大化,模塊節點ID占用2個Byte。第一層,網關節點ID = 0x0001~0x00FA (高8位必定為0x00,高8位范圍為0x01~0xFA);第二層,中心節點ID = 0xXX 00 (低8位必定為0x00,高8位范圍為0x01~0xFA);第三層,終端節點ID = 0xXX 01 ~ 0xXX 3F(高8位與對應的中心節點ID高8位一致,低8位從0x01 ~ 0x3F)。當需要進行同一中心節點下的廣播監聽時,可使用ID為0xXXFF(XX為對應中心節點ID高8位)作為廣播地址,當需要進行同一網關下全網廣播監聽時,可使用ID為0xFFFF作為廣播地址。同時,預留出廠默認ID(白機):中心節點0xFD 00;終端節點0xFD 01。節點ID分配方式如圖4所示。

圖4 系統節點ID分配方式
由此可計算出,同一TCP/IP服務端下,系統最大支持的LoRa網關數量為250個。同一網關下的LoRaWAN內,最大支持250個中心節點,終端節點的數量最大可支持至15750個。能夠滿足絕大部分LoRaWAN物聯網應用場景。
為了達到終端模塊的低功耗設計,網關模塊節點及中繼模塊節點采用尋呼工作方式,即平時各終端模塊節點處于休眠模式,只開啟定時器中斷用于信道監聽,只有在收到中繼模塊節點的開啟信道引導碼指令時,才做出采集動作并回應,需要回送數據時再啟動發射狀態。系統的數據流傳輸工作模式流程圖如圖5所示。

圖5 系統工作模式流程圖
為了實現終端模塊的空中喚醒功能,需要在有效數據報文前加一段足夠長的引導碼,要保證前導碼的持續時間略長于終端節點的休眠時間。終端節點進行周期性地喚醒,監聽網絡報文,一旦捕捉到前導碼就進入正常的接收流程,若沒有就立即休眠,等待下一次喚醒。空中喚醒的示意圖如圖6所示。

圖6 終端節點空中喚醒示意圖
LoRa數據包結構包含三個部分,前導碼(Preamble)、可選類型報頭(Header)、數據有效負載(Payload)。LoRa默認為顯式Header模式,在這種模式下,Header會包含Payload的相關信息,包括:Payload長度、前向糾錯編碼率、是否使用CRC。由此,LoRa數據包傳輸的總時間即等于引導碼傳輸時間與數據有效負載傳輸時間之和。
根據:

再根據:

(其中PL表示有效負載的字節數;SF表示擴頻因子;使用報頭時 H=0,未使用H=1;當LowDataRateOptimize位設置為1時,DE=1,否則DE=0;CR表示編碼率)得到有效負載數據的符號數,再代入得到數據包總傳輸時間。
通過在最大終端模塊數量(63個)下,不同調制帶寬(BW)、擴頻因子(SF)模式下的試驗數據對比,驗證得到終端模塊設置在BW=125kHz,SF=6時,間歇監聽的時間設置為187.5ms為最合適值。驗證數據如圖7所示。

圖7 系統LoRa傳輸時間試驗數據
本文介紹了一種基于LoRa的多層分布式數據無線傳輸系統的解決方案,極大的發揮了LoRa長距離、多節點、低功耗的特點,同時在各模塊僅有1個物理接受發射機的前提下,極大節省了系統成本。經實際驗證,可在節點數>1000個,數據8Byte/包的大小及60包/小時的發包頻率下,系統可穩定運行。能夠廣泛應用與智能抄表、路燈監控、智慧農業、智能灌溉、智能樓宇等物聯網應用的場合。