日韩成人激情_欧美黑人xxx_国产一区二精品区在线_精品在线一区_97成人资源_久久久久久一区

產(chǎn)品分類

當(dāng)前位置: 首頁(yè) > 工業(yè)電子產(chǎn)品 > 其他電子產(chǎn)品 > IoT物聯(lián)網(wǎng) > IoT傳感器

類型分類:
科普知識(shí)
數(shù)據(jù)分類:
IoT傳感器

全面介紹LoRaWAN終端OTAA入網(wǎng)方式

發(fā)布日期:2022-05-25 點(diǎn)擊率:60

ass="bjh-p">在之前的文章中向大家介紹了LoRa終端OTAA與ABP入網(wǎng)方式工作原理區(qū)別介紹在弱網(wǎng)區(qū)域下,LoRa終端的入網(wǎng)方式該如何選取。本文主要介紹了OTAA節(jié)點(diǎn)是如何入網(wǎng)的。此文來(lái)自小七老師,小七老師是騰訊云在線課堂物聯(lián)網(wǎng)講師。

OTAA,終端入網(wǎng),LoRaWAN

OTAA的全稱是Over The Air Activation。它的入網(wǎng)步驟是這樣的:節(jié)點(diǎn)發(fā)出的Join Request請(qǐng)求通過(guò)網(wǎng)關(guān)轉(zhuǎn)發(fā)到服務(wù)器,也就是NS;NS會(huì)對(duì)該請(qǐng)求做一些判斷處理之后,將Join Accept響應(yīng)通過(guò)網(wǎng)關(guān)發(fā)送給節(jié)點(diǎn)。

網(wǎng)關(guān)的主要作用是將節(jié)點(diǎn)的數(shù)據(jù)與服務(wù)器的數(shù)據(jù)互相轉(zhuǎn)發(fā)。服務(wù)器我們可以選擇一些在線的服務(wù)器,比如TTN、騰訊云物聯(lián)網(wǎng)開(kāi)發(fā)平臺(tái)等,我們也可以搭建開(kāi)源的服務(wù)器,比如chirpstack,我們還可以購(gòu)買一些已經(jīng)內(nèi)置了服務(wù)器的網(wǎng)關(guān)。

無(wú)論是TTN、騰訊云物聯(lián)網(wǎng)開(kāi)發(fā)平臺(tái)、chirpstack還是內(nèi)置服務(wù)器,基本上都是免費(fèi)使用的。騰訊云物聯(lián)網(wǎng)平臺(tái)于2021年1月升級(jí)為部分收費(fèi)的模式,1000臺(tái)設(shè)備以內(nèi)是免費(fèi)使用的。

OTAA節(jié)點(diǎn)入網(wǎng)需要與NS有兩次數(shù)據(jù)交互過(guò)程。一次是節(jié)點(diǎn)向NS發(fā)送join request請(qǐng)求,一次是NS向節(jié)點(diǎn)發(fā)送 join accept響應(yīng)。在節(jié)點(diǎn)發(fā)送join request請(qǐng)求之前,我們需要準(zhǔn)備OTAA節(jié)點(diǎn)的三個(gè)參數(shù)DevEUI、AppEUI和AppKey。在節(jié)點(diǎn)接收到j(luò)oin accept之后,節(jié)點(diǎn)需要成功解析join accept之后,才是入網(wǎng)成功,接下來(lái)對(duì)每一個(gè)步驟進(jìn)行詳細(xì)的說(shuō)明。

對(duì)于OTAA節(jié)點(diǎn),我們?nèi)绾潍@取到DevEUI、AppEUI和AppKey這三個(gè)參數(shù)呢?有的廠商會(huì)在節(jié)點(diǎn)上貼一個(gè)二維碼,通過(guò)掃描二維碼可以獲得這三個(gè)參數(shù);有的廠商可以通過(guò)at指令來(lái)獲取這三個(gè)參數(shù),具體的at指令需要查看廠商提供的手冊(cè);還有的廠商只會(huì)將devEUI貼在節(jié)點(diǎn)上,然后將devEUI、appEUI和appKey通過(guò)其他方式發(fā)送給客戶,以保證三個(gè)參數(shù)的安全性。

DevEUI就是節(jié)點(diǎn)的身份標(biāo)識(shí),就像我們每個(gè)人在企業(yè)中的工號(hào)一樣。

