蓝牙Mesh LPN节点

2023-11-12

选择LPN模式的原因:能有效的降低产品功耗。

比如:一个温湿度传感器产品,需要超过设定阈值才会从上送数据,这样就没有长时间唤醒时间,就无法接收到网关下发的设置数据,这时候就需要LPN模式。LPN的节点正常还是超过阈值才会上报数据,然后会过一段时间唤醒去访问他对应的Friend节点,去询问是否有对应的设置数据。这样就保证低功耗的同时又可以保证功能的完整性。

由此引出了两个概念:LPN节点与Friend节点。

111de785b6984ca58a26fc73dc32f4a7.png

如图所示:

其中Friend节点P与低功耗节点 I、J和K为“友谊”关系,寻址到节点I、J或 K的消息将被好友节点P存储并转发,好友节点的转发仅在低功耗节点轮询好友节点以获得等待传送的消息时才会发生。所以Friend节点一般都是为长供电设备,用于一直接收数据。

问题点:如果在蓝牙 Mesh 网络中,Friend 节点和发送者是同一个节点是否可以会有什么影响?

解答:如果 Friend 节点和发送者是同一个节点,该节点需要同时处理发送和中继的任务,可能会增加其能耗和负担。这可能会导致 Friend 节点在中继数据给 LPN 节点时的性能受到一定程度的影响,例如延迟可能会增加。因此,如果可能的话,将 Friend 节点和发送者设置为不同的节点可能更有利于性能和可靠性。

LPN节点与Friend节点连接

57bbbedd77f742328b2ed10d4e017449.png

597324a7447f404d94c57aa623d49cd9.png

Friend建立的基本数据:

  1. Friend Request:“好友请求”消息通过低功率节点发送到全好友组,以开始查找好友
  2. Receive Delay:接收延迟是指低功耗节点发送请求和侦听响应之间的时间。此延迟允许朋友节点的时间来准备响应。
  3. Receive Window:接收窗口是低功耗节点侦听响应的时间。当低功耗节点收到来自其“朋友”节点的消息时,它可以停止侦听其他消息。
  4. Friend Offer:由朋友节点发送,允许建立友谊。
  5. Friend Poll:消息由低功耗节点发送,请求好友节点发送已为低功耗节点存储的消息。
  6. Friend Update:消息由好友机节点发送到低功耗节点,以通知低功耗节点网络的安全参数(给定NetKey的IV索引、IV更新标志和key刷新标志的值被称为安全参数)已更改或正在更改,或好友队列(这是为低功率节点订阅的组和虚拟地址的集合。此列表允许“好友”节点存储低功耗节点所订阅的消息。)为空。

基本数据参数结构:

  1. Friend Request消息参数:消息的op为0x03,TTL字段设置为0,目的地址为0xFFFF或OxFFFD。

字段

大小

注释

Criteria

1byte

friend节点为了参与友谊谈判而应该支持的标准

Receive Delay

1byte

LPN节点接收请求响应的延迟

Poll Timeout

3byte

由低功耗节点设置的超时定时器的初始值

Previous Address

2byte

前一个朋友的主要元素的单播地址

Num Elements

1byte

LPN节点中的元素数

LPN Counter

2byte

低功耗节点已发送的好友请求消息数

消息中Criteria的含义:

字段

大小

注释

RFU

1bit

保留

RSSI Factor

2bit

friend节点进行延迟计算中使用的RSSI

Receive Window Factor

2bit

friend节点进行延迟计算中使用的Receive Window

Min Queue Size Log

3bit

friend节点可以存储在其好友队列中的最小消息数

Delay = Receive Window Factor * Receive Window – RSSI Factor * RSSI

2. Friend Offer消息参数:消息的op为0x04, TTL字段设置为0,目的地址为接收到的请求节点的源地址。

字段

大小

注释

Receive Window

1byte

Friend节点支持的接收窗口大小

Queue Size

1byte

Friend节点支持的队列大小

Subscription List Size

3byte

LPN节点的朋友节点可以支持的订阅列表的大小

RSSI

2byte

Friend节点的RSSI

Friend Counter

1byte

friend节点已发送的offer消息数

蓝牙Mesh规范版本为1.0和1.0.1的Friend Queue的最大大小通常被限制在16个数据报文左右。MinQueueSizeLog是指整个好友队列(Friend Queue)的大小,而不是消息的数量。QueueSize指的是整个好友队列(Friend Queue)的大小,而不是消息的数量。

