- 物聯網長距離無線通信技術應用與開發
- 廖建尚 巴音查汗 蘇紅富
- 5346字
- 2019-11-15 16:06:19
1.2 長距離無線通信技術
1.2.1 長距離無線通信技術概述
物聯網系統廣泛應用了長距離無線通信技術,也稱為無線傳感器網絡。無線傳感器網絡最初是1978年由美國國防部高級研究計劃署于提出,其雛形是卡耐基梅隆大學研究的分布式傳感器網絡。在之后的幾十年內,隨著處微理器技術、嵌入式系統、無線電技術、存儲技術、互聯網技術、人工智能和自動化控制技術的巨大進步,無線傳感器網絡也得到了快速發展。目前,無線傳感器網絡項目應用廣泛,涵蓋了電力、交通、建筑、安防、林業、農業和工業等諸多領域。
無線傳感器網絡主要應用于大氣監測、農作物監控、害蟲監控、森林火災、水位監測、環境保護、自然棲息地監測、安防監控等。傳感器節點往往部署在環境惡劣的區域中,如遙遠荒蕪的區域、有毒的地區、大型工業建筑或航空器內部。
無線傳感器網絡還廣泛應用在管道管溝監測領域、井蓋、消防栓監控領域、液位水位監測領域、農業大棚監測領域、水產養殖監測領域、大氣環境監測領域,另外在軍事、科學考察等方面也有廣泛的應用。

圖1.5 無線傳感器網絡
無線傳感器網絡一般包括匯聚節點、管理節點和傳感器節點。傳感器節點按項目需求部署在被監控的區域內,傳感器節點通過各種網絡協議構建無線傳感器網絡。當網絡中某一個傳感器節點上傳監測數據時,數據會沿著由其他傳感器節點構成的無線傳輸路徑進行數據傳輸,最后匯聚到匯聚節點,并通過互聯網傳輸到服務器中。
一個無線傳感器網絡中的終端嵌入式傳感器節點,一般由傳感器、微處理器、無線通信模塊和電源四個模塊組成,電源一般由能量有限的電池提供,因此終端傳感器節點的存儲、處理、通信等能力有限。在一個無線傳感器節點中,傳感器用于采集和轉換被監測區域內的信息;電源為傳感器節點正常工作提供能量;無線通信模塊實現無線網絡中的數據傳輸;微處理器模塊主要用于對傳感器模塊、無線通信模塊、電源模塊統一管理控制,對傳感器采集的數據進行處理。
目前的無線傳感器網絡中的要求每個傳感器節點需具有路由功能和終端功能,每一個節點不僅能完成本地節點信息采集和數據處理,還能夠轉發網絡中其他節點轉發來的數據到其他節點。無線傳感器網絡的特點如下:
(1)網絡自組織性。一般來說,無線傳感器網絡構建前可能無法提前精確設定,也無法提前確定各節點之間的相對位置。因此,傳感器節點需要具備自動配置和自我管理功能,具備自我組織能力,自動構建無線傳感器網絡。
(2)網絡規模大。為了準確監測各類數據,以便精確感知環境的變化,在在被監測區域部署大量傳感器節點,從而獲取完整和準備的環境信息。
(3)網絡具有動態性。在實際應用中,無線傳感器網絡的拓撲結構會發生動態改變,比如無線通信鏈路帶寬的變化;單個或多個傳感器節點出現故障或失效;傳感器和感知對象地理位置產生相對變化等。因此無線傳感器網絡需要具有重構特性,能夠根據實際情況的變化,動態地改變網絡的拓撲結構。
(4)網絡可靠性高。很多應用場景,無線傳感器網絡有時可能部署環境比較惡劣的區域或人類難以到達的高危區域,如高溫、高原、低溫和強輻射等區域,因此,無線傳感器網絡中所使用的傳感器節點能適應各種惡劣環境。
1.2.2 常用的長距離無線通信技術
1.LoRa
LoRa是一種基于1 GHz技術的無線傳感器網絡,其特點是傳輸距離遠,易于建設和部署,功耗和成本低,適合進行大范圍的數據采集。LoRa應用示意如圖1.6所示。

圖1.6 LoRa應用示意
2.NB-IoT
NB-IoT構建于蜂窩網絡,可直接部署于GSM網絡、UMTS網絡或LTE網絡,以降低部署成本、實現平滑升級。NB-IoT的特點是覆蓋廣泛,功耗極低,由運營商提供連接服務。NB-IoT應用示意如圖1.7所示。

