0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于lorawan协议的几种常见入网方法

GLeX_murata_eet 来源:互联网 作者:佚名 2017-11-11 07:18 次阅读
OTAA(Over-The-Air Activation),是LoRaWAN的一种空中入网方式。当node在上电的时候处于非入网状态时,需要先入网才能和服务器进行通信。其操作就是node发送join_request message,请求入网,然后服务器同意入网,并且返回Join-accept message,node再对信息进行解析,获取通信参数,之后就可以和服务器通信了。

顺便分享几个工具网站给大家:

  1. HEX/字符串转换

  2. JSON校验

  3. BASE64编码/解码

OTAA方式入网步骤准备工作

node端在做OTAA入网之前,需要先具备三个参数:

  • APPEUI node自定义的8字节长地址

  • APPKEY 服务器和node端都事先存好,用于对Join_acept message 做加解密处理

  • DevNonce 2字节的随机数,用于生成随机的AppSKey和NwkSKey

这些参数可以通过程序固话在里面,或者通过串口或其他方式在入网操作前告诉node。

当这些准备工作都做好了之后,node设备就能够入网了。

第一步

1.node发起入网请求,也就是发送join_request message,

根据LoRaWAN specification 可知,join_request message的格式如下:

其中

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

第二步

2.GW将此数据上传至NS

GW对MAC层的数据不进行解析,而是直接将其进行base64编码之后,封装成JSON包上传至NS,MAC层的数据位于rxpk.data

样例数据:

此处,将data进行base64解码,我们就可以看到MAC层数据了,因为join_request message数据是未加密的。

data部分的内容如下:

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

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

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

各部分的内容分别为:

第三步

3.NS向AS发送设备入网包

样例数据:

将join.frame进行base64 解码,得到的内容为:

\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数据没有变化

第四步

4.AS同意入网并且向NS回复同意入网

样例数据:

第五步

5.NS生成MoteAddr,并将node端的信息发送给AS

样例数据:

第六步

6.AS生成密钥,并将相关信息告诉NS

样例数据:

可以看到,networkkey直接发送给NS了,这也就是NwkSKey,之所以明文告诉NS,是因为:

1. NS不做解密的工作,所以不能通过APPKEY解密负载得到

2.networkkey在NS对上下行数据进行校验的时候会使用到

第七步

7.NS将数据告诉GW,GW再转换成MAC包,发送给node

样例数据:

需要注意的是,此时的data部分是经过base64编码以及AES加密的,直接解码,看到的数据是无效的,需要再进行解密,解密需要使用APPKEY,也就是之前介绍的APPKEY.

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

第八步

8.node解析join_accept message 部分

根据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

这个数据是未解密的,我们还需要解密

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

具体的情况如下:

可以看到,DevAddr为0x48000002,而AppSKey和NwkSKey无法直接看出来,需要再计算

计算公式如下:

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

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • LoRaWAN协议
    +关注

    关注

    3

    文章

    15

    浏览量

    12122
  • otaa方式
    +关注

    关注

    0

    文章

    1

    浏览量

    1934

原文标题:LoRaWAN协议——OTAA入网方式详述

文章出处:【微信号:murata-eetrend,微信公众号:murata-eetrend】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    常见的接口协议有哪几种

    常见的接口协议有哪几种
    发表于 05-31 06:22

    LoRaWAN包含哪几种不同类型的节点?

    什么是LoRaWANLoRaWAN包含哪几种不同类型的节点?
    发表于 06-16 08:23

    请问一下怎样去开发一种LoRaWAN协议

    怎样去开发一种LoRaWAN协议?开发一种LoRaWAN协议有什么用处?LoRaWAN协议有哪些
    发表于 07-15 07:58

    解析协议方法有哪几种

    解析协议方法有哪几种
    发表于 12-02 06:49

    几种常见路由器设置方法

    几种常见路由器设置方法以宽带路由器D-Link的di-740p型号为例介绍路由器设置方法
    发表于 12-12 16:43 1.4w次阅读

    详解LoRaWAN网络架构和协议内容

    本文是一篇LoRaWAN的科普介绍,你已经在朋友圈看过无数蜻蜓点水的LoRaWAN文章,是时候来一篇真正的技术干货了。本文先从横向介绍下LoRaWAN的背后势力和网络部署情况,然后纵向讲解了网络架构和具体的
    的头像 发表于 06-16 07:18 2.6w次阅读
    详解<b class='flag-5'>LoRaWAN</b>网络架构和<b class='flag-5'>协议</b>内容

    介绍STM32和LoRaWAN协议及其应用

    入门指南_STM32和LoRaWAN协议
    的头像 发表于 07-02 08:29 1.1w次阅读

    LoRaWAN协议之OTAA入网流程

    通过OTAA方式入网的设备,通讯时使用的KEY需要通过服务器获得,在入网之间,设备无法通讯。
    的头像 发表于 12-04 14:52 3700次阅读

    LoRaWAN网络协议的优势介绍

    物联网很多应用现在都普遍用了LoRa技术的芯片,然而没有使用LoRaWan网络协议。经过调查发现,没有使用LoRaWAN网络协议的原因有:应用点数少、规模小,有的是因为
    发表于 03-11 12:10 1181次阅读

    OTAA节点是如何入网

    在之前的文章中向大家介绍了LoRaWAN协议中节点的两种不同的入网方式OTAA和ABP的区别,本文主要介绍了OTAA节点是如何入网的。此文来自微信公众号“小七说LoRa”,内容已获小七
    发表于 03-19 13:50 1211次阅读

    LoRaWAN网络协议中文版资源下载

    LoRaWAN网络协议中文版资源下载
    发表于 07-08 10:02 0次下载

    几种常见的电源检测方法

    BOSHIDA模块电源 几种常见的电源检测方法 电流测量的方法有很多种,每种方法适用不同的场合,每种方法
    的头像 发表于 04-18 09:17 3110次阅读

    LoRaWAN网关与常见网络服务器的协议

    LoRaWAN网关与ChirpStack之间的协议LoRaWAN网关与ChirpStack(以前称为LoRaServer)服务器之间的通信协议是基于ChirpStack的网络服务器实
    的头像 发表于 09-15 08:22 780次阅读
    <b class='flag-5'>LoRaWAN</b>网关与<b class='flag-5'>常见</b>网络服务器的<b class='flag-5'>协议</b>

    MCU批量生产下载程序的几种常见方法

    MCU批量生产下载程序的几种常见方法
    的头像 发表于 10-24 17:22 1608次阅读
    MCU批量生产下载程序的<b class='flag-5'>几种</b><b class='flag-5'>常见方法</b>

    几种常见嵌入式设备通信协议

    几种常见嵌入式设备通信协议
    的头像 发表于 09-18 16:43 1637次阅读
    <b class='flag-5'>几种</b><b class='flag-5'>常见</b>嵌入式设备通信<b class='flag-5'>协议</b>