0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于lorawan協(xié)議的幾種常見(jiàn)入網(wǎng)方法

GLeX_murata_eet ? 來(lái)源:互聯(lián)網(wǎng) ? 作者:佚名 ? 2017-11-11 07:18 ? 次閱讀
OTAA(Over-The-Air Activation),是LoRaWAN的一種空中入網(wǎng)方式。當(dāng)node在上電的時(shí)候處于非入網(wǎng)狀態(tài)時(shí),需要先入網(wǎng)才能和服務(wù)器進(jìn)行通信。其操作就是node發(fā)送join_request message,請(qǐng)求入網(wǎng),然后服務(wù)器同意入網(wǎng),并且返回Join-accept message,node再對(duì)信息進(jìn)行解析,獲取通信參數(shù),之后就可以和服務(wù)器通信了。

順便分享幾個(gè)工具網(wǎng)站給大家:

  1. HEX/字符串轉(zhuǎn)換

  2. JSON校驗(yàn)

  3. BASE64編碼/解碼

OTAA方式入網(wǎng)步驟準(zhǔn)備工作

node端在做OTAA入網(wǎng)之前,需要先具備三個(gè)參數(shù):

  • APPEUI node自定義的8字節(jié)長(zhǎng)地址

  • APPKEY 服務(wù)器和node端都事先存好,用于對(duì)Join_acept message 做加解密處理

  • DevNonce 2字節(jié)的隨機(jī)數(shù),用于生成隨機(jī)的AppSKey和NwkSKey

這些參數(shù)可以通過(guò)程序固話在里面,或者通過(guò)串口或其他方式在入網(wǎng)操作前告訴node。

當(dāng)這些準(zhǔn)備工作都做好了之后,node設(shè)備就能夠入網(wǎng)了。

第一步

1.node發(fā)起入網(wǎng)請(qǐng)求,也就是發(fā)送join_request message,

根據(jù)LoRaWAN specification 可知,join_request message的格式如下:

其中

需要注意的是Join_request message是未加密的

第二步

2.GW將此數(shù)據(jù)上傳至NS

GW對(duì)MAC層的數(shù)據(jù)不進(jìn)行解析,而是直接將其進(jìn)行base64編碼之后,封裝成JSON包上傳至NS,MAC層的數(shù)據(jù)位于rxpk.data

樣例數(shù)據(jù):

此處,將data進(jìn)行base64解碼,我們就可以看到MAC層數(shù)據(jù)了,因?yàn)閖oin_request message數(shù)據(jù)是未加密的。

data部分的內(nèi)容如下:

\x00 \x01 \x00 \x00 \x20 \x00 \xc5 \x26

\x2c \x16 \x10 \x16 \x20 \x00 \x77 \x4a

\x00 \x54 \x7b \x40 \x2d \xe1 \x9a

各部分的內(nèi)容分別為:

第三步

3.NS向AS發(fā)送設(shè)備入網(wǎng)包

樣例數(shù)據(jù):

將join.frame進(jìn)行base64 解碼,得到的內(nèi)容為:

\x00 \x01 \x00 \x00 \x20 \x00 \xc5 \x26

\x2c \x16 \x10 \x16 \x20 \x00 \x77 \x4a

\x00 \x54 \x7b \x40 \x2d \xe1 \x9a

可以看到,原先的MAC 層的data數(shù)據(jù)沒(méi)有變化

第四步

4.AS同意入網(wǎng)并且向NS回復(fù)同意入網(wǎng)

樣例數(shù)據(jù):

第五步

5.NS生成MoteAddr,并將node端的信息發(fā)送給AS

樣例數(shù)據(jù):

第六步

6.AS生成密鑰,并將相關(guān)信息告訴NS

樣例數(shù)據(jù):

可以看到,networkkey直接發(fā)送給NS了,這也就是NwkSKey,之所以明文告訴NS,是因?yàn)?

1. NS不做解密的工作,所以不能通過(guò)APPKEY解密負(fù)載得到

2.networkkey在NS對(duì)上下行數(shù)據(jù)進(jìn)行校驗(yàn)的時(shí)候會(huì)使用到

第七步

