本發(fā)明涉及無線設(shè)備組網(wǎng)
技術(shù)領(lǐng)域:
,尤其涉及一種基于lora的組網(wǎng)方法及系統(tǒng)。
背景技術(shù):
:現(xiàn)有的lorawan組網(wǎng)方式為:1.終端設(shè)備(下文簡(jiǎn)稱為“終端”)通過lora無線通訊(下文簡(jiǎn)稱為“l(fā)ora通訊”)的方式與lorawan網(wǎng)關(guān)(下文簡(jiǎn)稱“網(wǎng)關(guān)”)連接。2.網(wǎng)關(guān)通過ip網(wǎng)絡(luò)(因特網(wǎng)或者局域網(wǎng))與物聯(lián)網(wǎng)云服務(wù)器(下文簡(jiǎn)稱“云服務(wù)器”)連接。3.網(wǎng)關(guān)之間無法通過lora無線通訊方式連接。4.云服務(wù)器是整個(gè)lorawan的中心,它負(fù)責(zé)對(duì)每個(gè)終端進(jìn)行控制或數(shù)據(jù)采集。傳統(tǒng)lorawan的拓?fù)浣Y(jié)構(gòu)(圖1):1.站在終端與網(wǎng)關(guān)的角度來看(圖2),一個(gè)終端只能與一個(gè)網(wǎng)關(guān)相連,但是一個(gè)網(wǎng)關(guān)可以連接多個(gè)終端,這是以網(wǎng)關(guān)為中心的星型拓?fù)浣Y(jié)構(gòu)。2.站在網(wǎng)關(guān)與云服務(wù)器的角度來看(圖3),一個(gè)網(wǎng)關(guān)只能與一個(gè)云服務(wù)器連接,但是一個(gè)云服務(wù)器可以連接多個(gè)網(wǎng)關(guān),這是以云服務(wù)器為中心的星型拓?fù)浣Y(jié)構(gòu)。3.站在整個(gè)loraawan的角度來看(圖1),這是以云服務(wù)器為中心的兩層星型拓?fù)洹.?dāng)前技術(shù)問題及缺點(diǎn):所有網(wǎng)關(guān)必須布設(shè)在有ip網(wǎng)絡(luò)的環(huán)境中。在無法擁有ip網(wǎng)絡(luò)的特定環(huán)境(比如廣袤的草原和無垠的沙漠等)將無法鋪設(shè),或者直接限制了lorawan的覆蓋范圍。技術(shù)實(shí)現(xiàn)要素:本發(fā)明提供了一種基于lora的組網(wǎng)方法,包括:直接與云服務(wù)器通過ip網(wǎng)絡(luò)相連的網(wǎng)關(guān)稱作主網(wǎng)關(guān),主網(wǎng)關(guān)與云服務(wù)器的lora通訊跳數(shù)為0,網(wǎng)關(guān)的跳數(shù)是指網(wǎng)關(guān)要與云服務(wù)器通訊需要經(jīng)過的網(wǎng)關(guān)的個(gè)數(shù);沒有ip網(wǎng)絡(luò)、無法與云服務(wù)器直接相連的網(wǎng)關(guān)稱作子網(wǎng)關(guān),子網(wǎng)關(guān)與主網(wǎng)關(guān)或其他子網(wǎng)關(guān)相連;使終端與子網(wǎng)關(guān)相連;該組網(wǎng)方法包括物理層、鏈路層、網(wǎng)絡(luò)層和應(yīng)用幀層,所述鏈路層負(fù)責(zé)臨近網(wǎng)關(guān)的鏈接,所述網(wǎng)絡(luò)層負(fù)責(zé)云服務(wù)器與指定網(wǎng)關(guān)間的鏈接,其中包含路由信息。作為本發(fā)明的進(jìn)一步改進(jìn),所述子網(wǎng)關(guān)入網(wǎng)執(zhí)行如下步驟:初始化步驟:網(wǎng)關(guān)初始化;請(qǐng)求步驟:廣播發(fā)送入網(wǎng)請(qǐng)求;判斷步驟:判斷超時(shí)時(shí)間內(nèi)是否收到云服務(wù)器的入網(wǎng)確認(rèn),如是,那么執(zhí)行保存步驟,否則執(zhí)行請(qǐng)求步驟;保存步驟:保存入網(wǎng)確認(rèn)中的網(wǎng)關(guān)地址信息;發(fā)送步驟:網(wǎng)關(guān)按照保存的路由表信息,向云服務(wù)器發(fā)送入網(wǎng)確認(rèn)信息;發(fā)送步驟:網(wǎng)關(guān)按照保存的路由表信息,向云服務(wù)器發(fā)送入網(wǎng)確認(rèn)信息。作為本發(fā)明的進(jìn)一步改進(jìn),每當(dāng)網(wǎng)絡(luò)發(fā)生變化時(shí),云服務(wù)器會(huì)根據(jù)路由跳數(shù)、接收時(shí)間和此網(wǎng)關(guān)與相鄰網(wǎng)關(guān)的rssi這三個(gè)值來計(jì)算路徑權(quán)重pathweight,算法如下:pathweight=a*hop+b*rcvtime+c*pathweight其中a、b、c是系數(shù),根據(jù)實(shí)際權(quán)衡來調(diào)節(jié);每個(gè)網(wǎng)關(guān)選出權(quán)重最大的幾條路徑,也就是從相鄰網(wǎng)關(guān)中選取下一跳優(yōu)先網(wǎng)關(guān),并將此信息更新到對(duì)應(yīng)網(wǎng)關(guān)中。作為本發(fā)明的進(jìn)一步改進(jìn),如果云服務(wù)器發(fā)現(xiàn)發(fā)送下行數(shù)據(jù)時(shí),某個(gè)網(wǎng)關(guān)無法繼續(xù)轉(zhuǎn)發(fā)數(shù)據(jù),則重新計(jì)算路由,換另外的路徑發(fā)送幀,如果此時(shí)發(fā)送成功則更新響應(yīng)網(wǎng)關(guān)的路由表;對(duì)于網(wǎng)關(guān)轉(zhuǎn)發(fā)上行數(shù)據(jù)時(shí),按照上行路由表的優(yōu)先次序,如果某一個(gè)網(wǎng)關(guān)不能為其轉(zhuǎn)發(fā)數(shù)據(jù)或者轉(zhuǎn)發(fā)超時(shí),會(huì)切換到下一優(yōu)先級(jí)的網(wǎng)關(guān)繼續(xù)轉(zhuǎn)發(fā),其他網(wǎng)關(guān)轉(zhuǎn)發(fā)成功,會(huì)再使用此路徑發(fā)送一個(gè)上行幀告訴云服務(wù)器,網(wǎng)關(guān)轉(zhuǎn)發(fā)異常,云服務(wù)器會(huì)根據(jù)這一信息更新相應(yīng)網(wǎng)關(guān)的路由表。作為本發(fā)明的進(jìn)一步改進(jìn),云服務(wù)器按照網(wǎng)關(guān)的定位信息、網(wǎng)關(guān)間的rssi、以及終端與網(wǎng)關(guān)間的rssi信息得出可視化網(wǎng)絡(luò)覆蓋。本發(fā)明還提供了一種基于lora的組網(wǎng)系統(tǒng),包括云服務(wù)器、主網(wǎng)關(guān)、子網(wǎng)關(guān)和終端,其中:直接與云服務(wù)器通過ip網(wǎng)絡(luò)相連的網(wǎng)關(guān)稱作主網(wǎng)關(guān),主網(wǎng)關(guān)與云服務(wù)器的lora通訊跳數(shù)為0,網(wǎng)關(guān)的跳數(shù)是指網(wǎng)關(guān)要與云服務(wù)器通訊需要經(jīng)過的網(wǎng)關(guān)的個(gè)數(shù);沒有ip網(wǎng)絡(luò)、無法與云服務(wù)器直接相連的網(wǎng)關(guān)稱作子網(wǎng)關(guān),子網(wǎng)關(guān)與主網(wǎng)關(guān)或其他子網(wǎng)關(guān)相連;終端與子網(wǎng)關(guān)相連;該組網(wǎng)系統(tǒng)包括物理層、鏈路層、網(wǎng)絡(luò)層和應(yīng)用幀層,所述鏈路層負(fù)責(zé)臨近網(wǎng)關(guān)的鏈接,所述網(wǎng)絡(luò)層負(fù)責(zé)云服務(wù)器與指定網(wǎng)關(guān)間的鏈接,其中包含路由信息。作為本發(fā)明的進(jìn)一步改進(jìn),所述子網(wǎng)關(guān)入網(wǎng)執(zhí)行如下模塊:初始化模塊:網(wǎng)關(guān)初始化;請(qǐng)求模塊:廣播發(fā)送入網(wǎng)請(qǐng)求;判斷模塊:判斷超時(shí)時(shí)間內(nèi)是否收到云服務(wù)器的入網(wǎng)確認(rèn),如是,那么執(zhí)行保存模塊,否則執(zhí)行請(qǐng)求模塊;保存模塊:保存入網(wǎng)確認(rèn)中的網(wǎng)關(guān)地址信息;發(fā)送模塊:網(wǎng)關(guān)按照保存的路由表信息,向云服務(wù)器發(fā)送入網(wǎng)確認(rèn)信息;確認(rèn)模塊:云服務(wù)器確認(rèn)網(wǎng)關(guān)已經(jīng)入網(wǎng)成功。作為本發(fā)明的進(jìn)一步改進(jìn),每當(dāng)網(wǎng)絡(luò)發(fā)生變化時(shí),云服務(wù)器會(huì)根據(jù)路由跳數(shù)、接收時(shí)間和此網(wǎng)關(guān)與相鄰網(wǎng)關(guān)的rssi這三個(gè)值來計(jì)算路徑權(quán)重pathweight,算法如下:pathweight=a*hop+b*rcvtime+c*pathweight其中a、b、c是系數(shù),根據(jù)實(shí)際權(quán)衡來調(diào)節(jié);每個(gè)網(wǎng)關(guān)選出權(quán)重最大的幾條路徑,也就是從相鄰網(wǎng)關(guān)中選取下一跳優(yōu)先網(wǎng)關(guān),并將此信息更新到對(duì)應(yīng)網(wǎng)關(guān)中。作為本發(fā)明的進(jìn)一步改進(jìn),如果云服務(wù)器發(fā)現(xiàn)發(fā)送下行數(shù)據(jù)時(shí),某個(gè)網(wǎng)關(guān)無法繼續(xù)轉(zhuǎn)發(fā)數(shù)據(jù),則重新計(jì)算路由,換另外的路徑發(fā)送幀,如果此時(shí)發(fā)送成功則更新響應(yīng)網(wǎng)關(guān)的路由表;對(duì)于網(wǎng)關(guān)轉(zhuǎn)發(fā)上行數(shù)據(jù)時(shí),按照上行路由表的優(yōu)先次序,如果某一個(gè)網(wǎng)關(guān)不能為其轉(zhuǎn)發(fā)數(shù)據(jù)或者轉(zhuǎn)發(fā)超時(shí),會(huì)切換到下一優(yōu)先級(jí)的網(wǎng)關(guān)繼續(xù)轉(zhuǎn)發(fā),其他網(wǎng)關(guān)轉(zhuǎn)發(fā)成功,會(huì)再使用此路徑發(fā)送一個(gè)上行幀告訴云服務(wù)器,網(wǎng)關(guān)轉(zhuǎn)發(fā)異常,云服務(wù)器會(huì)根據(jù)這一信息更新相應(yīng)網(wǎng)關(guān)的路由表。作為本發(fā)明的進(jìn)一步改進(jìn),云服務(wù)器按照網(wǎng)關(guān)的定位信息、網(wǎng)關(guān)間的rssi、以及終端與網(wǎng)關(guān)間的rssi信息得出可視化網(wǎng)絡(luò)覆蓋。本發(fā)明的有益效果是:本發(fā)明在沒有ip網(wǎng)絡(luò)的環(huán)境下極大增加lora網(wǎng)絡(luò)覆蓋范圍;并且是自愈型網(wǎng)絡(luò),可以在某個(gè)或某些網(wǎng)關(guān)故障的情況下,保證終端與與服務(wù)器之間仍可以保持通訊;可視化網(wǎng)絡(luò)覆蓋,可以方便擴(kuò)充以及維護(hù)設(shè)備。附圖說明圖1是傳統(tǒng)lorawan拓?fù)浣Y(jié)構(gòu)圖。圖2是傳統(tǒng)lorawan網(wǎng)關(guān)與終端間拓?fù)浣Y(jié)構(gòu)圖。圖3是傳統(tǒng)lorawan云服務(wù)器與網(wǎng)關(guān)間拓?fù)浣Y(jié)構(gòu)圖。圖4是本發(fā)明的loraawan拓?fù)浣Y(jié)構(gòu)圖。圖5是本發(fā)明的loraawan的跳數(shù)示意圖。圖6是本發(fā)明的loraawan網(wǎng)關(guān)間拓?fù)浣Y(jié)構(gòu)圖。圖7是本發(fā)明的各設(shè)備間通訊使用的協(xié)議圖。圖8是本發(fā)明在通訊中網(wǎng)關(guān)數(shù)據(jù)發(fā)送與接收?qǐng)D。圖9是本發(fā)明的網(wǎng)關(guān)對(duì)下行數(shù)據(jù)幀的發(fā)送流程圖。圖10是本發(fā)明的網(wǎng)關(guān)初始化流程圖。圖11是本發(fā)明的子網(wǎng)關(guān)入網(wǎng)流程圖。圖12是本發(fā)明的可視化網(wǎng)絡(luò)覆蓋圖。具體實(shí)施方式如圖4所示,本發(fā)明公開了一種基于lora的組網(wǎng)方法(一套網(wǎng)關(guān)之間基于lora通訊的網(wǎng)狀多跳組網(wǎng)方式),解決了沒有ip網(wǎng)絡(luò)的環(huán)境中l(wèi)ora網(wǎng)絡(luò)的覆蓋問題,本發(fā)明將此組網(wǎng)方式稱作lora增強(qiáng)型廣域網(wǎng)(下文簡(jiǎn)稱“l(fā)oraawan”)。并且此組網(wǎng)方式考慮到了網(wǎng)關(guān)故障時(shí)整個(gè)網(wǎng)絡(luò)的自愈性,以及l(fā)ora網(wǎng)絡(luò)覆蓋可視化監(jiān)控。如圖4所示,直接與云服務(wù)器通過ip網(wǎng)絡(luò)相連的網(wǎng)關(guān)稱作主網(wǎng)關(guān),主網(wǎng)關(guān)與云服務(wù)器的lora通訊跳數(shù)為0(網(wǎng)關(guān)的跳數(shù)是指網(wǎng)關(guān)要與云服務(wù)器通訊需要經(jīng)過的網(wǎng)關(guān)的個(gè)數(shù))。沒有ip網(wǎng)絡(luò)、無法與云服務(wù)器直接相連的網(wǎng)關(guān)稱作子網(wǎng)關(guān),子網(wǎng)關(guān)可與主網(wǎng)關(guān)或其他子網(wǎng)關(guān)相連。應(yīng)用這種新型組網(wǎng)方式理論可以使任何一個(gè)網(wǎng)關(guān)所構(gòu)建的子網(wǎng)絡(luò)的覆蓋范圍都為無窮遠(yuǎn)。下面進(jìn)行具體的介紹:1.loraawan的構(gòu)成:1.1網(wǎng)絡(luò)設(shè)備:本發(fā)明的loraawan由云服務(wù)器、主網(wǎng)關(guān)、子網(wǎng)關(guān)和終端組成。從硬件的角度來看:1.1.1.云服務(wù)器硬件上與傳統(tǒng)云服務(wù)器相同;1.1.2.主網(wǎng)關(guān)與子網(wǎng)關(guān)都硬件配有中央處理器、電源模塊、gps模塊,支持全球ism頻段的lora收發(fā)器(例如采用semtech的sx1301)。1.1.2.1.對(duì)于主網(wǎng)關(guān)還配有以太網(wǎng)或wifi模塊等用來連接ip網(wǎng)絡(luò),并且為線路供電;1.1.2.2.對(duì)于子網(wǎng)關(guān)在一些不具備線路供電的情況下也可以考慮采用電池供電;1.1.3.終端是可以配有l(wèi)ora模塊可以接入lorawan的數(shù)據(jù)采集或控制類設(shè)備,大多為電池供電。1.2.網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。a.loraawan拓?fù)浣Y(jié)構(gòu)。b.網(wǎng)關(guān)間拓?fù)浣Y(jié)構(gòu)。c.跳數(shù)計(jì)算。1.3.loraawan的網(wǎng)絡(luò)分層(如表2),其中:a.phylayer(物理層)與lorawan的phylayer完全相同。b.lnklayer(鏈路層)主要負(fù)責(zé)臨近網(wǎng)關(guān)的鏈接。c.nwklayer(網(wǎng)絡(luò)層)主要負(fù)責(zé)云服務(wù)器與指定網(wǎng)關(guān)間的鏈接,其中包含路由信息。2.通訊方式2.1.為了合理的利用帶寬,lorawan和loraawan之間使用的信道不同。例如,loraawan通訊使用779-787mhz頻段,lorawan通訊使用470-510mhz頻段。(當(dāng)然按照實(shí)際情況也可以使用同一個(gè)頻段中分配不同的信道lorawan和loraawan使用)。2.2.從整個(gè)優(yōu)化后的系統(tǒng)來看,各設(shè)備間的通訊方式見圖7:2.2.1.云服務(wù)器只需要支持loraawan。2.2.2.每個(gè)網(wǎng)關(guān)都分別實(shí)現(xiàn)了lorawan和loraawan。2.2.3.終端僅支持lorawan。2.2.4.終端與網(wǎng)關(guān)的通訊被轉(zhuǎn)換成loraawan后在轉(zhuǎn)發(fā)給云服務(wù)器或者其他網(wǎng)關(guān)。2.3.站在通訊發(fā)起端來看loraawan通訊方式見圖8,其中除了網(wǎng)關(guān)需要發(fā)送之外的時(shí)間全部用來接收數(shù)據(jù)。2.4.loraawan的幀格式。2.4.1.phylayer(物理層)與lorawan的phylayer完全相同。2.4.2.在phylayer之上是lnklayer(鏈路層),結(jié)構(gòu)見表3。lnklayer通過lhdr(表6)保證了臨近網(wǎng)關(guān)間的傳輸。其中2.4.2.1.lnk描述(表7)中確定了數(shù)據(jù)類型(表8),是正常發(fā)送出去的,還是由于某種原因回傳回來的,如果是回傳的數(shù)據(jù)可以查看表9,判斷目標(biāo)是否不可達(dá)。2.4.2.2.lnk序號(hào)是發(fā)起端指定的一個(gè)數(shù)字,為了在傳輸失敗時(shí)確認(rèn)哪一個(gè)序號(hào)lnkpayload失敗了。2.4.2.3.接收方地址和發(fā)送方地址都是3字節(jié)的網(wǎng)關(guān)地址。網(wǎng)關(guān)只有發(fā)現(xiàn)接收方的地址與自身匹配才處理這一幀。網(wǎng)關(guān)地址為0指云服務(wù)器,網(wǎng)關(guān)地址為0xffffff指廣播。2.4.2.4.如果當(dāng)前網(wǎng)關(guān)接到a幀,轉(zhuǎn)發(fā)a幀失敗后,則回傳,并且告訴在lnk狀態(tài)中標(biāo)注目標(biāo)不可達(dá)。2.4.3.在lnklayer之上是nwklayer(網(wǎng)絡(luò)層),結(jié)構(gòu)見表4。nwklayer通過nhdr(表10)引入了路由表的概念,可以依賴路由表通過多個(gè)網(wǎng)關(guān)將數(shù)據(jù)傳輸至云服務(wù)器或者指定網(wǎng)關(guān)。2.4.3.1.nwk描述(表11)中定義了ntype(nwk類型,見表12),其中“上行”指從指定網(wǎng)關(guān)到云服務(wù)器,“下行”指從云服務(wù)器到指定網(wǎng)關(guān)?!靶枰_認(rèn)”指接收方收到此幀后需要回復(fù)原始發(fā)送方確認(rèn)幀(確認(rèn)位=1),“不需要確認(rèn)”是指接收方收到此幀后不需要回復(fù)任何信息。如果“通訊模式”為1表示此幀是節(jié)點(diǎn)與云服務(wù)器之間的通訊,frmpayload需要按照lorawan的phypayload解析。“通訊模式”為0代表frmpayload按照loraawan的子協(xié)議解析。2.4.3.2.“nwk序號(hào)”是發(fā)起端指定的一個(gè)數(shù)字,為了在傳輸失敗時(shí)確認(rèn)哪一個(gè)序號(hào)的nwkpayload失敗了。2.4.3.3.“網(wǎng)關(guān)地址”在上行幀中代表發(fā)起方網(wǎng)關(guān)的地址,在下行幀中代表目標(biāo)接受方的網(wǎng)關(guān)地址。2.4.3.4.“跳數(shù)”是指當(dāng)前網(wǎng)關(guān)收到此幀時(shí)已經(jīng)經(jīng)過了幾個(gè)網(wǎng)關(guān)轉(zhuǎn)發(fā)。2.4.3.5."路由序列"在2.4.5中描述。在下行幀中需要從“路由序列”中“跳數(shù)”對(duì)應(yīng)的位置取出網(wǎng)關(guān)編號(hào),再根據(jù)網(wǎng)關(guān)編號(hào)檢索出對(duì)應(yīng)的網(wǎng)關(guān)地址,將此網(wǎng)關(guān)地址填入“l(fā)hdr”中的“接收方”,自身作為發(fā)送方,將此幀發(fā)送出去。2.4.3.6.“確認(rèn)的nwk序號(hào)”僅當(dāng)“nwk描述”中的“確認(rèn)位”位1時(shí)才存在,代表了對(duì)哪個(gè)nwk序號(hào)的幀進(jìn)行確認(rèn)。2.4.4.在nwklayer之上是frmlayer(應(yīng)用幀層),結(jié)構(gòu)見表5。frmlayer攜帶具體的應(yīng)用數(shù)據(jù),因此這一層的協(xié)議由對(duì)應(yīng)應(yīng)用自行定義。2.4.5.“路由序列”:2.4.5.1.路由信息對(duì)于上行和下行的意義不同。上行幀中需要每個(gè)途徑的網(wǎng)關(guān)填入自身的下一跳網(wǎng)關(guān)編號(hào)到對(duì)應(yīng)“跳數(shù)”的位置,并將“跳數(shù)”加1,并此網(wǎng)關(guān)編號(hào)檢索到的網(wǎng)關(guān)地址填入“l(fā)hdr”中的“接收方”,自身作為發(fā)送方,將此幀發(fā)送出去;2.4.5.2.網(wǎng)關(guān)編號(hào)由3位組成,“路由序列”表由15個(gè)字節(jié)組成,意味著最大跳數(shù)只能到40。3.網(wǎng)關(guān)入網(wǎng)流程:3.1“入網(wǎng)請(qǐng)求”的frmpayload格式見表14。3.1.1“網(wǎng)關(guān)設(shè)備id”是發(fā)起入網(wǎng)請(qǐng)求的網(wǎng)關(guān)在ieeeeui64地址空間的唯一設(shè)備地址。3.1.2“到第一個(gè)網(wǎng)關(guān)的rssi”是指入網(wǎng)幀被第一網(wǎng)關(guān)接收到時(shí)的rssi(接收的信號(hào)強(qiáng)度指示)。3.1.3最多允許網(wǎng)關(guān)有三根天線,這三根天線也許不在同一位置,每根天線坐標(biāo)字段的前3個(gè)字節(jié)為緯度,后3個(gè)字節(jié)為經(jīng)度。3.1.4“網(wǎng)關(guān)的utc時(shí)間”是指發(fā)起入網(wǎng)請(qǐng)求的網(wǎng)關(guān)在與gps同步時(shí)間后獲取的utc時(shí)間,云服務(wù)器可以以此計(jì)算此網(wǎng)關(guān)到云服務(wù)器的上行傳輸延遲時(shí)間。3.2入網(wǎng)確認(rèn)的frmpayload格式見表15。3.2.1“網(wǎng)關(guān)設(shè)備id”是發(fā)起入網(wǎng)請(qǐng)求的網(wǎng)關(guān)在ieeeeui64地址空間的唯一設(shè)備地址。3.2.2“分配的網(wǎng)絡(luò)地址”是指云服務(wù)器分配給此“網(wǎng)關(guān)設(shè)備id”的網(wǎng)關(guān)的網(wǎng)絡(luò)地址。3.2.3“臨近網(wǎng)關(guān)地址列表”是指云服務(wù)器告訴發(fā)起入網(wǎng)的網(wǎng)關(guān),它附近有哪些其他網(wǎng)關(guān)已經(jīng)加入此loraawan網(wǎng)絡(luò)。最多有8個(gè)網(wǎng)關(guān)地址,他們的編號(hào)是從0到7。3.2.4“上行路由表”是一個(gè)優(yōu)先級(jí)列表,其中每3位是“臨近網(wǎng)關(guān)地址列表”中的一個(gè)序號(hào),最多保存4個(gè)網(wǎng)關(guān)序號(hào),發(fā)送上行數(shù)據(jù)可以根據(jù)此序號(hào)檢索“臨近網(wǎng)關(guān)地址列表”取出網(wǎng)關(guān)地址作為目標(biāo)地址傳輸幀。3.2.5“云服務(wù)器的utc時(shí)間”是指云服務(wù)器的utc時(shí)間,網(wǎng)關(guān)可以以此計(jì)算下行傳輸延遲時(shí)間。3.3網(wǎng)關(guān)入網(wǎng)前需要做的初始化如圖10。3.4子網(wǎng)關(guān)入網(wǎng)流程圖見圖11,執(zhí)行如下步驟:初始化步驟:網(wǎng)關(guān)初始化;請(qǐng)求步驟:廣播發(fā)送入網(wǎng)請(qǐng)求;判斷步驟:判斷超時(shí)時(shí)間內(nèi)是否收到云服務(wù)器的入網(wǎng)確認(rèn),如是,那么執(zhí)行保存步驟,否則執(zhí)行請(qǐng)求步驟;保存步驟:保存入網(wǎng)確認(rèn)中的網(wǎng)關(guān)地址信息;發(fā)送步驟:網(wǎng)關(guān)按照保存的路由表信息,向云服務(wù)器發(fā)送入網(wǎng)確認(rèn)信息;確認(rèn)步驟:云服務(wù)器確認(rèn)網(wǎng)關(guān)已經(jīng)入網(wǎng)成功。4.終端入網(wǎng)流程:4.1.從終端的角度來看,入網(wǎng)流程與lorawan沒有任何差別。4.2.從網(wǎng)關(guān)的角度來看,每個(gè)收到此終端入網(wǎng)請(qǐng)求的網(wǎng)關(guān)都需要將入網(wǎng)請(qǐng)求的phypayload(lorawan)搭載在loraawan的frmpayload中發(fā)送給服務(wù)器,并在frmpayload結(jié)尾處加入收到終端入網(wǎng)請(qǐng)求幀的rssi。4.3從云服務(wù)器的角度來看:4.3.1.它會(huì)收到對(duì)于此終端入網(wǎng)信息來自不同網(wǎng)關(guān)的幀。4.3.2.它會(huì)根據(jù)rssi、路由信息選出一個(gè)最適合轉(zhuǎn)發(fā)此終端的信息的網(wǎng)關(guān)作為目標(biāo)網(wǎng)關(guān)發(fā)送終端的入網(wǎng)確認(rèn)信息。4.3.3.它會(huì)選擇幾個(gè)最適合轉(zhuǎn)發(fā)此終端上行幀的網(wǎng)關(guān),并更新這幾個(gè)網(wǎng)關(guān)的“終端托管列表”。4.4.網(wǎng)關(guān)收到一個(gè)終端的上行幀時(shí),會(huì)先查詢自身的“終端托管列表”,如果存在此終端地址則轉(zhuǎn)發(fā)此終端的上行數(shù)據(jù),否則忽略。5.路由表更新算法。每當(dāng)網(wǎng)絡(luò)發(fā)生變化時(shí),比如增加或減少一個(gè)網(wǎng)關(guān)時(shí)。云服務(wù)器會(huì)根據(jù)路由跳數(shù)(hopnb)、接收時(shí)間(rcvtime)和此網(wǎng)關(guān)與相鄰網(wǎng)關(guān)的rssi這三個(gè)值來計(jì)算路徑權(quán)重(pathweight)。算法如下:pathweight=a*hop+b*rcvtime+c*pathweight其中a、b、c是系數(shù),根據(jù)實(shí)際權(quán)衡來調(diào)節(jié)。每個(gè)網(wǎng)關(guān)選出權(quán)重最大的幾條路徑,也就是從相鄰網(wǎng)關(guān)中選取下一跳優(yōu)先網(wǎng)關(guān)。并將此信息更新到對(duì)應(yīng)網(wǎng)關(guān)中。6.網(wǎng)絡(luò)自愈機(jī)制網(wǎng)絡(luò)自愈是指,網(wǎng)絡(luò)中任何一個(gè)網(wǎng)關(guān)出現(xiàn)問題,無法轉(zhuǎn)發(fā)數(shù)據(jù),那么可以不影響整個(gè)網(wǎng)絡(luò)的傳輸,并且可以定位出問題的網(wǎng)關(guān)。如果云服務(wù)器發(fā)現(xiàn)發(fā)送下行數(shù)據(jù)時(shí),某個(gè)網(wǎng)關(guān)無法繼續(xù)轉(zhuǎn)發(fā)數(shù)據(jù),則重新計(jì)算路由,換另外的路徑發(fā)送幀,如果此時(shí)發(fā)送成功則更新響應(yīng)網(wǎng)關(guān)的路由表。對(duì)于網(wǎng)關(guān)轉(zhuǎn)發(fā)上行數(shù)據(jù)時(shí),按照上行路由表的優(yōu)先次序,如果某一個(gè)網(wǎng)關(guān)不能為其轉(zhuǎn)發(fā)數(shù)據(jù)或者轉(zhuǎn)發(fā)超時(shí),它會(huì)切換到下一優(yōu)先級(jí)的網(wǎng)關(guān)繼續(xù)轉(zhuǎn)發(fā),其他網(wǎng)關(guān)轉(zhuǎn)發(fā)成功,它會(huì)再使用此路徑發(fā)送一個(gè)上行幀告訴云服務(wù)器,這個(gè)網(wǎng)關(guān)轉(zhuǎn)發(fā)異常。云服務(wù)器會(huì)根據(jù)這一信息更新相應(yīng)網(wǎng)關(guān)的路由表。7.可視化網(wǎng)絡(luò)維護(hù)云服務(wù)器可以按照網(wǎng)關(guān)的定位信息,網(wǎng)關(guān)間的rssi,終端與網(wǎng)關(guān)間的rssi等信息得出可視化網(wǎng)絡(luò)覆蓋(如圖12)。根據(jù)可視化覆蓋信息可以提供如下幫助:a.掌握各個(gè)區(qū)域的網(wǎng)絡(luò)覆蓋情況。b.再次部署網(wǎng)關(guān)時(shí)應(yīng)該選擇什么樣的位置。c.找出網(wǎng)絡(luò)的薄弱和冗余環(huán)節(jié)。本發(fā)明還公開了一種基于lora的組網(wǎng)系統(tǒng),包括云服務(wù)器、主網(wǎng)關(guān)、子網(wǎng)關(guān)和終端,其中:直接與云服務(wù)器通過ip網(wǎng)絡(luò)相連的網(wǎng)關(guān)稱作主網(wǎng)關(guān),主網(wǎng)關(guān)與云服務(wù)器的lora通訊跳數(shù)為0,網(wǎng)關(guān)的跳數(shù)是指網(wǎng)關(guān)要與云服務(wù)器通訊需要經(jīng)過的網(wǎng)關(guān)的個(gè)數(shù);沒有ip網(wǎng)絡(luò)、無法與云服務(wù)器直接相連的網(wǎng)關(guān)稱作子網(wǎng)關(guān),子網(wǎng)關(guān)與主網(wǎng)關(guān)或其他子網(wǎng)關(guān)相連;終端與子網(wǎng)關(guān)相連;該組網(wǎng)系統(tǒng)包括物理層、鏈路層、網(wǎng)絡(luò)層和應(yīng)用幀層,所述鏈路層負(fù)責(zé)臨近網(wǎng)關(guān)的鏈接,所述網(wǎng)絡(luò)層負(fù)責(zé)云服務(wù)器與指定網(wǎng)關(guān)間的鏈接,其中包含路由信息。所述子網(wǎng)關(guān)入網(wǎng)執(zhí)行如下模塊:初始化模塊:網(wǎng)關(guān)初始化;請(qǐng)求模塊:廣播發(fā)送入網(wǎng)請(qǐng)求;判斷模塊:判斷超時(shí)時(shí)間內(nèi)是否收到云服務(wù)器的入網(wǎng)確認(rèn),如是,那么執(zhí)行保存模塊,否則執(zhí)行請(qǐng)求模塊;保存模塊:保存入網(wǎng)確認(rèn)中的網(wǎng)關(guān)地址信息;發(fā)送模塊:網(wǎng)關(guān)按照保存的路由表信息,向云服務(wù)器發(fā)送入網(wǎng)確認(rèn)信息;確認(rèn)模塊:云服務(wù)器確認(rèn)網(wǎng)關(guān)已經(jīng)入網(wǎng)成功。每當(dāng)網(wǎng)絡(luò)發(fā)生變化時(shí),云服務(wù)器會(huì)根據(jù)路由跳數(shù)、接收時(shí)間和此網(wǎng)關(guān)與相鄰網(wǎng)關(guān)的rssi這三個(gè)值來計(jì)算路徑權(quán)重pathweight,算法如下:pathweight=a*hop+b*rcvtime+c*pathweight其中a、b、c是系數(shù),根據(jù)實(shí)際權(quán)衡來調(diào)節(jié);每個(gè)網(wǎng)關(guān)選出權(quán)重最大的幾條路徑,也就是從相鄰網(wǎng)關(guān)中選取下一跳優(yōu)先網(wǎng)關(guān),并將此信息更新到對(duì)應(yīng)網(wǎng)關(guān)中。如果云服務(wù)器發(fā)現(xiàn)發(fā)送下行數(shù)據(jù)時(shí),某個(gè)網(wǎng)關(guān)無法繼續(xù)轉(zhuǎn)發(fā)數(shù)據(jù),則重新計(jì)算路由,換另外的路徑發(fā)送幀,如果此時(shí)發(fā)送成功則更新響應(yīng)網(wǎng)關(guān)的路由表;對(duì)于網(wǎng)關(guān)轉(zhuǎn)發(fā)上行數(shù)據(jù)時(shí),按照上行路由表的優(yōu)先次序,如果某一個(gè)網(wǎng)關(guān)不能為其轉(zhuǎn)發(fā)數(shù)據(jù)或者轉(zhuǎn)發(fā)超時(shí),會(huì)切換到下一優(yōu)先級(jí)的網(wǎng)關(guān)繼續(xù)轉(zhuǎn)發(fā),其他網(wǎng)關(guān)轉(zhuǎn)發(fā)成功,會(huì)再使用此路徑發(fā)送一個(gè)上行幀告訴云服務(wù)器,網(wǎng)關(guān)轉(zhuǎn)發(fā)異常,云服務(wù)器會(huì)根據(jù)這一信息更新相應(yīng)網(wǎng)關(guān)的路由表。云服務(wù)器按照網(wǎng)關(guān)的定位信息、網(wǎng)關(guān)間的rssi、以及終端與網(wǎng)關(guān)間的rssi信息得出可視化網(wǎng)絡(luò)覆蓋。3framelayer(應(yīng)用幀層,下文簡(jiǎn)稱“frmlayer”)2maclayer(介質(zhì)訪問控制層)1physicallayer(物理層,下文簡(jiǎn)稱“phylayer”)表1傳統(tǒng)lora網(wǎng)絡(luò)(lorawan)分層4frmlayer3networklayer(網(wǎng)絡(luò)層,下文簡(jiǎn)稱“nwklayer”)2linklayer(鏈路層,下文簡(jiǎn)稱“l(fā)nklayer”)1phylayer表2lora增強(qiáng)型網(wǎng)絡(luò)(loraawan)分層lhdrlinpayloadmic表3loraawan的lnklayer(即phypayload)數(shù)據(jù)結(jié)構(gòu)nhdrnetpayload表4loraawan的nwklayer(即linpayload)數(shù)據(jù)結(jié)構(gòu)fhdrfrmpayload表5loraawan的frmlayer(即netpayload)數(shù)據(jù)結(jié)構(gòu)長(zhǎng)度(字節(jié))1233定義lnk描述lnk序號(hào)接收方地址發(fā)送方地址表6lhdr的數(shù)據(jù)格式bit#7..54..21..0描述固定為0b111lnk類型lnk狀態(tài)表7lnk描述的數(shù)據(jù)格式表8lin類型的數(shù)據(jù)格式值(二進(jìn)制)描述00傳輸成功01目標(biāo)不可達(dá)10預(yù)留11預(yù)留表9lnk狀態(tài)的描述表10nhdr的數(shù)據(jù)格式bit#7..54..210定義ntype預(yù)留確認(rèn)位通訊模式表11nwk描述的數(shù)據(jù)格式ntype描述000入網(wǎng)請(qǐng)求001入網(wǎng)確認(rèn)010不需要確認(rèn)的上行數(shù)據(jù)011不需要確認(rèn)的下行數(shù)據(jù)100需要確認(rèn)的上行數(shù)據(jù)101需要確認(rèn)的下行數(shù)據(jù)110預(yù)留111預(yù)留表12ntype的數(shù)據(jù)描述01網(wǎng)關(guān)與云服務(wù)器之間的通訊節(jié)點(diǎn)與云服務(wù)器之間的通訊表13net描述中通訊模式定義表14入網(wǎng)請(qǐng)求所攜帶的數(shù)據(jù)表15入網(wǎng)確認(rèn)所攜帶的數(shù)據(jù)本發(fā)明在沒有ip網(wǎng)絡(luò)的環(huán)境下極大增加lora網(wǎng)絡(luò)覆蓋范圍;并且是自愈型網(wǎng)絡(luò),可以在某個(gè)或某些網(wǎng)關(guān)故障的情況下,保證終端與與服務(wù)器之間仍可以保持通訊;可視化網(wǎng)絡(luò)覆蓋,可以方便擴(kuò)充以及維護(hù)設(shè)備。比如荒漠中,需要捕獲一些信息(例如溫度、風(fēng)速等),或者控制某個(gè)設(shè)備(例如噴灌設(shè)備等)。由于無法廣泛鋪設(shè)ip網(wǎng)絡(luò),所以傳統(tǒng)lorawan的覆蓋范圍被極大限制,甚至可能達(dá)不到目標(biāo)效果。本發(fā)明的loraawan可以在這樣的環(huán)境中鋪設(shè),loraawan網(wǎng)關(guān)的覆蓋不依賴于ip網(wǎng)絡(luò)。并且有效應(yīng)對(duì)惡劣環(huán)境,在網(wǎng)關(guān)故障的情況下可以快速愈合網(wǎng)絡(luò),并且定位出故障設(shè)備。以上內(nèi)容是結(jié)合具體的優(yōu)選實(shí)施方式對(duì)本發(fā)明所作的進(jìn)一步詳細(xì)說明,不能認(rèn)定本發(fā)明的具體實(shí)施只局限于這些說明。對(duì)于本發(fā)明所屬
技術(shù)領(lǐng)域:
的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干簡(jiǎn)單推演或替換,都應(yīng)當(dāng)視為屬于本發(fā)明的保護(hù)范圍。當(dāng)前第1頁12