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

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

3天内不再提示

STM32WL55-NUCLEO开发(1)----STM32WL与LoRaWAN介绍

嵌入式单片机MCU开发 来源:嵌入式单片机MCU开发 作者:嵌入式单片机MCU开 2022-11-16 10:32 次阅读

无线通信技术

按照距离和传输速率,可以分为如下图所示。

在这里插入图片描述

STM32WL型号分布

在这里插入图片描述

在这里插入图片描述

STM32WL可优化项

在这里插入图片描述

LORA的前身

LoRa是 由法国公司Cycleo(于2009年作为IP和设计解决方案提供商成立)开发的专利技术,用于扩

频无线调制

• 2012年, Cycleo被Semtech(美国)以约500万美元的价格收购。

• 2015年Semtech建立了LoRa联盟。 包括意法半导体瑞萨电子,微芯,软银,阿里巴巴,亚马逊,思科,RisingHF,CLAATEK等。

LORA技术方面

LoRa(Long Range)是Semtech公司的调制技术,用于低功耗,广域网(LPWAN)。

• LoRa是物理层。

• LoRa 基于线性调频扩频(CSS)通信和工作在免许可证的SubGHz 频段。

全球LORA工作频段

可以看见,在中国使用的频段主要是470~510Mhz

在这里插入图片描述

LoRa 和 LoRaWAN区别

LoRa是物理层,LoRa定义了调制技术和频段,LoRaWAN是上层的一种开关协议,定义了mac层。

在这里插入图片描述

LoRaWAN网络架构

LoRaWAN网络架构分成如下五个部分:

• LoRaWAN节点

• LoRaWAN网关

• LoRaWAN网络服务器

• LoRaWAN应用服务器

• APP

工作过程是总端节点采集数据,将数据通过LoRa无线通信,传输到网关,网关再将数据传输到网络服务器,网络服务器再将数据转化到对应的应用服务器进行处理,最后在网页或者APP内进行显示。STM32WL系列的产品适合做节点这样的一个角色。

在这里插入图片描述

LoRaWAN 安全数据传输

在数据传输种,节点和网络服务器之间会使用128bit的网络会话密钥进行加密,检点和应用服务器之间则会用128bit的应用绘画密钥加密, 这样可以确保节点传输到应用服务器的数据不会被网关和网络服务器进行读取到。

在这里插入图片描述

LoRaWAN 节点定义

节点的类别主要是有Class A, Class B, Class C。

基于LoRaWAN的终端设备可能会根据其设备类别以三种模式之一运行。

• 所有此类设备必须支持Class A操作。

• Class B设备必须同时支持Class A和Class B模式。

• Class C设备必须支持Class A。这些操作模式与设备与网络的通信方式有关。

由下图也可以得知,Class A, Class B, Class C的功耗种Class A最小,Class C功耗最大。

在这里插入图片描述

工作模式

Class A

Class A:所有LoRaWAN终端设备必须实现A类功能。 降低功耗。

双向传输终端(Class A):ClassA 终端设备允许双向通信,Class A 的终端在每次上行后都会紧跟两个短暂的下行接收窗口,以此实现双向传输。

在这里插入图片描述

终端基于自身通信需求来安排传输时隙,在随机时间的基础上具有较小的变化(即 ALOHA 协议)。Class A 操作为应用提供了最低功耗的终端系统,只要求应用在终端上行传输后的很短时间内进行服务器的下行传输,服务器在其他任何时间进行的下行传输都需要等终端的下一次上行。

在这里插入图片描述

Class B

Class B:Class B设备必须同时支持Class A和Class B模式。

划定接收时隙的双向传输终端(Class B):Class B 的终端有更多的接收时隙。除了 Class A 的随机接收窗口,Class B 设备还会在指定时间打开其他的接收窗口。为了让终端可以在指定时间打开接收窗口,终端需要从网关接收时间同步的信标(Beacon),使服务器知晓终端何时处于监听状态。

在这里插入图片描述

Class C

Class C:Class C始终处于“打开”状态; 也就是说,它们不依赖电池电量。 低延迟,多功耗。

最大化接收时隙的双向传输终端(Class C):Class C 的终端基本处于一直打开接收窗口的状态,只在发送时短暂关闭。Class C 的终端会比 Class A 和 Class B 更加耗电,但同时从服务器下发给终端的时延也是最短的。

在这里插入图片描述

LoRaWAN 网络结构

LoRaWAN 网关在LoRaWAN 网络结构中主要是做数据转换工作,节点接收到的数据转换到网络服务器,或者将网络服务器的数据传输到节点。

在这里插入图片描述

LoRaWAN 网络架构主要包含节点、网关、网络服务器、应用服务器以及应用APP。

在这里插入图片描述

LoRaWAN 节点激活方法

LoRaWAN 节点入网或者激活主要又两种方式,分别是Over-the-Air Activation(OTAA)和Activation By Personalization (ABP)。