7.NS將數(shù)據(jù)告訴GW,GW再轉(zhuǎn)換成MAC包,發(fā)送給node

樣例數(shù)據(jù):

需要注意的是,此時(shí)的data部分是經(jīng)過(guò)base64編碼以及AES加密的,直接解碼,看到的數(shù)據(jù)是無(wú)效的,需要再進(jìn)行解密,解密需要使用APPKEY,也就是之前介紹的APPKEY.

txpk.data部分就是LoRaWAN MAC的join_accept message.

第八步

8.node解析join_accept message 部分

根據(jù)LoRaWAN specification 可知,join_accept message的格式如下:

其中

需要注意的是Join_accept message是加密的,需要使用APPKEY解密

txpk.data:"data": "IPqAKXQ7LS/CmYVCDy8K3k4"

base64解碼:\x20 \xfa \x80 \x29 \x74 \x3b \x2d \x2f\xc2 \x99 \x85 \x42 \x0f \x2f \x0a \xde\x4e

這個(gè)數(shù)據(jù)是未解密的,我們還需要解密

解密后為\x20 \x43 \x75 \xcb \x24 \x00 \x00 \x02\x00 \x00 \x48 \x03 \x00 \x82 \xc9 \xd0\xf9

具體的情況如下:

可以看到,DevAddr為0x48000002,而AppSKey和NwkSKey無(wú)法直接看出來(lái),需要再計(jì)算

計(jì)算公式如下:

  • NwkSKey = aes128_encrypt(AppKey, 0x01 | AppNonce | NetID | DevNonce | pad16)

  • AppSKey = aes128_encrypt(AppKey, 0x02 | AppNonce | NetID | DevNonce | pad16)

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • LoRaWAN協(xié)議
    +關(guān)注

    關(guān)注

    3

    文章

    15

    瀏覽量

    12115
  • otaa方式
    +關(guān)注

    關(guān)注

    0

    文章

    1

    瀏覽量

    1926

原文標(biāo)題:LoRaWAN協(xié)議——OTAA入網(wǎng)方式詳述