圖1.7 NB-IoT應用示意
3.LTE
LTE采用FDD和TDD技術,其特點是傳輸速度快、容量大、覆蓋范圍廣、移動性好,有一定的空間定位功能。LTE應用示意如圖1.8所示。

圖1.8 LTE應用示意
長距離無線通信技術的應用系統中大量采用了具有智能感測和無線傳輸的微型傳感設備或微型傳感器,通過這些設備來監測周遭環境,如溫度、濕度、光照度、氣體濃度、PM2.5、PM10、甲醛、電磁輻射、振動幅度等物理信息,并由長距離無線通信技術將收集到的信息傳輸給管理中心。管理中心獲取監測信息后,便可掌握現場狀況,進而維護、調整相關系統。長距離無線通信技術已成為軍事偵察、環境保護、建筑監測、安全作業、工業控制、家庭、船舶和運輸系統自動化等應用中重要的技術手段。物聯網長距離無線通信技術的部分應用領域如圖1.9所示。

圖1.9 物聯網長距離無線通信技術的部分應用領域
1.2.3 長距離無線通信技術的學習路線、開發平臺和開發環境
1.長距離無線通信技術的學習路線
長距離無線通信技術的學習路線如圖1.10所示。

圖1.10 長距離無線通信技術的學習路線
本書中長距離無線通信技術的學習內容如表1.1所示。
表1.1 長距離無線通信技術的學習內容

表1.1中的LoRa、NB-IoT、LTE使用的均是射頻模塊,本身并不具備數據邏輯處理能力,需要外接STM32微處理器來對射頻芯片進行操作。另外,為了方便使用這三種長距離無線通信技術,本書開發了更具網絡特征的協議棧,便于讀者學習和使用。
2.長距離無線通信技術的開發平臺
本書采用的開發平臺為xLab未來開發平臺,該平臺提供了兩種類型的智能節點(經典型節點ZXBeeLite-B和增強型節點ZXBeePlus-B),集成了鋰電池供電接口、調試接口、外設控制電路、RJ45傳感器接口等。本書所使用的節點類型為增強型節點ZXBeePlus-B,該節點集成了STM32微處理器、2.8英寸真彩LCD液晶屏、HTU21D型高精度數字溫濕度傳感器、RGB三色高亮LED指示燈(RGB燈)、兩路繼電器、蜂鳴器、攝像頭接口、USB接口、Ti仿真器接口、ARM仿真器接口、以太網等。xLab未來開發平臺如圖1.11所示。
本書使用xLab未來開發平臺進行學習和應用開發,該平臺支持多種無線傳感器網絡,包括CC2530 ZigBee無線傳感器網絡、CC2540藍牙BLE無線傳感器網絡、CC3200 Wi-Fi無線傳感器網絡、SX1278 LoRa無線傳感器網絡、WH-NB71 NB-IoT無線傳感器網絡、EC20 4G LTE無線傳感器網絡,本書主要使用的有SX1278 LoRa無線模組、WH-NB71 NB-IoT無線模組、EC20 4G LTE無線模組,其功能描述如表1.2所示。

圖1.11 xLab未來開發平臺
表1.2 無線模組功能一覽表

為深化無線傳感器網絡中節點的使用,本書的實例均需要使用傳感器和控制設備。xLab未來開發平臺按照傳感器類別設計了豐富的傳感設備,涉及采集類、控制類、安防類、顯示類、識別類、創意類等。本書使用到采集類開發平臺(Sensor-A)、控制類開發平臺(Sensor-B)和安防類開發平臺(Sensor-C)。
1)采集類開發平臺(Sensor-A)
采集類開發平臺包括:溫濕度傳感器、光照度傳感器、空氣質量傳感器、氣壓海拔傳感器、三軸加速度傳感器、距離傳感器、繼電器、語音識別傳感器等,如圖1.12所示。

