LoRaWAN是為LoRa遠距離通信網(wǎng)絡(luò)設(shè)計的一套通訊協(xié)議和系統(tǒng)架構(gòu)。一個LoRaWAN網(wǎng)絡(luò)架構(gòu)中包含了節(jié)點、網(wǎng)關(guān)、樹莓派這四個部分。其中節(jié)點一般是傳感器或者開關(guān)控制,實現(xiàn)遠程傳感器數(shù)據(jù)采集或者開關(guān)控制應(yīng)用。
LoRa網(wǎng)關(guān)負責(zé)收集節(jié)點數(shù)據(jù)進行封裝,轉(zhuǎn)發(fā)給LoRaWAN服務(wù)器。LoRaWAN服務(wù)器負責(zé)上下行數(shù)據(jù)包的完整性校驗。用戶服務(wù)器負責(zé)OTAA設(shè)備的入網(wǎng)激活,應(yīng)用數(shù)據(jù)的加解密和業(yè)務(wù)邏輯處理。
節(jié)點數(shù)據(jù)最終到達用戶服務(wù)器,需經(jīng)歷節(jié)點-網(wǎng)關(guān)-LoRaWAN服務(wù)器-用戶服務(wù)器,其中節(jié)點為嵌入式開發(fā),節(jié)點和網(wǎng)關(guān)LoRa無線通訊需要硬件電路匹配。
網(wǎng)關(guān)需要多線程處理以支持多路無線并行通訊需求,LoRaWAN服務(wù)器和用戶服務(wù)器為網(wǎng)絡(luò)服務(wù)器開發(fā)。各部分要求的開發(fā)環(huán)境不同,造成了開發(fā)的困難。
LoRaWAN網(wǎng)關(guān)服務(wù)器優(yōu)點:
LoRaWAN網(wǎng)關(guān)服務(wù)器為了方便用戶使用,將LoRaWAN系統(tǒng)架構(gòu)中的網(wǎng)關(guān)、LoRaWAN服務(wù)器和用戶服務(wù)器集成到一起,是用戶無需深入了解LoRaWAN通訊協(xié)議和多平臺開發(fā)即可搭建LoRaWAN網(wǎng)絡(luò)。
思為無線提供的解決方案:
LoRaWAN網(wǎng)關(guān)服務(wù)器使用樹莓派作為控制系統(tǒng),網(wǎng)關(guān)、LoRaWAN服務(wù)器和用戶服務(wù)器功能由樹莓派內(nèi)的應(yīng)用程序?qū)崿F(xiàn)。
其中網(wǎng)關(guān)功能由網(wǎng)關(guān)程序?qū)崿F(xiàn),收集節(jié)點數(shù)據(jù)進行封裝。
LoRaWAN服務(wù)器和用戶服務(wù)器功能由服務(wù)器程序?qū)崿F(xiàn),負責(zé)上下行數(shù)據(jù)包的完整性校驗,OTAA設(shè)備的入網(wǎng)激活,應(yīng)用數(shù)據(jù)的加解密和數(shù)據(jù)處理。
網(wǎng)關(guān)程序和服務(wù)器程序同時在樹莓派中運行,通過socket通訊。
上行數(shù)據(jù)傳輸步驟:
步驟1.節(jié)點發(fā)送數(shù)據(jù)給網(wǎng)關(guān)程序。
步驟2.網(wǎng)關(guān)程序采集數(shù)據(jù)并封裝。
步驟3.網(wǎng)關(guān)程序用socket發(fā)送給服務(wù)器程序。
步驟4.服務(wù)器程序收到數(shù)據(jù),校驗無誤后解密數(shù)據(jù)。
步驟5.服務(wù)器程序輸出解密的數(shù)據(jù)到串口供用戶使用。
下行數(shù)據(jù)傳輸步驟:
步驟1.服務(wù)器程序接收串口輸入的數(shù)據(jù)。
步驟2.服務(wù)器程序加密串口輸入的數(shù)據(jù)并校驗。
步驟3.服務(wù)器程序把加密數(shù)據(jù)用socket發(fā)送給網(wǎng)關(guān)程序。
步驟4.網(wǎng)關(guān)程序下發(fā)加密數(shù)據(jù)給節(jié)點。
步驟5.節(jié)點接收到數(shù)據(jù)并處理。