AppEUI是應(yīng)用ID,我們可以把AppEUI理解為企業(yè)中的部門名稱。剛剛我們?cè)谇懊嫣岬竭^(guò)的幾個(gè)NS服務(wù)器中,如果使用TTN服務(wù)器,需要配置AppEUI;如果使用騰訊云物聯(lián)網(wǎng)平臺(tái)或者chirpstack的話,對(duì)于AppEUI這個(gè)參數(shù)節(jié)點(diǎn)可以設(shè)置為任意值

AppKey是節(jié)點(diǎn)用來(lái)計(jì)算會(huì)話秘鑰的,節(jié)點(diǎn)使用AppKey從join accept中計(jì)算出會(huì)話秘鑰NwkSKey和AppSKey用于節(jié)點(diǎn)入網(wǎng)成功之后的通信,這就是一個(gè)完整的入網(wǎng)請(qǐng)求流程。

節(jié)點(diǎn)發(fā)送Join request請(qǐng)求,通過(guò)網(wǎng)關(guān)透?jìng)鬓D(zhuǎn)發(fā)給NS服務(wù)器。NS判斷請(qǐng)求是否合法,合法的情況下,NS下發(fā)join accept消息到網(wǎng)關(guān),網(wǎng)關(guān)再將消息發(fā)送給節(jié)點(diǎn)。節(jié)點(diǎn)收到j(luò)oin accept之后會(huì)從join accept中解析出devAddr、appSKey和nwkSKey,之后節(jié)點(diǎn)就可以使用解析后的這三個(gè)參數(shù)對(duì)數(shù)據(jù)進(jìn)行加密發(fā)送給NS了。

我們通過(guò)舉例說(shuō)明Join request請(qǐng)求的報(bào)文格式,一個(gè)join request請(qǐng)求中包含了節(jié)點(diǎn)的AppEUI參數(shù)、DevEUI參數(shù)還有一個(gè)隨機(jī)值參數(shù),叫做DevNonce

在LoRaWAN協(xié)議中,第一個(gè)字節(jié)稱為Mac Header標(biāo)志,簡(jiǎn)稱為MHDR,用來(lái)表示消息類型。00固定表示這是一個(gè)join request消息。第二到第九這8個(gè)字節(jié)固定填充AppEUI,第十到第十七字節(jié)固定填充DevEUI,第十八十九字節(jié)就是一個(gè)隨機(jī)值DevNonce。最后四個(gè)字節(jié)是對(duì)AppEUI、DevEUI和DevNonce這部分?jǐn)?shù)據(jù)計(jì)算出的校驗(yàn)值。注意DevNonce這個(gè)參數(shù),很多做開(kāi)發(fā)的朋友踩過(guò)一個(gè)坑,都與這個(gè)DevNonce有關(guān),等會(huì)兒和大家分享。

一個(gè)完整的Join accept消息格式如下。第一個(gè)字節(jié)是我們剛剛提到的MHDR協(xié)議頭,Join accept消息的協(xié)議頭固定是十六進(jìn)制的0x20。然后依次是AppNonce,它是NS生成的一個(gè)隨機(jī)數(shù);NetID是NS的一個(gè)參數(shù),可以簡(jiǎn)單理解成NS的ID;DevAddr就是NS為節(jié)點(diǎn)生成的一個(gè)短地址,節(jié)點(diǎn)Join成功之后DevAddr就成了節(jié)點(diǎn)在NS上的唯一身份標(biāo)識(shí),同一個(gè)NS中不會(huì)出現(xiàn)兩個(gè)相同的DevAddr;DLSettings中配置了節(jié)點(diǎn)兩個(gè)接收窗口的接收速率參數(shù);RxDelay中配置了節(jié)點(diǎn)在發(fā)送數(shù)據(jù)完成之后間隔多長(zhǎng)時(shí)間打開(kāi)第一個(gè)接收窗口,這個(gè)值默認(rèn)都是1秒;CFList是一個(gè)可選參數(shù),它可以更改節(jié)點(diǎn)在入網(wǎng)成功之后的通信信道信息。

NS下發(fā)給節(jié)點(diǎn)的join accept消息是加密消息,需要節(jié)點(diǎn)先使用appKey解密之后才能拿到明文的JoinAccept報(bào)文。然后節(jié)點(diǎn)再使用DevNonce、AppKey和從Join accept中解析出來(lái)的appNonce計(jì)算出兩個(gè)會(huì)話秘鑰nwkSKey和appSKey。

一個(gè)完整的OTAA流程的交互報(bào)文我們已經(jīng)介紹完了,在實(shí)際的使用中,大家在剛剛接觸LoRaWAN的時(shí)候很容易遇到入網(wǎng)不成功的問(wèn)題。入網(wǎng)不成功有多種可能的原因,將原因主要總結(jié)為以下三點(diǎn):

