Mesh网络增强蓝牙无线IoT的地位

  来源:电子产品世界 发布日期:2018-02-06 22:45  浏览 / 116

作者:Pär Håkansson Nordic Semiconductor产品营销经理

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

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

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

1 并不仅仅适用于蓝牙5

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

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

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

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

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

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

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

蓝牙mesh1.0包括配置、心跳和健康基础模式,mesh模式是基础模式的扩充,比如通用、照明、传感器和场景等。与GATT配置文件类似,用户还可以创建定制的基础和mesh模式[1]。

2 照明驱动

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

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

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

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

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

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

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

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

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

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

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

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

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

3 安全第一

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

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

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

参考文献:

[1]蓝牙Mesh网络/面向开发者的介绍[S].蓝牙技术联盟(SIG),2017,8.

相关评论