圖1.12 采集類開發平臺
● 兩路RJ45工業接口,包含I/O、DC 3.3 V、DC 5 V、UART、RS-485、兩路繼電器輸出等功能,提供兩路3.3 V、5 V、12 V電源輸出。
● 采用磁吸附設計,可通過磁力吸附并通過RJ45工業接口接入節點進行數據通信。
● 溫濕度傳感器的型號為HTU21D,采用數字信號輸出和IIC通信接口,測量范圍為-40~125℃,以及5%RH~95%RH。
● 光照度傳感器的型號為BH1750,采用數字信號輸出和IIC通信接口,對應廣泛的輸入光范圍,相當于1~65535 lx。
● 空氣質量傳感器的型號為MP503,采用模擬信號輸出,可以檢測氣體酒精、煙霧、異丁烷、甲醛,檢測濃度為10~1000 ppm(酒精)。
● 氣壓海拔傳感器的型號為FBM320,采用數字信號輸出和IIC通信接口,測量范圍為300~1100 hPa。
● 三軸加速度傳感器的型號為LIS3DH,采用數字信號輸出和IIC通信接口,量程可設置為±2g、±4g、±8g、±16g(g為重力加速度),16位數據輸出。
● 距離傳感器的型號為GP2D12,采用模擬信號輸出,測量范圍為10~80 cm,更新頻率為40 ms。
● 采用繼電器控制,輸出節點有兩路繼電器接口,支持5 V電源開關控制。
● 語音識別傳感器的型號為LD3320,支持非特定人識別,具有50條識別容量,返回形式豐富,采用串口通信。
2)控制類開發平臺(Sensor-B)
控制類開發平臺包括:風扇、步進電機、蜂鳴器、LED、RGB燈、繼電器接口,如圖1.13所示。

圖1.13 控制類開發平臺
● 兩路RJ45工業接口,包含IO、DC 3.3 V、DC 5 V、UART、RS-485、兩路繼電器輸出等功能,提供兩路3.3 V、5 V、12 V電源輸出。
● 采用磁吸附設計,可通過磁力吸附并通過RJ45工業接口接入節點進行數據通信。
● 風扇為小型風扇,采用低電平驅動。
● 步進電機為小型42步進電機,驅動芯片為A3967SLB,邏輯電源電壓范圍為3.0~5.5 V。
● 使用小型蜂鳴器,采用低電平驅動。
● 兩路高亮LED燈,采用低電平驅動。
● RGB燈采用低電平驅動,可組合出任何顏色。
● 采用繼電器控制,輸出節點有兩路繼電器接口,支持5 V電源開關控制。
3)安防類開發平臺(Sensor-C)
安防類開發平臺包括:火焰傳感器、光柵傳感器、人體紅外傳感器、燃氣傳感器、觸摸傳感器、振動傳感器、霍爾傳感器、繼電器接口、語音合成傳感器等,如圖1.14所示。

圖1.14 安防類開發平臺
● 兩路RJ45工業接口,包含IO、DC 3.3 V、DC 5 V、UART、RS-485、兩路繼電器輸出等功能,提供兩路3.3 V、5 V、12 V電源輸出。
● 采用磁吸附設計,可通過磁力吸附并通過RJ45工業接口接入節點進行數據通信。
● 火焰傳感器采用5 mm的探頭,可檢測火焰或波長為760~1100 nm的光源,探測溫度為60℃左右,采用數字開關量輸出。
● 光柵傳感器的槽式光耦槽寬為10 mm,工作電壓為5 V,采用數字開關量信號輸出。
● 人體紅外傳感器的型號為AS312,電源電壓為3 V,感應距離為12 m,采用數字開關量信號輸出。
● 燃氣傳感器的型號為MP-4,采用模擬信號輸出,傳感器加熱電壓為5 V,供電電壓為5 V,可測量天然氣、甲烷、瓦斯氣、沼氣等。
● 觸摸傳感器的型號為SOT23-6,采用數字開關量信號輸出,檢測到觸摸時,輸出電平翻轉。
● 振動傳感器在低電平時有效,采用數字開關量信號輸出。
● 霍爾傳感器的型號為AH3144,電源電壓為5 V,采用數字開關量輸出,工作頻率寬(0~100 kHz)。
● 采用繼電器控制,輸出節點有兩路繼電器接口,支持5 V電源開關控制。
● 語音合成傳感器的型號為SYN6288,采用串口通信,支持GB2312、GBK、UNICODE等編碼,可設置音量、背景音樂等。
3.長距離無線通信技術的開發環境
為了避免多個開發和編譯環境給初學者在學習無線傳感器網絡時造成的困擾,本書在選擇芯片時選用了TI開發平臺,LoRa、NB-IoT和LTE都使用TI公司研發的芯片。這三種芯片的協議棧開發環境均為IAR集成開發環境。另外,這三種網絡選用的是射頻模塊加控制芯片的組合,在程序開發時只需要對控制芯片進行操作即可。控制芯片選用的是意法半導體公司生產的STM32微處理器,IAR集成開發環境對STM32微處理器也有很好的支持。因此,無線傳感器網絡程序的開發均使用IAR集成開發環境。
除了開發環境,意法半導體公司還提供了許多可用的工具,如網絡調試工具、抓包工具等,為了方便初學者對無線傳感器網絡的學習,本書也開發了功能強大的綜合調試工具。
1)IAR集成開發環境的主窗口界面
IAR集成開發環境的主窗口界面如圖1.15所示。
(1)Menu Bar(菜單欄):包含IAR的所有操作及內容,在編輯模式和調試模式下存在一些不同。
(2)Tool Bar(工具欄):包含一些常見的快捷按鈕。
(3)Workspace Window(工作空間窗口):一個工作空間可以包含多個工程,該窗口主要顯示工作空間中工程項目的內容。
(4)Edit Window(編輯窗口):代碼編輯區域。
(5)Message Window(信息窗口):包括編譯信息、調試信息、查找信息等內容。
(6)Status Bar(狀態欄):包含錯誤警告、光標行列等一些狀態信息。