3. Friend Poll消息参数:消息的op为0x01, TTL字段设置为0, 目的地址为friend的地址。

字段

大小

注释

Padding

7bit

0b0000000.禁止使用所有其他值。

FSN

1bit

Friend序列号

4. Friend Update消息参数:消息的op为0x02, TTL字段设置为0,目的地址为LPN节点的源地址。

字段

大小

注释

Flags

1byte

包含IV更新标志和密钥刷新标志

IV Index

4byte

Friend节点已知的当前IV索引值

MD

1byte

指示该好友队列是否为空。0表示为空,1表示不为空

LPN节点更换Friend节点:

6937c0b98cd94ea4873d7c5f0835b1ad.png

PollTimeout:设定了LPN发送给其好友节点的两个连续请求之间可能经过的最长时间。如果在PollTimeout计时器到时之前,好友节点未能收到LPN的请求,则友谊关系将被终止。

在建立友谊后,如果“好友请求”消息的“前地址”字段包含一个有效的单播地址,而该地址不是朋友节点自己的单播地址,则“朋友”节点应按照以下程序开始向该单播地址发送好友清除信息:

  1. TTL应设置为最大有效值。
  2. 友谊建立后,立即发送第一个friend清除提示信息,时间设置为1秒,friend清除计时器。
  3. 如果为响应friend clear消息而收到friend clear confirm消息,则应取消两个计时器,且程序已完成。
  4. 如果朋友清除重复计时器过期,将发送新的朋友清除消息,并重新启动计时器,其时间段是之前的朋友清除重复时间段的两倍。如第一次到期后,周期设置为2秒,下一次到期时,设置为4秒,以此类推。
  5. 如果朋友清除计时器过期,则应取消朋友清除重复计时器,并且该过程已完成。
  1. Friend Clear消息参数:消息的op为0x05 ,目的地址为之前friend节点的源地址。

字段

大小

注释

LPN Address

2byte

LPN节点的地址

LPN Counter

2byte

用于建立Friend关系的最新好友请求中的LPN Counter值

  1. Friend Clear Confirm消息参数:消息的op为0x06, 如果收到的TTL为0,确认也应使用TTL为0,目的地址为新friend节点的源地址。

字段

大小

注释

LPN Address

2byte

正在删除的LPN节点的单播地址

LPN Counter

2byte

对应的friend clear消息的LPN counter的值

LPN节点消息传递:

856ea20ca51e45478c4b273c49388bdf.png

  • 低功耗消息传递操作由低功耗节点执行,以接收从朋友节点存储的消息和安全更新。
  • 该操作包括从低功耗节点到朋友节点的异步请求,以及从朋友节点到低功耗节点的定时响应。
  • 与朋友节点对应的低功耗节点应在轮询超时计时器到期前向朋友节点发送朋友轮询消息。
  • 在“朋友轮询”消息中,TTL字段应设置为0。
  • 低功耗节点应继续发送“朋友轮询”消息,直到收到将MD字段设置为0的“朋友更新”消息为止。
  • 低功耗节点可以通过发送朋友清除来终止与朋友的友谊。朋友清除消息应该使用TTL为0来发送。
  • FSN字段应设置为朋友序列号的值,如果低功耗节点接收到友节点的响应,则切换友序列号。
  • 如果低功率节点在接收窗口中没有收到响应,它应该重新发送朋友轮询消息。建议重新发送此消息3次,以确保可靠性和功耗之间的良好平衡。
  • 如果低功耗节点接收到好友更新消息,它应使用相同的规则处理标志和IV索引字段,就像在安全网络信标中接收到它们一样。

LPN节点的好友订阅列表添加/删除/确认:

  1. Friend Subscription List Add消息参数:消息的op为0x07, TTL为0,目的地址为friend节点的源地址。

好友订阅列表添加消息由低功率节点发送到好友节点,以指示要存储消息的组地址和虚拟地址的列表。

字段

大小

注释

Transaction Number

1byte

“交易编号”字段用于区分每个单独的事务

Address List

2 * N byte

组地址和虚拟地址的列表,其中N是此消息中的组地址和虚拟地址的数量

Transaction Number:增加每个新的好友订阅列表添加或好友订阅列表删除的交易编号,使交易编号与好友订阅列表确认消息的“交易编号”字段相匹配。

  1. Friend Subscription List Remove消息参数:消息的op为0x08, TTL为0,目的地址为friend节点的源地址。

