提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、LoRaWAN协议入网方式是什么?
  • 二、使用步骤
    • 1.引入库
  • 总结

前言

提示:这里可以添加本文要记录的大概内容:

例如:在LoRaWAN中,node最终和服务器能够正常数据交互,需要先入网,入网的本质,也就是获得一些通信相关的参数,有以下几个:

NwkSKey
AppSKey
DevAddr
DevEui
其中

NwkSKey用于数据的校验,也就是说在MIC校验时会用到
AppSKey用于负载的AES加密,也就是说在加密解密时会使用到
DevAddr是node的短地址,在数据通讯时,使用的是node的短地址
DevEUI 在ABP入网方式的通讯中不会使用,在OTAA方式中会使用到,是由设备在入网前就产生了。在入网时,node将DevEUI上传,然后服务器会将此DevEUI注册并返回一个DevAddr,也就是说DevAddr此时和DevEUI就建立了映射关系,在node后续的通讯中,使用DevAddr。
LoRaWAN入网方式有两种:

ABP (Activation By Personalization)
OTAA(Over-The-Air Activation)
下面就讲述一下这两种方式。

ABP 概述
ABP方式是事先将入网信息烧写在设备上,也就是说设备上电已经入网了,无需再特意去请求入网。

这种方式就不再多说了。需要做的只是把这个设备信息录入到平台上。

注意录的时候可能要输入DevEUI,但实际上ABP的设备DevEUI在通讯中并无参与,所以只是做个映射,来符合LoRaWAN协议,所以这个值可以随意的填,不重复即可,不过建议加上一个方便记忆的前缀

OTAA 概述
OTAA方式入网的node,在刚上电的时候,是不处于入网状态的,此时就需要进行入网操作。

如果我们简单的把服务器看做一个整体,那么入网操作的流程是这样的:

node 发送入网请求,即join_request message
GW 收到 node 的数据,上传给服务器
服务器收到入网请求,同意入网,并且将设备在服务器注册,建立长地址与短地址之间的联系,生成通讯密钥,将通讯密钥的参数打包下发给GW,即 Join-accept message
GW 收到服务器的数据,下发给 node
node 根据下发的数据包,得到 DevAddr、APPSKEY、NWKSKEY


一、LoRaWAN协议入网方式是什么?

示例:LoRaWAN协议入网方式 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

二、使用步骤

1.引入库

名词解析
上行:终端的数据发送经过一个或多个网关中转到达网络服务器。
下行:由网络服务器发送给终端设备,每条消息对应的终端设备是唯一确定的,而且只通过一个网关中转。

LoRaWAN Classes
LoRaWAN Classes 一共分为3类:Class A,Class B,Class C

Class A:终端先发送,在发送后开启一段时间的接收窗口,终端只有在发送后才可以接收。也就是说上行没有限制,下行的数据只有在上行包发送上来的时候终端才可以接收到。(功耗最低)

Class B:终端和服务器协商好接收的窗口开启的时间以及何时开启,然后再约定的时间进行接收,可以一次接收多个包。(功耗次低)

Class C:终端在发送以外的其他时间都开启接收窗口。更耗能,但通讯延时最低。(功耗最高)

PHY/MAC 层数据链路
总的数据包结构:

注意preamble、PHDR、PHDR_CRC、CRC都是硬件生成,无需软件参与,需要软件参与的就是PHYPayload部分

PHY层数据
上行链路消息:

下行链路消息:

其中上行最后还有CRC校验,而下行没有CRC校验。其中PHDR PHDR_CRC CRC都是射频芯片用于校准数据的完整新和一致性用的,并非用户生成的数据。

MAC 层数据

由上图可以看到,MAC数据是是作为PHYPayload存在的
其中MAC 层的包有三个部分组成:

MHDR(MAC层帧头)
MACPayload(MAC层负载)
MIC(4字节的校验)
而MACPayload又由三个部分组成:

FHDR (MAC层负载头)
FPORT(MAC 层数据的通道号)
FRMPayload(MAC层负载,加密)
而FHDR又由由四个部分组成:

DevAddr(终端的ID 4字节)
FCtrl(帧的控制字 1个字节)
FCnt (帧的序号 2个字节)
FOpts(帧配置,字节数不定,大部分情况0个字节)
所以,由协议可知,一个上行包或者下行包中的数据内容有哪些,抛开控制命令不说,主要有终端的ID、包的序号、用户的加密负载。

例如我抓到的一个数据包:

/x40 /x7f /xf8 /x8a /x29 /x80 /x2a /x00 /x02 /x07 /x42 /x87 /x3f /xc7 /xb4 /x22 /x04 /x00 /x84 /x8d /x1b /x06 /x2f /x5b /xbc /x57 /xdb /xf2 /x31 /xde /x49 /x61 /x00 /x86 /x99 /xec /x08 /x61 /xf0 /xb7 /xda /x54 /x0a /xfa /xd1 /x31 /xac /xd0 /x44 /x1b /x4d /xfa /x48 /x77 /x19 /xee /x61 /x14 /xbf /x23 /x52 /xd1 /xe9 /x93 /x79 /x6e /x16 /xd7 /x13 /x2e /x58 /x06 /x54 /xc3 /xd2 /x04 /xba /x52 /xa7 /xc8 /x7a /x0b /x8e

这是一个MAC 层的帧,即完整的PHYPayload部分,注意,默认LoRaWAN都是按小端方式传输的。

其中

MHDR:
/x40
MACPayload-FHDR-DevAddr:
/x7f /xf8 /x8a /x29
MACPayload-FHDR-FCtrl:
/x80
MACPayload-FHDR-FCnt:
/x2a /x00
MACPayload-FPORT:
/x02
MACPayload-FRMPayload(加密):
/x07 /x42 /x87 /x3f /xc7 /xb4 /x22 /x04 /x00 /x84 /x8d /x1b /x06 /x2f /x5b /xbc /x57 /xdb /xf2 /x31 /xde /x49 /x61 /x00 /x86 /x99 /xec /x08 /x61 /xf0 /xb7 /xda /x54 /x0a /xfa /xd1 /x31 /xac /xd0 /x44 /x1b /x4d /xfa /x48 /x77 /x19 /xee /x61 /x14 /xbf /x23 /x52 /xd1 /xe9 /x93 /x79 /x6e /x16 /xd7 /x13 /x2e /x58 /x06 /x54 /xc3 /xd2 /x04 /xba /x52 /xa7
MIC:
/xc8 /x7a /x0b /x8e

总结

例如:如果我们简单的把服务器看做一个整体,那么入网操作的流程是这样的:

node 发送入网请求,即join_request message
GW 收到 node 的数据,上传给服务器
服务器收到入网请求,同意入网,并且将设备在服务器注册,建立长地址与短地址之间的联系,生成通讯密钥,将通讯密钥的参数打包下发给GW,即 Join-accept message
GW 收到服务器的数据,下发给 node
node 根据下发的数据包,得到 DevAddr、APPSKEY、NWKSKEY

