代码编织梦想

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


前言

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

例如:在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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_46632654/article/details/127149197

lorawan终端otaa入网问题及解决办法_peter_2004的博客-爱代码爱编程

LoRaWAN终端OTAA入网问题及解决办法 OTAA方式入网 LoRaWAN™Specification V1.02(下称“LoRaWAN协议”)为终端定义了2种入网方式: Over-The-Air-Activation(OTAA)和Activation By Personalization(ABP); 因OTAA的灵活度和安全

lorawan协议剖析,快速掌握协议要点_飓风7494的博客-爱代码爱编程_lorawan协议详解

转自:http://blog.csdn.net/wang2425559/article/details/74929743 1、整体结构   双向传输终端(Class A): Class A 的终端在每次上行后都会紧跟两个短暂的下行接收窗口,以此实现双向传输。传输时隙是由终端在有传输需要时安排,附加一定的随机延时(即ALOHA协议)。这种Cla

lorawan协议格式_浮华蒲公英的博客-爱代码爱编程_lorawan协议格式

1 、LoRaWAN 介绍     LoRaWAN是由LoRa联盟推出的一个低功耗广域网规范,这一技术可以为电池供电的无线设备提供区域、国家或全球的网络。LoRaWAN瞄准了物联网中的一些核心需求,如安全地双向通讯、移动化和本地服务。该技术无需本地复杂配置,即可以让智能设备实现无缝互操作性,给物联网领域的用户、开发者和企业自由操作权限。     L

LoRaWan协议1.1 ClassB部分学习笔记-爱代码爱编程

LoRaWan协议1.1 ClassB部分学习笔记 目录8.对Class B的介绍9.同步网络发起下行的原理(class b独有)10.Class B上行帧11. 下行ping包格式(class b独有)11.1 物理帧格式11.2 单播&多播 mac消息11.2.1 单播mac消息格式11.2.2多播mac消息格式12 Beacon信标的

物联网LoRa系列-25:LoRa终端--LoRaWAN协议简介与LoRa WAN终端软件选择-爱代码爱编程

前言: 从本篇文章开始: 从通信节点的角度度看,将从Lra终端对点对通信转到LoRa终端与LoRa网关的通信、LoRa终端与LoRa云服务器的通信; 从协议栈的角度看,将从物理层上升到LoRa的MAC层, 即LoRaWAN; 从软件项目的角度看,将由pingpong程序转向Class A-Class C程序。 本文主要探讨,LoRa WAN终端与

LoRaWAN 协议规范-爱代码爱编程

罗拉规范。 版权©2015罗拉联盟有限公司保留所有权利。 注意使用和披露。 版权©罗拉联盟,Inc .(2015)。保留所有权利。 本文档中的信息是罗拉的财产联盟(“联盟”)及其使用和披露受罗拉联盟企业规章制度、知识产权(IPR)政策和会员协议。 罗拉联盟规范的元素可能会受制于第三方知识产权,包括但不限于专利、版权或商标权利(第三方可能是也可能不

LoRaAN终端OTAA入网方式的详细介绍-爱代码爱编程

在之前的文章中向大家介绍了“该如何选择LoRaWAN终端入的网方式”,本文主要介绍了OTAA节点是如何入网的。此文来自微信公众号“小七说LoRa”,内容已获小七老师授权,小七老师是腾讯云在线课程讲师,点击链接https://mp.weixin.qq.com/s/WvGmi81zBMzbAX8OUb-DpA可以观看课程视频。 OTAA的全称是Over Th

lora服务器传输协议,基于lorawan协议的几种常见入网方法-爱代码爱编程

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

lorawan服务器通信协议,LoRaWAN协议(三)–Server端数据协议-爱代码爱编程

LoRaWAN Server 端架构 LoRaWAN 的server包括 NS(Network server)、AS(application server)、CS(Custom server)…. 其中NS和AS是必不可少的,是完成LoRaWAN协议的重要组成部分 NS 职责 NS是直接与GW通信的服务器,也是AS和GW之间的桥梁 我所知道的

lorawan服务器通信协议,LoRaWAN通讯协议——中国地区文件详细解读!-爱代码爱编程

一、LoRaWAN简介 LoraWAN是一种基于LoRa远距离通信技术配套设计的一套通讯协议和系统架构。LoRaWAN网络通常以星形拓扑布局,其中网关中继终端设备和后端中央网络服务器之间的消息。网关通过标准IP连接到网络服务器,而终端设备使用单跳LoRa或FSK通信到一个或多个网关。所有的交流通常都是虽然从终端设备到网络服务器的上行通信是双向的预计是

LoRaWAN协议-MAC帧格式详解-爱代码爱编程

目录 1 前言 2 帧格式整体框图 3 MAC帧格式组成 3.1 分类 3.2 组成 4 MHDR(MAC Header) 4.1 帧类型FType 4.2 协议号Major 5 MIC消息校验码 5.1 校验算法 6 MACPayload 6.1 FHDR(Frame Header) 1)DevAddr 2)FCtrl 3)

LoRaWAN协议-设备入网流程详解(OTAA和ABP)-爱代码爱编程

目录 1 前言 2 相关数据 2.1 DevAddr 2.2 NwkSKey 2.3 AppSKey 3 OTAA 3.1 入网准备 1)DevEUI 2)AppEUI(JoinEUI) 3)AppKey 3.2 Join-Request 3.3 Join-Accept 1) 什么是DR 2) 命令解析 3)加密 3.4 N

LoRaWAN协议-Class A类设备分析-爱代码爱编程

目录 1 前言 2 接收窗口  2.1 Receive_Delay1/Receive_Delay2 2.2 JOIN_ACCEPT_DELAY1/JOIN_ACCEPT_DELAY2 2.3 RX1DR/RX2DR 2.4 RXParamSetupReq/RXParamSetupAns 1)RXParamSetupReq 2)RXParam

LoRaWAN协议-自适应速率(ADR)技术-爱代码爱编程

目录 1 前言 2 网络容量优化 3 使用限制 4 如何实施ADR 4.1 通知支持ADR 4.2 ADR调整 4.3 ADR回退 5 ADR命令 5.1 LinkADRReq 5.2 LinkADRAns 1 前言         我们知道LoRa在不同的调制参数下,其传输速率和传输距离是有很大的差别。可以看下表中的数据:

lorawan入网方式以及加密进阶版_weilaizs的博客-爱代码爱编程

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