“好友订阅列表删除”消息由低功耗节点发送到好友节点,以指示要从好友订阅列表中删除的组地址和虚拟地址。

字段

大小

注释

Transaction Number

1byte

“交易编号”字段用于区分每个单独的事务

Address List

2 * N byte

组地址和虚拟地址的列表,其中N是此消息中的组地址和虚拟地址的数量

  1. Friend Subscription List Confirm消息参数:消息的op为0x09, TTL为0,目的地址为LPN节点的源地址。

“好友订阅列表确认”消息由好友节点发送到低功率节点,以响应“好友订阅列表添加”消息或“好友订阅列表删除”消息。

字段

大小

注释

Transaction Number

1byte

“交易编号”字段用于区分每个单独的事务

LPN节点与Friend节点的消息交互的安全性:

主安全资料(Master Security Material):由网络密钥(NetKey)派生,可被同一网络中的其他节点使用。使用主安全资料加密的消息可被同一网络中的任何节点解码。

好友安全资料(Friend Security Material):由网络密钥(NetKey)、以及由低功耗节点(LPN)和好友节点生成的额外计数器号码派生而来。使用好友安全资料加密的消息只能由处理该消息的好友节点和LPN解码。

使用好友安全资料加密的友谊消息:轮训(Friend Poll)、好友更新(Friend Update)、好友订阅列表(Friend Subscription List)添加/删除/确认好友节点发送至LPN的“被存储的消息”。

使用主安全资料加密的相应友谊消息:好友清除(Friend Clear)、好友清除确认(Friend Clear Confirm)。

从LPN发送至好友节点的消息将根据应用设置,通过主安全资料或好友安全资料进行加密。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