第一,在NS上注冊(cè)的節(jié)點(diǎn)三參數(shù)與節(jié)點(diǎn)配置的三個(gè)參數(shù)不匹配導(dǎo)致。如果devEUI或者AppEUI配置不一致的話,服務(wù)器就不會(huì)下發(fā)Join Accept消息;如果AppKey配置不一致的話,就會(huì)導(dǎo)致節(jié)點(diǎn)無(wú)法成功解析Join Accept消息。這個(gè)不匹配主要是人為因素,一般是因?yàn)橛脩魧?span id="bqambdenk" class="bjh-strong">參數(shù)填寫錯(cuò)誤導(dǎo)致的,相對(duì)容易排查到。

第二,節(jié)點(diǎn)發(fā)送的Join Request請(qǐng)求網(wǎng)關(guān)沒(méi)有接收到,一般是硬件故障或者是環(huán)境導(dǎo)致無(wú)線信號(hào)特別差引起的。硬件出現(xiàn)故障的概率比較低,一般需要重點(diǎn)檢查是不是無(wú)線信號(hào)較差,可以考慮將節(jié)點(diǎn)與網(wǎng)關(guān)的距離設(shè)置的近一點(diǎn)、或者盡量清除節(jié)點(diǎn)與網(wǎng)關(guān)之間的障礙物,然后再進(jìn)行嘗試。

第三,還有一個(gè)很少見(jiàn)的原因也極不容易排查到。很多開(kāi)發(fā)者可能在剛剛學(xué)習(xí)階段會(huì)將Join Request中的各個(gè)參數(shù)在代碼中寫死,Devnonce在代碼中設(shè)置成了固定值,這種做法,將導(dǎo)致第一次Join成功之后再重新Join始終無(wú)法成功,這就是我們前面提到的Devnonce引出的一個(gè)坑。

NS會(huì)有一個(gè)緩存機(jī)制,會(huì)保存同一個(gè)節(jié)點(diǎn)每次Join request消息中的Devnonce,在一定時(shí)間內(nèi),如果同一個(gè)節(jié)點(diǎn)入網(wǎng)請(qǐng)求消息中的Devnonce與NS緩存中的Devnonce雷同,那么NS會(huì)拒絕該終端的本次入網(wǎng)請(qǐng)求。NS這么處理是為了保證節(jié)點(diǎn)的數(shù)據(jù)安全性。只要更改Devnonce的值,節(jié)點(diǎn)就能重新成功入網(wǎng)了。

在接下來(lái)的文章中,將會(huì)繼續(xù)分享更多的LoRa相關(guān)知識(shí),希望大家持續(xù)關(guān)注我們。

閱讀更多: LoRa中文學(xué)習(xí)資料, LoRa實(shí)驗(yàn)室, LoRa物聯(lián)網(wǎng)技術(shù)實(shí)戰(zhàn), 企業(yè)動(dòng)態(tài), 市場(chǎng)與商機(jī)

參考分類:

上一篇: 千呼萬(wàn)喚始出來(lái),ART-Pi LoRa開(kāi)發(fā)套件正式發(fā)售

下一篇: AIoT在工業(yè)場(chǎng)景中的應(yīng)用未來(lái)在何方?

下一篇: PLC、DCS、FCS三大控

上一篇: AIoT在工業(yè)場(chǎng)景中的應(yīng)

推薦產(chǎn)品

更多
主站蜘蛛池模板: 日本中文字幕日韩精品免费 | 国产精品欧美精品 | 黄色播放 | 欧美一区二区三区大片 | av无遮挡| 国产欧美日韩综合精品一区二区 | caoporon| 97偷拍视频 | 九色 在线 | 亚洲精品视频在线看 | 久久99视频这里只有精品 | 久久中文字幕一区 | 好姑娘高清在线观看电影 | 午夜视频在线 | 亚洲在线一区二区三区 | 亚洲成av人片在线观看 | 日本激情一区二区 | 国内成人免费视频 | 日日操夜夜操视频 | 亚洲不卡视频 | 久久久久国产精品午夜一区 | 欧美黄色一区 | 欧美综合一区二区三区 | 91成人精品 | 中文字幕国产视频 | av一级久久| 福利久久| 红色av社区 | 免费一区二区三区 | 欧美午夜视频 | 日本一区二区三区四区 | 免费在线国产视频 | 小视频你懂得 | 最新超碰 | 一区二区三区在线 | 日韩欧美精品 | 成人在线播放 | 91深夜福利视频 | 亚洲精品乱码久久久久久9色 | 久www| 亚洲精品电影网在线观看 |