文章出處:【微信號(hào):murata-eetrend,微信公眾號(hào):murata-eetrend】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    常見(jiàn)的接口協(xié)議有哪幾種

    常見(jiàn)的接口協(xié)議有哪幾種?
    發(fā)表于 05-31 06:22

    LoRaWAN包含哪幾種不同類型的節(jié)點(diǎn)?

    什么是LoRaWAN?LoRaWAN包含哪幾種不同類型的節(jié)點(diǎn)?
    發(fā)表于 06-16 08:23

    請(qǐng)問(wèn)一下怎樣去開(kāi)發(fā)一種LoRaWAN協(xié)議?

    怎樣去開(kāi)發(fā)一種LoRaWAN協(xié)議?開(kāi)發(fā)一種LoRaWAN協(xié)議有什么用處?LoRaWAN協(xié)議有哪些
    發(fā)表于 07-15 07:58

    解析協(xié)議方法有哪幾種?

    解析協(xié)議方法有哪幾種?
    發(fā)表于 12-02 06:49

    幾種常見(jiàn)路由器設(shè)置方法

    幾種常見(jiàn)路由器設(shè)置方法以寬帶路由器D-Link的di-740p型號(hào)為例介紹路由器設(shè)置方法。
    發(fā)表于 12-12 16:43 ?1.4w次閱讀

    詳解LoRaWAN網(wǎng)絡(luò)架構(gòu)和協(xié)議內(nèi)容

    本文是一篇LoRaWAN的科普介紹,你已經(jīng)在朋友圈看過(guò)無(wú)數(shù)蜻蜓點(diǎn)水的LoRaWAN文章,是時(shí)候來(lái)一篇真正的技術(shù)干貨了。本文先從橫向介紹下LoRaWAN的背后勢(shì)力和網(wǎng)絡(luò)部署情況,然后縱向講解了網(wǎng)絡(luò)架構(gòu)和具體的
    的頭像 發(fā)表于 06-16 07:18 ?2.6w次閱讀
    詳解<b class='flag-5'>LoRaWAN</b>網(wǎng)絡(luò)架構(gòu)和<b class='flag-5'>協(xié)議</b>內(nèi)容

    介紹STM32和LoRaWAN協(xié)議及其應(yīng)用

    入門指南_STM32和LoRaWAN協(xié)議
    的頭像 發(fā)表于 07-02 08:29 ?1.1w次閱讀

    LoRaWAN協(xié)議之OTAA入網(wǎng)流程

    通過(guò)OTAA方式入網(wǎng)的設(shè)備,通訊時(shí)使用的KEY需要通過(guò)服務(wù)器獲得,在入網(wǎng)之間,設(shè)備無(wú)法通訊。
    的頭像 發(fā)表于 12-04 14:52 ?3622次閱讀

    LoRaWAN網(wǎng)絡(luò)協(xié)議的優(yōu)勢(shì)介紹

    物聯(lián)網(wǎng)很多應(yīng)用現(xiàn)在都普遍用了LoRa技術(shù)的芯片,然而沒(méi)有使用LoRaWan網(wǎng)絡(luò)協(xié)議。經(jīng)過(guò)調(diào)查發(fā)現(xiàn),沒(méi)有使用LoRaWAN網(wǎng)絡(luò)協(xié)議的原因有:應(yīng)用點(diǎn)數(shù)少、規(guī)模小,有的是因?yàn)?/div>
    發(fā)表于 03-11 12:10 ?1132次閱讀

    OTAA節(jié)點(diǎn)是如何入網(wǎng)

    在之前的文章中向大家介紹了LoRaWAN協(xié)議中節(jié)點(diǎn)的兩種不同的入網(wǎng)方式OTAA和ABP的區(qū)別,本文主要介紹了OTAA節(jié)點(diǎn)是如何入網(wǎng)的。此文來(lái)自微信公眾號(hào)“小七說(shuō)LoRa”,內(nèi)容已獲小七
    發(fā)表于 03-19 13:50 ?1181次閱讀

    LoRaWAN網(wǎng)絡(luò)協(xié)議中文版資源下載

    LoRaWAN網(wǎng)絡(luò)協(xié)議中文版資源下載
    發(fā)表于 07-08 10:02 ?0次下載

    幾種常見(jiàn)的電源檢測(cè)方法

    BOSHIDA模塊電源 幾種常見(jiàn)的電源檢測(cè)方法 電流測(cè)量的方法有很多種,每種方法適用不同的場(chǎng)合,每種方法
    的頭像 發(fā)表于 04-18 09:17 ?2910次閱讀

    LoRaWAN網(wǎng)關(guān)與常見(jiàn)網(wǎng)絡(luò)服務(wù)器的協(xié)議

    LoRaWAN網(wǎng)關(guān)與ChirpStack之間的協(xié)議LoRaWAN網(wǎng)關(guān)與ChirpStack(以前稱為L(zhǎng)oRaServer)服務(wù)器之間的通信協(xié)議是基于ChirpStack的網(wǎng)絡(luò)服務(wù)器實(shí)
    的頭像 發(fā)表于 09-15 08:22 ?711次閱讀
    <b class='flag-5'>LoRaWAN</b>網(wǎng)關(guān)與<b class='flag-5'>常見(jiàn)</b>網(wǎng)絡(luò)服務(wù)器的<b class='flag-5'>協(xié)議</b>

    MCU批量生產(chǎn)下載程序的幾種常見(jiàn)方法

    MCU批量生產(chǎn)下載程序的幾種常見(jiàn)方法
    的頭像 發(fā)表于 10-24 17:22 ?1453次閱讀
    MCU批量生產(chǎn)下載程序的<b class='flag-5'>幾種</b><b class='flag-5'>常見(jiàn)方法</b>

    幾種常見(jiàn)嵌入式設(shè)備通信協(xié)議

    幾種常見(jiàn)嵌入式設(shè)備通信協(xié)議
    的頭像 發(fā)表于 09-18 16:43 ?1503次閱讀
    <b class='flag-5'>幾種</b><b class='flag-5'>常見(jiàn)</b>嵌入式設(shè)備通信<b class='flag-5'>協(xié)議</b>