司長(zhǎng)明 王長(zhǎng)蓮
摘要:本文探究了一種使用開(kāi)源的LoRaWAN服務(wù)器ChripStack和開(kāi)源的物聯(lián)網(wǎng)平臺(tái)ThingsBoard,利用ChripStack提供的“LoRaWAN網(wǎng)絡(luò)的開(kāi)源組件”,實(shí)現(xiàn)跨網(wǎng)關(guān)不同LoRa節(jié)點(diǎn)間的通信,及讀取節(jié)點(diǎn)數(shù)據(jù)和發(fā)送數(shù)據(jù)給節(jié)點(diǎn)的功能。
關(guān)鍵詞:開(kāi)源;LoRa;LoRaWAN
中圖分類(lèi)號(hào):TN929.5;TP391.44?? 文獻(xiàn)標(biāo)識(shí)碼:A?? 文章編號(hào):1672-9129(2020)16-0102-01
1 LoRa與LoRaWAN
LoRa(Long Range Radio)是一種遠(yuǎn)距離無(wú)線通信技術(shù),主要在ISM頻段運(yùn)行,包括433、868、915 MHz等,具有通信距離遠(yuǎn)(最遠(yuǎn)可達(dá)15km),功耗低(10-20電池使用壽命),多節(jié)點(diǎn)(一個(gè)LoRa網(wǎng)關(guān)理論上可連接數(shù)千個(gè)節(jié)點(diǎn)),抗干擾能力強(qiáng)等優(yōu)點(diǎn),其總體性能在小范圍內(nèi)(如工廠的廠區(qū)內(nèi))表現(xiàn)地非常好。
LoRaWAN是基于LoRa遠(yuǎn)距離通信網(wǎng)絡(luò)設(shè)計(jì)的一套通訊協(xié)議和系統(tǒng)架構(gòu),是一套數(shù)據(jù)交互的協(xié)議標(biāo)準(zhǔn),定義了LoRaWAN節(jié)點(diǎn),LoRaWAN網(wǎng)關(guān),LoRaWAN Server之間的通信,可以實(shí)現(xiàn)不同網(wǎng)關(guān)之間的通信,進(jìn)而實(shí)現(xiàn)不同網(wǎng)關(guān)下LoRa節(jié)點(diǎn)之間的通信。
2 方案框架及數(shù)據(jù)傳輸流程
本文主要探究的是使用開(kāi)源LoRaWAN服務(wù)器ChripStack和開(kāi)源的物聯(lián)網(wǎng)平臺(tái)ThingsBoard相結(jié)合,利用開(kāi)源的物聯(lián)網(wǎng)編程工具Node-RED來(lái)編寫(xiě)控制邏輯,實(shí)現(xiàn)多個(gè)LoRa網(wǎng)關(guān)連接到云端并進(jìn)行不同網(wǎng)關(guān)之間的通信?;贑hripStack的LoRaWAN拓?fù)浣Y(jié)構(gòu)圖如圖1所示。
圖1中,LoRa節(jié)點(diǎn)表示通過(guò)傳感器采集環(huán)境信息的設(shè)備,這些可以是:測(cè)量空氣質(zhì)量,溫度,濕度,可燃?xì)獾刃畔⒌脑O(shè)備;LoRa網(wǎng)關(guān)是多個(gè)LoRa節(jié)點(diǎn)之間相互通信的媒介,可以接收節(jié)點(diǎn)數(shù)據(jù)及發(fā)送數(shù)據(jù)給節(jié)點(diǎn);在LoRa網(wǎng)關(guān)上運(yùn)行的有一個(gè)網(wǎng)關(guān)與Server間的包轉(zhuǎn)發(fā)器,負(fù)責(zé)接收和發(fā)送數(shù)據(jù),稱(chēng)為Packet Fowarder,一般使用開(kāi)源應(yīng)用Semtech UDP數(shù)據(jù)包轉(zhuǎn)發(fā)器;ChirpStack網(wǎng)關(guān)橋位于數(shù)據(jù)包轉(zhuǎn)發(fā)和MQTT代理之間,它將數(shù)據(jù)包轉(zhuǎn)發(fā)格式(如Semtech UDP數(shù)據(jù)包轉(zhuǎn)發(fā)器協(xié)議)轉(zhuǎn)換為ChirpStack組件使用的數(shù)據(jù)格式,還提供了與各種云平臺(tái)的集成方式;MQTT是一種基于客戶端-服務(wù)器的消息發(fā)布/訂閱傳輸協(xié)議,具有低開(kāi)銷(xiāo)、低帶寬占用、輕量、簡(jiǎn)單、開(kāi)放和易于實(shí)現(xiàn)的特點(diǎn),使其在M2M通信、物聯(lián)網(wǎng)(IOT)、小型設(shè)備等方面有較廣泛的應(yīng)用,而Pub/Sub broker是MQTT的消息代理服務(wù)器,主要用于中轉(zhuǎn)多個(gè)設(shè)備之間的消息,也稱(chēng)為MQTT的服務(wù)器;ChirpStack網(wǎng)絡(luò)服務(wù)器是一個(gè)LoRaWAN的網(wǎng)絡(luò)服務(wù)器,負(fù)責(zé)管理網(wǎng)絡(luò)的狀態(tài),能夠在網(wǎng)絡(luò)上將連接的設(shè)備激活,并且能夠在設(shè)備要加入網(wǎng)絡(luò)時(shí)處理加入請(qǐng)求,完成節(jié)點(diǎn)的入網(wǎng)及將數(shù)據(jù)發(fā)送給指定的網(wǎng)關(guān);ChirpStack應(yīng)用服務(wù)器是一個(gè)LoRaWAN應(yīng)用服務(wù)器,可以通過(guò)高性能、開(kāi)源和通用的RPC框架gRPC與ChirpStack網(wǎng)絡(luò)服務(wù)器完成通信,ChirpStack應(yīng)用服務(wù)器主要提供了用于管理用戶,組織,應(yīng)用程序,網(wǎng)關(guān)和設(shè)備的Web界面和API;ThingsBoard是一個(gè)開(kāi)源的物聯(lián)網(wǎng)平臺(tái),使用行業(yè)標(biāo)準(zhǔn)物聯(lián)網(wǎng)協(xié)議(MQTT,COAP和HTTP)實(shí)現(xiàn)設(shè)備連接,并支持云和本地部署,能夠收集數(shù)據(jù)并對(duì)數(shù)據(jù)進(jìn)行可視化展示,主要用于數(shù)據(jù)收集、處理、可視化展示以及設(shè)備管理等;Node-RED是IBM在2013年末開(kāi)發(fā)的一個(gè)開(kāi)源項(xiàng)目,現(xiàn)在已經(jīng)發(fā)展成為一個(gè)較為開(kāi)放的物聯(lián)網(wǎng)開(kāi)發(fā)工具,它是基于流的編程模型,其可視化編程方法,能夠滿足快速連接硬件和設(shè)備到Web服務(wù)和其他軟件的需求,也被稱(chēng)為物聯(lián)網(wǎng)的“粘合劑”,Node-RED能夠與ChirpStack配合,結(jié)合ThingsBoard平臺(tái)和LoRaWAN網(wǎng)關(guān)設(shè)備,完成對(duì)不同物聯(lián)網(wǎng)應(yīng)用場(chǎng)景模型下設(shè)備控制邏輯的實(shí)現(xiàn),達(dá)到可視化編程來(lái)控制物聯(lián)網(wǎng)設(shè)備的目標(biāo)。
具體的數(shù)據(jù)傳輸流程如下:LoRa節(jié)點(diǎn)設(shè)備通過(guò)傳感器將采集到的數(shù)據(jù)(空氣質(zhì)量、溫度、濕度、光照、可燃?xì)獾龋┌l(fā)送給LoRa網(wǎng)關(guān)(其可以接收/發(fā)送多個(gè)節(jié)點(diǎn)的數(shù)據(jù)),LoRa網(wǎng)關(guān)將數(shù)據(jù)通過(guò)數(shù)據(jù)包轉(zhuǎn)發(fā)器(Packet Forwarder:常見(jiàn)實(shí)現(xiàn)是Semtech UDP數(shù)據(jù)包轉(zhuǎn)發(fā)器)通過(guò)UDP發(fā)送給ChirpStack網(wǎng)關(guān)網(wǎng)橋,ChirpStack網(wǎng)關(guān)網(wǎng)橋位于數(shù)據(jù)包轉(zhuǎn)發(fā)和MQTT代理之間,主要將數(shù)據(jù)包轉(zhuǎn)發(fā)器格式轉(zhuǎn)換為ChirpStack組件使用的數(shù)據(jù)格式,ChirpStack網(wǎng)關(guān)網(wǎng)橋使用MQTT協(xié)議通過(guò)消息代理服務(wù)器(Broker)將數(shù)據(jù)發(fā)送給ChirpStack網(wǎng)絡(luò)服務(wù)器(負(fù)責(zé)管理網(wǎng)絡(luò)的狀態(tài)),ChirpStack網(wǎng)絡(luò)服務(wù)器可以通過(guò)采用高性能RPC框架gRPC將數(shù)據(jù)傳輸給ChirpStack應(yīng)用服務(wù)器,ChirpStack應(yīng)用服務(wù)器將收到的上行鏈路數(shù)據(jù)轉(zhuǎn)發(fā)到一個(gè)或多個(gè)已配置的集成,這里面使用的是Thingsboard,它可以使用ChirpStack應(yīng)用服務(wù)器API來(lái)調(diào)度下行鏈路的相關(guān)LoRa節(jié)點(diǎn)設(shè)備,最終用于分析數(shù)據(jù)、發(fā)出警報(bào)、數(shù)據(jù)可視化以及觸發(fā)相關(guān)操作等。
3 結(jié)語(yǔ)
本文根據(jù)作者在新大陸集團(tuán)有限公司企業(yè)一線實(shí)踐經(jīng)歷,探究了一種基于開(kāi)源軟件來(lái)實(shí)現(xiàn)LoRa遠(yuǎn)距離無(wú)線通信的實(shí)驗(yàn)方案,采用開(kāi)源框架的設(shè)計(jì)能夠幫助學(xué)生學(xué)習(xí)開(kāi)源知識(shí),加強(qiáng)學(xué)生創(chuàng)新性的培養(yǎng),增強(qiáng)學(xué)生的專(zhuān)業(yè)技能。
參考文獻(xiàn):
[1]楊心元,杜丹,王凱.基于LoRaWAN-Server的態(tài)勢(shì)呈現(xiàn)平臺(tái)設(shè)計(jì)[J].計(jì)算機(jī)與網(wǎng)絡(luò),2020,46(16):55-57.
[2]劉映江,胡澤.基于LoRaWAN物聯(lián)網(wǎng)技術(shù)的農(nóng)田監(jiān)測(cè)系統(tǒng)設(shè)計(jì)[J].數(shù)字通信世界,2017(12):120.
[3]龔天平.LORA技術(shù)實(shí)現(xiàn)遠(yuǎn)距離、低功耗無(wú)線數(shù)據(jù)傳輸[J].電子世界,2016(10):115+117.