本文采用LORA點對點通訊及相應的軟體設計,用匯聚節點+通訊模組上雲的方式替代LORA基站的方案設計廣域無線物聯網應用,設計了終端節點、匯聚節點及伺服器平臺軟體,實現了節點數較少的無線廣域物聯網應用的經濟實用方案。
1 總體設計
典型的基於LORA的物聯網應用系統是透過LORA終端向LORA基站傳送資料,再由LORA基站透過閘道器將資料上雲[3][4],本文設計的應用系統採用LORA終端點對點通訊方式,在擔任匯聚節點的終端中新增Wi-Fi通訊模組,透過Wi-Fi模組完成資料的上雲工作,這樣做成本更低,部署更簡單。我們再透過設計自己的伺服器平臺透過雲平臺的API介面獲取監測資料,系統架構圖1所示。
2 硬體系統設計
2.1 LORA終端節點硬體設計
終端節點由MCU、感測器單元、電源模組、LORA通訊模組、SWD除錯模組等構成,MCU採用STM32F103系列的晶片,該晶片應用廣泛,成本較低。Lo Ra通訊單元主要採用Semtech公司的SX1278射頻晶片實現Lo Ra資料的傳輸。整體構造如圖2所示。
2.2 LORA匯聚節點硬體設計
LORA匯聚節點擔負收集感測資料和將資料上傳到雲端的功能,在硬體結構上比終端節點多了一個WIFI模組(或者4G模組),其他結構和終端節點一樣,這裡不在贅述。
3 軟體系統設計
軟體系統包括:終端節點軟體和匯聚節點軟體,匯聚節點透過通訊模組連線到雲平臺(機智雲物聯網雲平臺[5]),依賴雲平臺快速開發出系統的WEB應用端。
3.1 終端節點、匯聚節點軟體設計
終端節點採集感測器資料,並將採集的資料透過點對點的方式傳送到匯聚節點,在終端節點發送給匯聚節點的資料報文中包含終端節點的編號、感測器型別等資訊。匯聚節點在接收到終端節點發送的報文後,檢查報文中的節點編號、感測器型別等資訊分別透過通訊模組上報的物聯網雲平臺。終端節點和匯聚節點的軟體流程圖如圖3、圖4。
由於所有的終端節點和匯聚節點都是採用點對點通訊,因此必須設計一套終端節點和匯聚節點之間的通訊協議,以便匯聚節點能夠識別各個終端節點發送的資料。我們設計了一個簡單的協議格式。該協議的資料格式如表1。
圖一:系統總體結構圖
圖二 :終端節點硬體結構圖
為了提高資料通訊的可靠性,2個位元組的地址編碼我們只採用瞭如表2的地址。
即除了匯聚節點外,每個終端節點的地址編碼只能是2n,可以容納16個終端節點,透過冗餘便於節點檢查地址編碼傳輸是否出錯。這樣做的代價較大,可以透過實際部署環境的實際通訊狀況修改地址編碼的方法,提高通訊的效率。感測器型別的編碼可以參考地址編碼的方法,這樣就可以部署8種不同型別的感測器,如果需要部署的感測器型別超過8個,可以根據實際的通訊狀況改變感測器型別編碼方法或者增加感測器型別欄位的長度。資料校驗碼我們採用資料+資料欄位長度的算術和。在系統的部署測試中,我們設計的這套簡單通訊協議能夠支援系統的穩定執行。
3.2 伺服器平臺設計
我們將裝置接入了機智雲Aiot開發平臺,基於機智雲的Open API介面,我們設計了系統的伺服器平臺。我們的伺服器平臺基於Springboot[6]設計,平臺模組包括:使用者管理模組、裝置管理模組、資料呈現模組。該平臺的功能可以繼續擴充套件。
(1) 使用者管理模組在本伺服器上實現使用者的註冊、登入、修改、刪除等功能,使用shiro框架進行許可權管理,透過呼叫機智雲的使用者管理API完成機智雲使用者的建立、登入等功能。
(2) 裝置管理模組透過呼叫機智雲的繫結管理API實現裝置的繫結、解綁等功能。
(3) 資料呈現模組設定了定時任務,定時任務會定時從機智雲獲取裝置的狀態、感測器資料等資訊儲存到本地資料庫,並透過Echarts視覺化庫將資料呈現在Web端。
4 結語
LORA基站目前的價格普遍在幾百元至上千元之間,本研究採用LORA匯聚節點匹配相應的軟體設計替代LORA基站實現遠距離無線通訊,在監測節點數量較少(10個以下)的應用中可以顯著減少硬體成本,是一種經濟實用的LORA應用方案。
表1:協議的資料格式
表2:2個位元組的地址編碼
圖3終端節點程式流程圖
圖4:匯聚節點程式流程圖