LoRaWAN协议入网方式相关推荐

  1. LoRaWAN入网方式以及加密进阶版

    LoRaWAN入网方式以及加密进阶版 文章目录 LoRaWAN入网方式以及加密进阶版 首先了解一下关于LoRaWAN入网的一些参数解释:(OTAA模式) OTAA入网过程: 大致过程: 具体过程: 关 ...

  2. LoRaWAN设备类型、终端入网方式及消息上下行

    LoRaWAN 协议针对低功耗.电池供电的传感器等应用进行了不同等级的优化, 分成不同级别的终端类型(Class A/B/C),以优化网络延迟和电池寿命间的平衡关系.所有的LoRaWAN终端都必须满足 ...

  3. 全面了解LoRaWAN终端ABP入网方式

    ABP(Activation by Personalization)作为LoRaWAN的一种个性化激活入网方式,那么大家知道LoRaWAN终端ABP入网方式的具体步骤吗? 在本次的视频课程中,小七老师 ...

  4. lora服务器传输协议,基于lorawan协议的几种常见入网方法

    OTAA(Over-The-Air Activation),是LoRaWAN的一种空中入网方式.当node在上电的时候处于非入网状态时,需要先入网才能和服务器进行通信.其操作就是node发送join_ ...

  5. LoRa节点ABP入网方式怎么样

    在之前的文章中为大家介绍了"LoRaWAN终端OTAA入网方式",现在为大家介绍ABP节点入网,此文来自微信公众号"小七说LoRa",内容已获小七老师授权,小七 ...

  6. LoRaAN终端OTAA入网方式的详细介绍

    在之前的文章中向大家介绍了"该如何选择LoRaWAN终端入的网方式",本文主要介绍了OTAA节点是如何入网的.此文来自微信公众号"小七说LoRa",内容已获小七 ...

  7. LoraWan协议剖析,快速掌握协议要点

    1.整体结构 双向传输终端(Class A): Class A 的终端在每次上行后都会紧跟两个短暂的下行接收窗口,以此实现双向传输.传输时隙是由终端在有传输需要时安排,附加一定的随机延时(即ALOHA ...

  8. 在弱网区域下,LoRa终端入网方式OTAA与ABP该如何选择

    在之前的文章中为大家介绍了"LoRa节点如何以OTAA方式入网TTN服务器",现在为大家介绍在弱网区域下LoRa节点入网方式OTAA与ABP该如何选择,本文来自微信公众号" ...

  9. STM32节点移植lorawan协议连接腾讯云物联网开发平台(IoT Explorer)

    STM32移植lorawan协议栈连接腾讯云物联网开发平台(IoT Explorer) 前言 开发环境的准备 正文 初始化 入网 发送与接收 前言 在移植协议之前,先给大家科普一下Lora 和 lor ...

最新文章

  1. android首页图片轮播效果,Android_Android自动播放Banner图片轮播效果,先看一下效果图支持本地图 - phpStudy...
  2. 几个重要的 ASM Disk Groups 参数
  3. android添加imageview,android – 以编程方式将ImageView添加到Layout
  4. python生成器和迭代器作用_浅谈Python中的生成器和迭代器
  5. [蓝桥杯2016初赛]密码脱落
  6. python可以在linux运行_服务器(Linux)上运行python总结
  7. 方案改进:直接通过User Control生成HTML
  8. 2020辅警考试计算机知识题,2019年辅警考试题库:计算机概述-计算机软件系统
  9. 最简单的Rest服务
  10. python是最适合初学者的语言
  11. pycharm的配置——字体
  12. 车规电阻AEC-Q200测试项目及元器件检测设备
  13. STM32填坑:时钟使能必须在外设初始化之前
  14. [微信小程序] 单张、多张图片上传(图片转base64格式)实践经验
  15. php当月1号怎么获取,php获取下月1号和月底最后一天的时间
  16. 串口配置c语言,C语言驱动之配置串口(基于S3C2440开发板)
  17. python 提取元组中的值_如何从Python元组中提取数据?
  18. 自动充值平台开发进程之联通卡密一最终实现
  19. [机缘参悟-65]:《兵者,诡道也》-6-三十六计解读-并战计
  20. ATL之深入浅出书评(潘爱民)

热门文章

  1. DiskGenius快速分区硬盘
  2. mysql where 条件取反_MySQL搜索: WHERE 多条件
  3. (附源码)计算机毕业设计SSM旅游分享平台
  4. Dell optiPlex麦克风显示未插入问题解决
  5. Java 学习API(一)
  6. 7家自媒体创业项目平台收益技巧和差异对比,你适合哪个?
  7. VS2019:C++程序lib静态库、dll动态库的生成和使用
  8. 分辨率自动调节html,网页根据分辨率自适应
  9. codeforces 727E. Games on a CD
  10. python模拟鼠标键盘操作_python3实现复制粘贴 Python-模拟鼠标键盘动作 | 猴头客