对Mesh网络的支持使低功耗蓝牙技术进入更加广泛的应用领域

描述

低功耗蓝牙新推出的mesh网络规范,扩展了最初面向的消费者应用领域,增强了其在楼宇自动化应用方面的可适宜性

对Mesh网络的支持使低功耗蓝牙技术进入更加广泛的应用领域

虽然低功耗蓝牙(Bluetooth® Low Energy / Bluetooth LE)技术作为物联网(IoT)的基础技术已经取得重大进展,但它仍然存在一个弱点: 因为它主要用于支持电池供电的外设与智能手机等中央设备的通信,该技术无法支持mesh网络。现在,蓝牙mesh 1.0规范消除了这个弱点。

Mesh网络允许网络中的设备(“节点”)相互通信而无需中央枢纽设备,如果需要,可以经由其它节点中继来传播数据包。这样的系统实现了更大的通信范围、灵活性和冗余,并且是所有典型IoT无线技术的先决条件。蓝牙mesh网络的主要应用包括企业照明设施、用于托管信标的后端管理,以及工业监控。

一些企业,特别是Silvair,认为这项需求是不可或缺的,并开发了基于低功耗蓝牙技术的专有mesh解决方案来填补这个空白。令人惊喜的是这家公司的工程师在起草正式的蓝牙mesh规范方面发挥了重要的作用。蓝牙mesh规范已经在7月份正式发布。

并不仅仅适用于蓝牙5

由于开发人员熟悉蓝牙技术的发展路线,可能假设蓝牙mesh是蓝牙5的一个新特性——但是情况并不是这样的。实际上,通过软件更新任何兼容蓝牙4.0(或更高版本的)低功耗蓝牙芯片都能够支持蓝牙mesh。这允许正在使用专有mesh联网的低功耗蓝牙设备通过空中升级实现兼容标准蓝牙mesh网络。

这并不意味着设备无需更新应用程序固件。蓝牙mesh是一个具有七层(承载, 网络,下层和上层运输, 访问,基础模式, 以及模式)的全新架构,建立于标准低功耗蓝牙物理层(射频)之上(参见图1)。一个节点在接收信息时,将信息从下层的低功耗蓝牙物理层向上层传播,经由承载层至网络层。网络层使用多个检查方法来决定将信息传递到协议栈上层或丢弃(参考1提供了解有关这些层的功能的更多信息)。

Mesh网络

图 1: 蓝牙mesh协议栈位于低功耗蓝牙的物理层上面

来源:蓝牙技术联盟(SIG)

蓝牙mesh规范详细描述了四种“节点”:“中继节点”、“低功耗节点”、“朋友节点”和“代理节点”。

中继节点能够重新发送所接收到的数据包,并且通过这个机制,使数据包可以在整个网络上快速传播。中继机制的缺点是耗电量增加,这是由于它依赖于保持“醒着的”节点。虽然在mesh网络配置中低功耗蓝牙的功耗远低于其他竞争技术,但这样的运作模式单单依靠电池供电是无法持久的。对于智能照明等应用来说,这并不是缺点,因为灯具通过接入主干供电系统为LED供电,但这对于加入网络中的其它非主干系统供电设备,比如设备开关,则可能不适用。

为了解决这个问题,蓝牙网络引入了“低功耗节点”(LPN),可以使用电池或能源采集来供电。LPN与“朋友节点”协同工作,朋友节点通常是由主干系统供电,因而能够永远保持唤醒状态;这些设备会缓存发往LPN的信息。LPN根据预先设定的进程表切换至“接收”模式,接收缓存的信息,根据指令进行操作,然后快速度返回省电的“睡眠”状态。

“代理节点”允许支持低功耗蓝牙但不支持蓝牙mesh的设备 (例如现在的智能手机)连接至蓝牙Mesh网络。通过节点和代理设备的通用属性配置文件(GATT) 接口实现交互(参见图2)。

图2: 代理节点(“P”)允许不支持蓝牙mesh的低功耗蓝牙设备(例如智能手机)连接至蓝牙mesh网络

来源:蓝牙技术联盟(SIG)

蓝牙mesh借鉴了蓝牙技术的GATT“配置文件”的概念,允许不同的情况下使用相同的信息结构。然而由于mesh的分布式特性,两种技术的配置文件的设计是不同的。为了避免GATT配置文件被误认为是mesh网络配置文件,因此mesh配置文件称作“模式”。