Over-the-Air Activation(OTAA)

空中激活 OTAA 是目前推荐的连接方式,安全性更高,通过网络执行入网的过程,动态地生产会话密钥及 DevAddr。

• 基于全局唯一标识符

• 空中消息握手

• 设备制造商自动生成基本的配置参数

• 可以定期更新安全密钥(会话密钥和派生密钥)

• 设备可以存储多个“身份”,以在其生命周期内动态安全地切换网络和运营商

• 提供高级的防篡改安全选项

Activation By Personalization (ABP)

本地激活 ABP 接入网络的方式更为简单直接,无需入网流程,通过本地预存的会话密钥进行加解密,但存在一些安全性的问题如重放攻击,因此不推荐使用。

• 生产时存储共享密钥

• 锁定到特定网络

• 简化的(不太安全)的激活过程

• 在制造时对ID和密钥进行了个性化设置

• 上电后,设备立即开始工作; 跳过加入程序

• 设备绑定到特定的网络/服务; NetID是设备网络地址的一部分

OTAA的入网参数

标识符说明
DevEUI64位全局唯一ID(IEEE EUI64地址)唯一标识终端设备。
AppEUI64位应用ID用于唯一标识应用提供者的节点(IEEE EUI64地址)
AppKey由AES分配的AES-128应用密钥,专用于终端设备应用程序提供者,用于派生特定于该终端设备的会话密钥NwkSKey和AppSKey,以加密和验证网络通信和应用程序数据

ABP的入网参数

标识符说明
NwkSKey网络会话密钥,用于特定的终端设备。 网络服务器和终端设备将其用于计算和验证MIC(消息完整性代码),或加密和解密仅MAC数据消息的有效载荷字段
AppSKey应用会话密钥,用于特定的终端设备。被用于应用服务器和终端设备加解密应用数据。
DevAddr标识当前网络中的终端设备的32位地址。

OTAA: 入网请求

在软件上配置好节点参数后,在网络服务器上注册节点时,需要把对应节点的OTAA的入网参数填入到网络服务器中,然后节点就会发送入网请求 ,通过网关请求包发送给网络服务器,入网请求数据包内就包含了AppEUI和DevEUI等阐述的信息

在这里插入图片描述

OTAA: 入网接收

当网络服务器接收到网关转化的入网请求数据包之后,网络服务器会根据数据包的参数来判断是否是已经注册的节点,如果是则会接受申请,并且会返回数据包给节点,数据包会包含后面用于派生数据通讯密钥的信息。

在这里插入图片描述

OTAA: 会话密钥

在完成入网通讯后,节点和服务器会根据入网申请和入网接收的数据包交换参数,派生出网络会话密钥(Networks Session Keys)和应用会话密钥(Application Session Keys)用于后续的数据传输加密。

在这里插入图片描述

OTAA:安全传输

节点和网络服务器之间的通信是用安全的网络连接使用派生的网络会话密钥 (Secure network connection using derived Network Session Keys)进行加密,而节点和应用服务器之间的通信是用应用程序会话密钥 (Application lever end-to end encryptionusing derived Application Session Keys)进行加密。

所以网关网络服务器没有办法读取到节点到应用服务器上的数据,因为他们使用的是不同的密钥,这也可以保证网关或者网络服务器受到攻击时,节点传输给应用服务器的数据不会被破解。

在这里插入图片描述

LoRaWAN 安全密钥派生图

下图列出了LoRaWAN 安全密钥派过程,可以看到AppKey或者NwkSKey在结合不同的AES算法之后,可用于不同数据包的加密,比如入网申请和接受的数据加密和数据传输的密钥是不一样的。

在这里插入图片描述

OTAA: 工作流程

最开始是入网,然后是节点的网络连接,这个步骤会产生加密数据的密钥,接着是数据的传输,可能是节点数据的更新或者是系统时间的同步。

在这里插入图片描述

LoRaWAN数据包格式

在这里插入图片描述

LoRaWAN MAC指令

对于LoRaWAN网络管理,可以在网络服务器和终端设备上的MAC层之间专门交换一组MAC命令。 MAC层命令对于应用程序或应用程序服务器或在终端设备上运行的应用程序永远是不可见的。

• 单个数据帧可以包含任何MAC命令序列,它们可以commands带在FOpts字段中,或者作为单独的数据帧发送时,可以在FRMPayload字段中将FPort字段设置为0。

• MAC命令始终以加密方式发送,并且不得超过15个八位位组.

• 作为FRMPayload发送的MAC命令始终被加密,并且不得超过最大FRMPayload长度.

发送MAC指令的两种方法:

• 在FOpts字段中附带的MAC命令

• MAC命令作为单独的数据帧发送,在FRMPayload字段

中将FPort字段设置为0

在这里插入图片描述

下面是lorawan的mac指令。主要分为两类,一类是节点发给服务器的,另一类是网络服务器发给节点的,一般而言总端节点只会应答一次接收到了mac指令,如果网络服务器没有接收到回应,只能再发一次。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