圖1.15 IAR集成開發環境的主窗口界面
2)IAR集成開發環境的工具欄
工具欄上是主菜單部分功能的快捷按鈕,這些快捷按鈕之所以放置在工具欄上,是因為它們的使用頻率較高。例如,編譯按鈕,這個按鈕在編程時使用的頻率相當高,這些按鈕大部分也有對應的快捷鍵。
IAR的工具欄共有兩個:主工具欄和調試工具欄。編輯(默認)模式下只顯示主工具欄,進入調試模式后會顯示調試工具欄。
主工具欄可以通過菜單打開,即“View→Toolbars→Main”,如圖1.16所示。

圖1.16 IAR集成開發環境的工具欄
(1)IAR集成開發環境的主工具欄。在編輯模式下,只顯示主工具欄,其中的內容也是編輯模式下常用的快捷按鈕,如圖1.17所示。
● New Document:新建文件,快捷鍵為Ctrl+N。
● Open:打開文件,快捷鍵為Ctrl+O。
● Save:保存文件,快捷鍵為Ctrl+S。
● Save All:保存所有文件。
● Print:打印文件,快捷鍵為Ctrl+P。

圖1.17 IAR集成開發環境的主工具欄
● Cut:剪切,快捷鍵為Ctrl+X。
● Copy:復制,快捷鍵為Ctrl+C。
● Paste:粘貼,快捷鍵為Ctrl+V。
● Undo:撤銷編輯,快捷鍵為Ctrl+Z。
● Redo:恢復編輯,快捷鍵為Ctrl+Y。
● Quick Search Text Box:快速搜索文本框。
● Find Previous:向前查找,快捷鍵為Shift+F3。
● Find Next:向后查找,快捷鍵為F3。
● Find:查找(增強),快捷鍵為Ctrl+F。
● Replace:替換,快捷鍵為Ctrl+H。
● Go To:前往行列,快捷鍵為Ctrl+G。
● Toggle Bookmark:標記/取消書簽,快捷鍵為Ctrl+F2。
● Previous Bookmark:跳轉到上一個書簽,快捷鍵為Shift+F2。
● Next Bookmark:跳轉到下一個書簽,快捷鍵為F2。
● Navigate Forward:跳轉到下一步,快捷鍵為Alt+右箭頭。
● Navigate Backward:跳轉到上一步,快捷鍵為Alt+左箭頭。
● Compile:編譯,快捷鍵為Ctrl+F7。
● Make:編譯工程(構建),快捷鍵為F7。
● Stop Build:停止編譯,快捷鍵為Ctrl+Break。
● Toggle Breakpoint:編輯/取消斷點,快捷鍵為Ctrl+F9。
● Download and Debug:下載并調試,快捷鍵為Ctrl+D。
● Debug without Downloading:調試(不下載)。
(2)IAR集成開發環境的調試工具欄。調試工具欄是在程序調試模式下才顯示的快捷按鈕,在編輯模式下,這些按鈕是不顯示的,如圖1.18所示,各個圖標說明依次如下。

圖1.18 IAR集成開發環境的調試工具欄
● Reset:復位。
● Break:停止運行。
● Step Over:逐行運行,快捷鍵為F10。
● Step Into:跳入運行,快捷鍵為F11。
● Step Out:跳出運行,快捷鍵為F11。
● Next Statement:運行到下一語句。
● Run to Cursor:運行到光標行。
● Go:全速運行,快捷鍵為F5。
● Stop Debugging:停止調試,快捷鍵為Ctrl+Shift+D。
逐行運行也稱為逐步運行,跳入運行也稱為單步運行,運行到下一語句和逐行運行類似。