基于LORA的無線廣域物聯(lián)網(wǎng)應(yīng)用系統(tǒng)設(shè)計
本文采用LORA點(diǎn)對點(diǎn)通信及相應(yīng)的軟件設(shè)計,用匯聚節(jié)點(diǎn)+通信模塊上云的方式替代LORA****的方案設(shè)計廣域無線物聯(lián)網(wǎng)應(yīng)用,設(shè)計了終端節(jié)點(diǎn)、匯聚節(jié)點(diǎn)及服務(wù)器平臺軟件,實(shí)現(xiàn)了節(jié)點(diǎn)數(shù)較少的無線廣域物聯(lián)網(wǎng)應(yīng)用的經(jīng)濟(jì)實(shí)用方案。
1 總體設(shè)計
典型的基于LORA的物聯(lián)網(wǎng)應(yīng)用系統(tǒng)是通過LORA終端向LORA****發(fā)送數(shù)據(jù),再由LORA****通過網(wǎng)關(guān)將數(shù)據(jù)上云[3][4],本文設(shè)計的應(yīng)用系統(tǒng)采用LORA終端點(diǎn)對點(diǎn)通信方式,在擔(dān)任匯聚節(jié)點(diǎn)的終端中添加Wi-Fi通信模塊,通過Wi-Fi模塊完成數(shù)據(jù)的上云工作,這樣做成本更低,部署更簡單。我們再通過設(shè)計自己的服務(wù)器平臺通過云平臺的API接口獲取監(jiān)測數(shù)據(jù),系統(tǒng)架構(gòu)圖1所示。
2 硬件系統(tǒng)設(shè)計
2.1 LORA終端節(jié)點(diǎn)硬件設(shè)計
終端節(jié)點(diǎn)由MCU、傳感器單元、電源模塊、LORA通信模塊、SWD調(diào)試模塊等構(gòu)成,MCU采用STM32F103系列的芯片,該芯片應(yīng)用廣泛,成本較低。Lo Ra通信單元主要采用Semtech公司的SX1278射頻芯片實(shí)現(xiàn)Lo Ra數(shù)據(jù)的傳輸。整體構(gòu)造如圖2所示。
2.2 LORA匯聚節(jié)點(diǎn)硬件設(shè)計
LORA匯聚節(jié)點(diǎn)擔(dān)負(fù)收集傳感數(shù)據(jù)和將數(shù)據(jù)上傳到云端的功能,在硬件結(jié)構(gòu)上比終端節(jié)點(diǎn)多了一個WIFI模塊(或者4G模塊),其他結(jié)構(gòu)和終端節(jié)點(diǎn)一樣,這里不在贅述。
3 軟件系統(tǒng)設(shè)計
軟件系統(tǒng)包括:終端節(jié)點(diǎn)軟件和匯聚節(jié)點(diǎn)軟件,匯聚節(jié)點(diǎn)通過通訊模塊連接到云平臺(機(jī)智云物聯(lián)網(wǎng)云平臺[5]),依賴云平臺快速開發(fā)出系統(tǒng)的WEB應(yīng)用端。
3.1 終端節(jié)點(diǎn)、匯聚節(jié)點(diǎn)軟件設(shè)計
終端節(jié)點(diǎn)采集傳感器數(shù)據(jù),并將采集的數(shù)據(jù)通過點(diǎn)對點(diǎn)的方式發(fā)送到匯聚節(jié)點(diǎn),在終端節(jié)點(diǎn)發(fā)送給匯聚節(jié)點(diǎn)的數(shù)據(jù)報文中包含終端節(jié)點(diǎn)的編號、傳感器類型等信息。匯聚節(jié)點(diǎn)在接收到終端節(jié)點(diǎn)發(fā)送的報文后,檢查報文中的節(jié)點(diǎn)編號、傳感器類型等信息分別通過通信模塊上報的物聯(lián)網(wǎng)云平臺。終端節(jié)點(diǎn)和匯聚節(jié)點(diǎn)的軟件流程圖如圖3、圖4。
由于所有的終端節(jié)點(diǎn)和匯聚節(jié)點(diǎn)都是采用點(diǎn)對點(diǎn)通信,因此必須設(shè)計一套終端節(jié)點(diǎn)和匯聚節(jié)點(diǎn)之間的通信協(xié)議,以便匯聚節(jié)點(diǎn)能夠識別各個終端節(jié)點(diǎn)發(fā)送的數(shù)據(jù)。我們設(shè)計了一個簡單的協(xié)議格式。該協(xié)議的數(shù)據(jù)格式如表1。
圖一:系統(tǒng)總體結(jié)構(gòu)圖
圖二 :終端節(jié)點(diǎn)硬件結(jié)構(gòu)圖
為了提高數(shù)據(jù)通信的可靠性,2個字節(jié)的地址編碼我們只采用了如表2的地址。
即除了匯聚節(jié)點(diǎn)外,每個終端節(jié)點(diǎn)的地址編碼只能是2n,可以容納16個終端節(jié)點(diǎn),通過冗余便于節(jié)點(diǎn)檢查地址編碼傳輸是否出錯。這樣做的代價較大,可以通過實(shí)際部署環(huán)境的實(shí)際通信狀況修改地址編碼的方法,提高通信的效率。傳感器類型的編碼可以參考地址編碼的方法,這樣就可以部署8種不同類型的傳感器,如果需要部署的傳感器類型超過8個,可以根據(jù)實(shí)際的通信狀況改變傳感器類型編碼方法或者增加傳感器類型字段的長度。數(shù)據(jù)校驗(yàn)碼我們采用數(shù)據(jù)+數(shù)據(jù)字段長度的算術(shù)和。在系統(tǒng)的部署測試中,我們設(shè)計的這套簡單通信協(xié)議能夠支持系統(tǒng)的穩(wěn)定運(yùn)行。
3.2 服務(wù)器平臺設(shè)計
我們將設(shè)備接入了機(jī)智云Aiot開發(fā)平臺,基于機(jī)智云的Open API接口,我們設(shè)計了系統(tǒng)的服務(wù)器平臺。我們的服務(wù)器平臺基于Springboot[6]設(shè)計,平臺模塊包括:用戶管理模塊、設(shè)備管理模塊、數(shù)據(jù)呈現(xiàn)模塊。該平臺的功能可以繼續(xù)擴(kuò)展。
(1) 用戶管理模塊在本服務(wù)器上實(shí)現(xiàn)用戶的注冊、登錄、修改、刪除等功能,使用shiro框架進(jìn)行權(quán)限管理,通過調(diào)用機(jī)智云的用戶管理API完成機(jī)智云用戶的創(chuàng)建、登錄等功能。
(2) 設(shè)備管理模塊通過調(diào)用機(jī)智云的綁定管理API實(shí)現(xiàn)設(shè)備的綁定、解綁等功能。
(3) 數(shù)據(jù)呈現(xiàn)模塊設(shè)置了定時任務(wù),定時任務(wù)會定時從機(jī)智云獲取設(shè)備的狀態(tài)、傳感器數(shù)據(jù)等信息保存到本地數(shù)據(jù)庫,并通過Echarts可視化庫將數(shù)據(jù)呈現(xiàn)在Web端。
4 結(jié)語
LORA****目前的價格普遍在幾百元至上千元之間,本研究采用LORA匯聚節(jié)點(diǎn)匹配相應(yīng)的軟件設(shè)計替代LORA****實(shí)現(xiàn)遠(yuǎn)距離無線通信,在監(jiān)測節(jié)點(diǎn)數(shù)量較少(10個以下)的應(yīng)用中可以顯著減少硬件成本,是一種經(jīng)濟(jì)實(shí)用的LORA應(yīng)用方案。
表1:協(xié)議的數(shù)據(jù)格式
表2:2個字節(jié)的地址編碼
圖3終端節(jié)點(diǎn)程序流程圖
圖4:匯聚節(jié)點(diǎn)程序流程圖
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點(diǎn),如有侵權(quán)請聯(lián)系工作人員刪除。
伺服電機(jī)相關(guān)文章:伺服電機(jī)工作原理
pid控制器相關(guān)文章:pid控制器原理