审核编辑:汤梓红

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

    关注

    56

    文章

    4195

    浏览量

    142296
  • STM32
    +关注

    关注

    2239

    文章

    10671

    浏览量

    348720
  • LoRa
    +关注

    关注

    346

    文章

    1541

    浏览量

    230334
  • LPWAN
    +关注

    关注

    4

    文章

    191

    浏览量

    31643
  • lorawan
    +关注

    关注

    3

    文章

    290

    浏览量

    23647
收藏 人收藏

    评论

    相关推荐

    STM32CubeMX STM32WL不能配置LoRaWAN的原因?

    STM32CubeMX 中使用STM32WL配置LoRaWAN时不能配置,请问为什么?
    发表于 04-02 07:47

    关于STM32WL LSE 添加反馈电阻后无法起振问题

    关于STM32WL LSE 添加反馈电阻后无法起振问题
    的头像 发表于 10-25 16:48 350次阅读
    关于<b class='flag-5'>STM32WL</b> LSE 添加反馈电阻后无法起振问题

    应用笔记 | STM32WL LoRa节点入网失败问题分析总结

    STM32WL做LoRa节点应用开发或测试过程中,有时会遇到LoRa节点入网失败的问题。使用STM32WL开发的LoRa节点加入的网络可能是标准的
    的头像 发表于 09-27 17:10 1101次阅读

    STM32WL私有LoRa网络设计原理以及演示介绍

    STM32WL私有LoRa网络设计原理以及演示介绍
    的头像 发表于 09-19 16:42 1869次阅读
    <b class='flag-5'>STM32WL</b>私有LoRa网络设计原理以及演示<b class='flag-5'>介绍</b>

    STM32WL安全特性介绍

    电子发烧友网站提供《STM32WL安全特性介绍.pdf》资料免费下载
    发表于 09-19 15:03 0次下载
    <b class='flag-5'>STM32WL</b>安全特性<b class='flag-5'>介绍</b>

    STM32WL FUOTA应用设计

    电子发烧友网站提供《STM32WL FUOTA应用设计.pdf》资料免费下载
    发表于 09-19 15:01 2次下载
    <b class='flag-5'>STM32WL</b> FUOTA应用设计

    STM32WL硬件简介

    电子发烧友网站提供《STM32WL硬件简介.pdf》资料免费下载
    发表于 09-19 14:53 2次下载
    <b class='flag-5'>STM32WL</b>硬件简介

    STM32WL软件简介

    电子发烧友网站提供《STM32WL软件简介.pdf》资料免费下载
    发表于 09-19 14:51 1次下载
    <b class='flag-5'>STM32WL</b>软件简介

    STM32WL LoRa例程介绍

    电子发烧友网站提供《STM32WL LoRa例程介绍.pdf》资料免费下载
    发表于 09-19 14:49 2次下载
    <b class='flag-5'>STM32WL</b> LoRa例程<b class='flag-5'>介绍</b>

    STM32WL使用STM32CubeMX创建LoRa节点应用

    电子发烧友网站提供《STM32WL使用STM32CubeMX创建LoRa节点应用.pdf》资料免费下载
    发表于 09-19 14:46 1次下载
    <b class='flag-5'>STM32WL</b>使用<b class='flag-5'>STM32</b>CubeMX创建LoRa节点应用

    STM32WL LoRa RF测试

    电子发烧友网站提供《STM32WL LoRa RF测试.pdf》资料免费下载
    发表于 09-19 14:45 2次下载
    <b class='flag-5'>STM32WL</b> LoRa RF测试

    STM32WL系列的STM32CubeWL入门手册

    。 –STM32CubeMonitor,一款多功能监测工具,带有专用附加组件,可使用STM32WL(动态分组发送/接收、PER测量)与RF性能随时间变化的图形表示。 •一个全面的嵌入式软件平台,按系列提供(如
    发表于 09-08 06:25

    面向STM32WL系列的STM32CubeWL入门

    STM32CubeWL 将开发 STM32WL 微控制器应用所需的所有通用内置软件组件聚集在单一软件包中。根据STM32Cube 计划,这套组件具有高度可移植性,不仅在
    发表于 08-31 11:15 2次下载

    基于STM32WL系列微控制器构建特定LoRa应用程序

    驱动程序。 本文提供了有关带STM32WL55JC的NUCLEO-WL55JC开发板(适于高频段的订购代码为NUCLEO-WL55JC1,适于低频段的订购代码为
    发表于 08-14 11:38

    STM32WL系列的STM32CubeWL入门

    电子发烧友网站提供《STM32WL系列的STM32CubeWL入门.pdf》资料免费下载
    发表于 08-01 17:02 1次下载
    <b class='flag-5'>STM32WL</b>系列的<b class='flag-5'>STM32</b>CubeWL入门