蓝牙mesh1.0包括“配置”、“心跳”和“健康”基础模式,“mesh模式”是基础模式的扩充,比如“通用”、“照明”、“传感器”和“场景”等。与GATT配置文件类似,用户还可以创建定制的基础和mesh模式(关于模式相关的话题,建议读者阅读“参考1”以了解更多的细节)。

照明驱动

智能照明是无线IoT 技术的先驱应用,许多早期的蓝牙网络规范就是专为这个应用定制的。蓝牙技术联盟(SIG)在博客中这样说到:“蓝牙mesh将在商业照明应用中产生巨大的深刻影响。”

那就是说,集成用于智能照明的机制可以方便地支持其它的关键应用,比如信标、安全网络,以及加热、通风和空调(HVAC)网络。这些机制中的关键是通过“泛洪”(flooding)进行通信,把每个数据包向网络中的其他节点广播,直至到达目标节点。

三种类型寻址可配合泛洪:“单播”(在初始节点设置期间使用)、 “群组”,以及“虚拟”(主要由设备制造商用来 ‘标记’产品)。在这些当中,群组寻址最适用于日常操作。群组地址是代表着网络中一个或多个元素的组播地址。SIG定义了四个“固定群组地址”,称作“全代理”、 “全朋友”,“全中继”,以及“全节点”,分别对应上面定义的节点类型。

除了这些群组地址,安装商很可能在配置期间分配动态群组地址,以期反映现实的mesh布局。例如,动态群组地址可以分配至建筑中每个房间的灯具。

泛洪mesh和群组寻址对于主要的智能家居应用,例如照明,是有意义的。泛洪mesh允许开关向智能照明群组发送“ON”指令,通过网络进行快速传播,每个节点接收指令并且相应地执行指令。目标群组的灯将迅速点亮。相比需要中枢来向每个连接的灯具传送单独指令的网络,例如星形网络,泛洪mesh的延迟可降低很多。

泛洪架构还带来了其它的优势,但也包括一些缺点。一个主要的附加优势是简化,特别是把通信限制在低功耗蓝牙技术的三个广播和扫描信道上 (请记住这项技术拥有总共40个频率信道)。但是这样的缺点是带宽减小了,原因是需要管理通信,以防止数据包超出这些信道。

这项规范包括了多个机制,以缓减广播和扫描信道的拥堵。首先是定义一个特定的数据包,这是一个计算中继传输次数数目的“Time-To-Live”(TTL)计数器,在满足定义的步骤数目之后,将不会继续进行中继传输。

例如,设置TTL计数器为3,允许一个数据包从起源开始最多传递三次,而后不再重新传播。

第二个防止拥堵的机制是数据包的消息缓存。数据包在整个mesh传输后,最终只会形成缓存——缓存可以安全地认为该数据包不必在当前节点进行传播。“可选中继”功能也可以限制mesh拥堵。通过关闭中继,节点可以接收数据包而不传送。可选中继增加了复杂性——因为设计人员必需折衷权衡mesh灵活性和带宽消耗——这样做可以提升总体mesh的性能。

安全第一

蓝牙mesh将蓝牙技术更深入地引入到IoT中——使安全变得至关重要。因此,蓝牙mesh的设计人员必须确保网络、各项应用,以及装置全部是安全的,并且无法被非法关闭或限制。对于蓝牙mesh,安全特性不是可选的,而是强制的。

这个强制性方法是从“配置”开始的,配置是使外部设备变成mesh网络节点的过程,可以由智能手机或平板电脑上的app来实现。这个过程有五个步骤:广播(指示可以加入mesh)、邀请(来自供应设备)、公匙交换、认证,以及会话密匙交换(保证数据进行配置的安全)。

配置过程实现了高度的安全性,随后数据包经过AES-128进行端至端加密,并且在每个中继之间进行附加的AES-128加密,从而增强了隐私。此外,还会定期刷新加密密匙,以检测和对抗“重放攻击”。

获取有关蓝牙mesh的更多信息请访问Nordic网站和DevZone论坛。Nordic新推出的用于mesh的nRF5软件开发套件(SDK),可让开发人员使用该公司的nRF51和nRF52系列SoC来设计蓝牙mesh应用。Nordic的蓝牙mesh协议栈实现方案还包括一些没有加入蓝牙mesh 1.0规范的实用功能。

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

全部0条评论

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

×
20
完善资料,
赚取积分