一文读懂蓝牙网状网络什么是“友邻节点”与低功耗

描述

蓝牙低功耗(BluetoothLE)是世界上功率最高的短距离无线通信技术之一。其低功耗被开发商和消费者广泛赞誉。随着蓝牙网状网络(Mesh)的发布,开发人员可能会想知道蓝牙网格是否也被设计为低功耗。它是否继承了蓝牙LE低功耗的优势?

答案是肯定的!蓝牙网状网络包括优化功耗的各种措施,特别是称为友邻节点(Friendship的功能。

蓝牙网状网络标准概述

蓝牙网状网络中的Friendship功能的应用可能非常多样化。一些产品,如灯,将连接到主电源,蓝牙网格模块的功耗与光线本身的功耗相比,可以忽略不计。但是其他产品,如智能传感器或锁具,将受到功率限制,这意味着它们需要由小型电池或能量采集技术供电。像这样的产品最有可能利用蓝牙网格的Friendship概念。

如果您已经阅读了我们的蓝牙网状网络系列中的较早的文章,那么您已经知道节点是已经被设置并且是网状网络成员的设备。节点具有与产品类型相关的功能,但是也可以具有关于网络本身的操作的功能,并且可以承担特殊的角色。

这由他们支持的网格特征决定。所有节点都可以在网络中发送和接收mesh消息。此外,节点还可以选择性地支持一个或多个额外的网络功能,如下所列:

·       中继功能:通过广播承载接收和重传网状消息的能力,以实现更大的网络。

·       代理功能:在GATT和广播承载之间接收和重传网状消息的能力。

·       低功耗特性:能够以显着降低的接收机占空比在网状网络内工作。使无线电接收器的时间最小化导致节点的功耗降低,只有在严格必要时才能使接收机使能。低功耗节点(LPN)通过与Friend节点建立Friendship来实现这一点。

·       友邻功能:通过存储发往LPN的消息来帮助LPN运行的能力,并且只有在LPN明确地从“Friend”节点请求消息时才转发它们。

要了解Friendship如何使LPN降低功耗,请考虑传感器。传感器是一种可能利用Friendship并充当LPN的节点的一个很好的例子。他们通常花费最多的时间来传输数据,而且很少需要接收数据。也许传感器只有在超出一组配置的限制范围内才能发送温度读数,也许这只会每天发生两次。这种不频繁的数据传输保持了这种类型的设备的能量消耗低。

但是如果这些温度限制需要修改以根据季节使用不同的值,并且通过向传感器发送配置消息来实现这些限制的修改呢?对于传感器直接接收这样的消息,需要切换无线并进行收听。大多数时候它正在听,没有收到任何东西,但能量消耗了。

所以,与Friend合作允许LPN安排使用无线接收消息到任何频率对于该设备是有意义的,并且以比其它需要的频率低得多的频率,如果它必须一直接收消息。 LPNs轮询他们的Friend的新消息,Friend只会偶尔存储。这是如何节省电力。

友邻和低功耗节点

LPN必须与支持Friend功能的另一个节点建立Friendship关系以减少其接收器占空比并节省能源。1取自蓝牙网状网络规范。另外它说明了LPNFriend节点之间的关系。特别是它显示

·      Light blue: LPNs

·      Dark grey: Friend nodes associated with and service specific LPNs

·      Light grey: Friend nodes which do not have a relationship with anLPN

·      浅蓝色:LPN

·      深灰色:与特定LPN相关联的Friend节点

·      浅灰色:与LPN没有关系的Friend节点

1 - 网状网络的拓扑示例

Friend节点PLPNIJK具有Friendship关系。Friend节点OLPN LM具有Friendship关系。因此,寻址到节点IJK的消息将被Friend P存储并转发。节点LM将被Friend O存储和转发。由Friend节点转发仅在LPN轮询Friend以获得等待传送的消息时发生。

友邻节点参数

LPN需要找到“Friend”节点并与他们建立Friendship关系。所涉及的程序称为Friend建立。我们稍后会检查这个过程,但在我们介绍一些关于LPN行为的关键参数之前,因为这些参数是在Friend建立过程中设置的。

1.     ReceiveDelayLPN之间经过的时间,向Friend节点发送请求,并开始收听响应。这允许“Friend”节点时间准备其响应并将其发送回来。

2.     ReceiveWindowLPN花费时间来收听响应的时间。2说明了涉及ReceiveDelayReceiveWindow的时序。

蓝牙

2- ReceiveDelayReceiveWindow时序

1.     PollTimeout建立在LPN发送给其“Friend”节点的两个连续请求之间可能经过的最长时间。如果在PollTimeout计时器到期之前,Friend节点没有收到LPN的请求,则Friendship将被终止。

蓝牙

3- PollTimeout时序

友邻节点建立

如果两个人想建立友谊,只要一瞥就够了!为了建立蓝牙网状网络的Friendship,还需要几个步骤。

1.    LPN发布一个Friend请求消息。此消息不被中继,因此只有直接无线范围中的“Friend”节点才能处理它。没有Friend功能的节点丢弃它。Friend请求消息包括LPNReceiveDelayReceiveWindowPollTimeout参数。

1.    可以支持“Friend请求消息中指定的要求的附近的每个“Friend”节点准备好“Friend offer”消息并将其发送回LPN。该消息包括各种参数,包括支持的ReceiveWindow大小,可用的消息队列大小,可用的列表大小以及由Friend节点测量的RSSI值。

2.    在接收到“Friendoffer”消息时,LPN通过应用实现特定的算法来选择合适的Friend节点。该算法可能会考虑各种各样的点。某些设备可能会将接收窗口大小置于优先级,以尽可能减少功耗,而有些设备可能会更加关注RSSI值,以确保它们能够与“Friend”节点保持良好的链接质量。使用的精确算法由产品开发人员决定。

3.    选择Friend节点后,LPN将向Friend节点发送一个Friend Poll消息。

4.    LPN收到Friend Poll消息后,Friend节点回复一个Friend Update消息,该消息结束了Friend建立过程并提供安全参数。在这一点上,建立了Friendship

友邻节点信息

Friendship建立之后,“Friend”节点将LPN的所有消息存储在Friend Queue中。这些被称为存储的消息。下面的图4说明了在Friend节点和关联LPN之间的消息交换。

·       “Friend”节点收到一个寻址到“Friend”节点的LPN的消息时,“Friend”节点缓冲此消息,将其存储在称为“Friend Queue”的区域中。在图4中,我们可以看到消息12代表LPN存储在Friend节点中。

·       定期地,LPN使其收发器发送一个Friend PollFriend节点,要求为它存储任何缓冲的消息。

·       “Friend”节点首先将一个存储的消息发送回LPN作为对Friend Poll ”的回复。

·       在每个接收到来自“Friend”节点的消息之后,LPN将继续发送Friend Poll ”消息,直到收到“MDMD =更多数据)字段设置为0FriendUpdate ”消息为止。这意味着LPN没有更多消息被缓冲。此时,LPN停止轮询“Friend”节点。

