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