本發(fā)明涉及物聯(lián)網(wǎng)技術(shù)領(lǐng)域,具體地說,涉及一種lora中繼器和網(wǎng)關(guān)同時(shí)接收數(shù)據(jù)情況的處理方法。
背景技術(shù):
LoRa是Semtech公司提出的一種低功耗物聯(lián)網(wǎng)技術(shù),廣泛應(yīng)用于無線抄表等領(lǐng)域。LoRaWAN采用LoRa技術(shù)構(gòu)建低功耗無線互聯(lián)廣域網(wǎng)。LoRaWAN終端先把數(shù)據(jù)通過無線電波發(fā)送給基站,基站再通過以太網(wǎng)發(fā)送給LoRaWAN服務(wù)器處理。在實(shí)際布網(wǎng)時(shí),一定會(huì)出現(xiàn)基站覆蓋不到的地方比如地下室等,這時(shí)就需要用中繼器來進(jìn)行二次轉(zhuǎn)發(fā)了。然而當(dāng)LoRaWAN終端發(fā)送的數(shù)據(jù)同時(shí)被中繼器和基站接收到時(shí),由于中繼器需要對(duì)數(shù)據(jù)進(jìn)行重新打包和發(fā)送,延時(shí)比較大,如果不進(jìn)行特殊處理就會(huì)出現(xiàn)數(shù)據(jù)重復(fù)處理的情況。也就是說如果一個(gè)LoRaWAN終端的無線電發(fā)送范圍內(nèi)同時(shí)存在基站和中繼,其上行的每一個(gè)數(shù)據(jù),LoRaWAN服務(wù)器會(huì)收到兩次,一次來自基站,另一次來自中繼器。這顯然是不能允許出現(xiàn)的情況。
現(xiàn)在需要一種處理lora中繼器和網(wǎng)關(guān)同時(shí)接收數(shù)據(jù)情況的處理方案。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種lora中繼器和網(wǎng)關(guān)同時(shí)接收數(shù)據(jù)情況的處理方法,在服務(wù)器收到終端通過中繼上傳的數(shù)據(jù)時(shí),檢查在5秒內(nèi)該終端是否有相同MIC值的數(shù)據(jù)上傳,如果有則認(rèn)為是同一個(gè)數(shù)據(jù)重復(fù)的的發(fā)送丟棄不進(jìn)行處理,如果沒有則正常處理。
為實(shí)現(xiàn)上述技術(shù)目的,達(dá)到上述技術(shù)效果,其技術(shù)方案具體為:
一種lora中繼器和網(wǎng)關(guān)同時(shí)接收數(shù)據(jù)情況的處理方法,LoRaWAN服務(wù)器收到終端通過基站上傳的數(shù)據(jù)時(shí),進(jìn)行如下處理,具體步驟為:
步驟1、用終端的nwk_skey、app_skey通過aes算法解密該數(shù)據(jù),校驗(yàn)MIC值,校驗(yàn)通過則進(jìn)行入庫和推送;
步驟2、把該數(shù)據(jù)的MIC校驗(yàn)值和終端唯一標(biāo)識(shí)對(duì)應(yīng)并保存起來,計(jì)為M0;
LoRaWAN服務(wù)器在收到終端通過中繼器上傳的數(shù)據(jù)時(shí),進(jìn)行如下處理,具體步驟為:
步驟1、用終端的nwk_skey、app_skey通過aes算法解密該數(shù)據(jù),校驗(yàn)MIC值;校驗(yàn)通過后把數(shù)據(jù)部分取出,再次解密,這樣就能得到通過中繼上傳的真正數(shù)據(jù),計(jì)為data0;
步驟2、解析data0,并把data0的MIC校驗(yàn)值取出來,記為M1;
步驟3、取出終端上一次發(fā)送數(shù)據(jù)的MIC校驗(yàn)值M0;
步驟4、比較M0和M1,如果二者相同,則丟棄該次中繼器上發(fā)的數(shù)據(jù),如不相同,進(jìn)行正常處理如推送、入庫。
本發(fā)明具有以下有益效果:
本發(fā)明能夠有效解決基站和中繼器數(shù)據(jù)重復(fù)上報(bào)的問題。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。
LoRaWAN服務(wù)器收到終端通過基站上傳的數(shù)據(jù)時(shí),進(jìn)行如下處理:
1用終端的nwk_skey、app_skey通過aes算法解密該數(shù)據(jù),校驗(yàn)MIC值,校驗(yàn)通過則進(jìn)行入庫和推送;
2把該數(shù)據(jù)的MIC校驗(yàn)值和終端唯一標(biāo)識(shí)對(duì)應(yīng)并保存起來,計(jì)為M0;
LoRaWAN服務(wù)器在收到終端通過中繼器上傳的數(shù)據(jù)時(shí),進(jìn)行如下處理:
1用終端的nwk_skey、app_skey通過aes算法解密該數(shù)據(jù),校驗(yàn)MIC值;校驗(yàn)通過后把數(shù)據(jù)部分取出,再次解密,這樣就能得到通過中繼上傳的真正數(shù)據(jù),計(jì)為data0;
2解析data0,并把data0的MIC校驗(yàn)值取出來,記為M1;
3取出終端上一次發(fā)送數(shù)據(jù)的MIC校驗(yàn)值M0;
4比較M0和M1,如果二者相同,則丟棄該次中繼器上發(fā)的數(shù)據(jù),如不相同,進(jìn)行正常處理如推送、入庫等。
以上所述,僅為本發(fā)明較佳的具體實(shí)施方式,本發(fā)明的保護(hù)范圍不限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明披露的技術(shù)范圍內(nèi),可顯而易見地得到的技術(shù)方案的簡單變化或等效替換均落入本發(fā)明的保護(hù)范圍內(nèi)。