蓝牙

4- Friendship messaging

安全性

蓝牙网络中的安全无处不在。Friendship也是如此,它使用两个特殊的安全凭证:

·       Master security material:从NetKey派生,也可以由同一网络中的其他节点使用。使用master security material加密的消息可以由同一网络中的任何节点解密。

·       Friend security material:从NetKey派生,还有一些额外的计数器号由LPNFriend节点生成。使用Friend security material加密的消息只能由拥有它的FriendLPN解密。

LPNFriend节点使用的两种security materials如何?总结如下:

Friendsecuritymaterials加密的相应Friendship消息是:

·       Friend Poll

·       Friend Update

·       Friend Subscription ListAdd/Remove/Confirm

·       存储Friend节点传递给LPN的消息

使用master security material加密的相应的Friendship消息是:

·       Friend清除

·       Friend清除确认

根据应用程序设置,从LPN发送到Friend节点的消息将使用masterFriend的安全资料进行加密。

终止友邻节点

在某些情况下可以终止Friendship:

·       如果没有Friend pollFriend Subscription List Add Friend Subscription List Remove消息在PollTimeout计时器到期之前由Friend节点收到Friendship终止。

·       LPN可以通过将Friend Clear消息发送给Friend节点来启动Friendship终止过程,从而导致Friendship节点被Friend终止。

平台选择建议

开发人员在选择实施FriendLPN的平台时,应考虑以下准则:

·       RAM容量:可用的RAM数量直接影响了Friend节点可以支持多少个LPN,以及它可以为相关的LPN缓冲多少个消息。

·       LPN所选MCU和模块的一般功耗性能是LPN的关键。此外,从休眠模式到运行模式的唤醒/预热时间会影响LPN的响应速度和延迟。

作为一名开发人员,我相信我们可以分享您对蓝牙网状网络SDK的期待。然后我们可以一起分享蓝牙网状网络友邻节点


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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分