蓝牙Mesh LPN节点 的相关文章

  • [BLE]低功耗蓝牙介绍

    一 BLE的协议栈框架 BLE协议栈包括两个部分 xff0c 主机 Host 和控制器 Controller 二者通过HCI Host Controller Interface 标准接口相互通信 常用的单芯片单模BLE芯片有TI的CC254
  • [BLE]低功耗蓝牙之GAP、GATT

    一 开篇 本篇主要介绍一下关于BLE开发过程中必须了解的两个协议 xff1a GAP xff08 通用访问协议 xff09 GATT xff08 通用属性协议 xff09 两个协议都隶属于Host层 xff0c 直接关系到应用层开发 xff
  • Ble Mesh的Heatbeat(心跳)&地址&Model(模型)

    心跳 将节点配置为定期发送称为心跳消息的消息 Heartbeat 消息的目的 1 表示该节点仍然处于活动状态 2 允许根据传递 Heartbeat 消息所需的跳数确定其与接收者的距离 Heartbaeat的opcode 和Friend re
  • 蓝牙mesh消息中的三种model: server models、client models、control models

    server models 服务器模型是在设备上运行的一个软件组件 负责管理和存储设备的状态信息 同时接受来自客户端的请求并进行响应 服务器模型定义了设备的功能和行为 并向网络中的其他设备发布其状态信息 比如发布一些state的消息 cli
  • ST-BlueNrg-lp蓝牙芯片OTA升级过程

    1 无线 固件升级的概念 空中下载 OTA 固件升级是一种协议 它允许低功耗蓝牙从设备通过空中接收来自低功耗蓝牙主设备的固件映像并将其写入闪存 为了将事情置于低功耗蓝牙技术的正确环境中 OTA 固件升级框架定义了一项暴露其自身特征的服务 该
  • 2021/9/29 TX POWER 蓝牙发射功率

    1 觉得挺奇葩 如果不是扩展包的话 就是TX power 设定 没法通过hci 下发 就是 在controller 设定好 也没法中途去变化 扩展包 有这个选项 能够改变 可以通过HCI 下发指令来更改 2 AD9361 设置发射功率 要注
  • BLE MESH组网(一)简介和基本概念

    BLE MESH组网 一 BLE MESH简介 BLE MESH来源 BLE MESH用处 BLE MESH的通讯方式 管理洪水 市场内蓝牙设备支持 安全性 BLE MESH协议栈模型 BLE MESH基本概念 节点 元素 模型和状态 地址
  • BLE低功耗的设置参数

    广播间隔 连接间隔 扫描间隔 扫描窗口 广播间隔 两个相邻广播事件之间的时间称为广播间隔 可以选择 20ms 10 28s 不等的间隔 通常 一个广播中的设备会每一秒广播一次 必须是 0 625ms 的整数倍 由于设备间的时钟会不同程度的漂
  • BLE蓝牙协议 — 自适应调频算法简单实现

    写在前面 转载文章 若有不妥 通知后我会立即删除 最近看了大神刘权写的 BLE4 0低功耗蓝牙协议总结 感觉收获颇丰 其中有一节是讲解蓝牙的自适应调频算法的 但是代码实现不方便阅读 原文是这样的 小生不才 斗胆做了一下调整 还望大神海涵 下
  • 蓝牙PHY6222添加OTA升级功能

    主要步骤 1 代码添加 ota app service 2 keil软件添加ota app代码 3 烧录软件添加ota设置 4 手机ota app升级 准备 奉加微电子官网下载6222的代码SDK V3 0以上 下载官网的PhyPlusKi
  • 解密蓝牙mesh系列

    转载自 蓝牙技术联盟 蓝牙mesh网络 低功耗 低功耗蓝牙 低功耗蓝牙 Bluetooth Low Energy 是一项相当成功的无线技术 如今已经很难找到不支持低功耗蓝牙的智能手机或平板电脑了 可以说它是可穿戴技术兴起的关键因素 在医疗设
  • BLE蓝牙笔记----数据包解析

    本文是参考一些博文和书籍做的笔记 如有不适联系删除 参考 https www cnblogs com iini p 8977806 html BLE4 0 低功耗蓝牙 协议 总结 目录 1 广播包 1 1 PDU Type 1 2 MAC地
  • 蓝牙Mesh LPN节点

    选择LPN模式的原因 能有效的降低产品功耗 比如 一个温湿度传感器产品 需要超过设定阈值才会从上送数据 这样就没有长时间唤醒时间 就无法接收到网关下发的设置数据 这时候就需要LPN模式 LPN的节点正常还是超过阈值才会上报数据 然后会过一段
  • Uniapp低功耗蓝牙操作实例

    uniapp低功耗蓝牙在移动端使用较为平常 本文相较于官方文档介绍一下低功耗蓝牙的操作案例 即取即用 低功耗蓝牙虽工作原理与经典蓝牙类似 但是有着独特的架构体系 所以LE独立出来成为一种蓝牙形态 不过LE和经典蓝牙使用相同的2 4G无线电频
  • nRF52832 — 串口BLE例程逐行解析【转载】

    原文链接 http blog csdn net u011034150 article details 50617686 转载文章 若有不妥 通知后我会立即删除 本讲逐行代码解析官方串口BLE例程demo 主要分一下几个部分 1 Main函数
  • 蓝牙解析(part7):BLE的连接

    转自Wowo大神的http www wowotech net bluetooth ble connection html 1 前言 了解蓝牙的人都知道 在经典蓝牙中 保持连接 Connection 是一个相当消耗资源 power和带宽 的过
  • NRF52832学习笔记(2)—— 添加DFU功能(基于SDK15.3)

    前言 SDK版本15 3 评估板 pca10040 在 uart 的例程中添加 DFU 功能 使用 s132 的协议栈 因为官方的 BootLoader 工程用的是s132的协议栈 一 准备工作 在开始实验之前必须先准备以下软件 gcc a
  • BLE蓝牙协议 — BLE连接建立过程梳理(一)

    文章出处 枫之星雨 转载文章 如有不妥 通知后我会立即删除 连接建立 应付比广播更为复杂的数据传输 或者要在设备之间实现可靠的数据交付 这些都要依赖于连接 连接使用数据信道在两个设备之间可靠地发送信息 它采取了自适应跳频增强鲁棒性 同时使用
  • BLE MESH在配网广播中的Service UUID:1827与1828

    Mesh Provisioning UUID 1827 是一种服务的UUID 一般在广播包中中代表设备为未配网设备 也用于给配网器进行识别 在该服务下还有两个UUID 0x2ADB 用于写 0x2ADC 用于上报 在使用GATT配网阶段的数
  • 解密蓝牙mesh系列

    转载自 蓝牙技术联盟 蓝牙mesh网络 友谊篇 低功耗蓝牙 Bluetooth Low Energy 是全球最具节能性的短距离无线通信技术之一 其低功耗的特性广受开发者和消费者赞誉 随着蓝牙mesh网络的推出 开发者可能想知道蓝牙mesh网

随机推荐