用蓝牙网络设计蓝牙低能耗智能应用程序.第1部分

  这两个系列的第1部分详细介绍了蓝牙网状1协议的体系结构和功能。该协议作为蓝牙低能耗固件的补充堆栈,首次为蓝牙低功耗开放了标准的网状网络。此外,本文还详细介绍了蓝牙网格的优点和缺点,允许设计者将其与其他低功耗无线技术替代品进行比较,以确定它是否适合无线应用。2部分将描述如何将蓝牙网为蓝牙低功耗设计使用ICS和发展可从凯利讯半导体供应商包。

  网状网络是针对智能家居和智能工业应用的低功耗无线技术的关键要求,因为它克服了范围限制,简化了可扩展性,增强了健壮性。然而,试图使用蓝牙低能耗的设计者直到最近由于缺乏网状网络支持而感到沮丧。

  这种缺乏支持,使他们不得不选择其他技术,如ZigBee和线程的智能家居应用程序,即使蓝牙低能量,否则可能是完全适合和广泛支持。(见凯利讯半导体的文章“比较低功率无线技术”。)

  蓝牙SIG现在已经解决了这个缺点,引入了一个补充规范蓝牙网1。规范不需要额外的硬件,可以运行在所有的低功耗蓝牙芯片(V4.0,4.1,4.2,5)。有些厂商已经在支持蓝牙网格1,他们自己的固件实现了规范和相关的开发工具。

  然而,在开始采用新规范的网状网络设计之前,设计者应该熟悉蓝牙SIG的实现与其他技术的不同之处。例如,权衡简单性、功耗和灵活性,因为差异影响设计选择和过程。

  本文以规范为例,阐述了蓝牙蓝牙网络体系结构。它描述了它的操作特性,并描述了它如何支持智能家居和应用,如智能照明。本文通过介绍一些合适的蓝牙网络设计工具和支持的硬件和软件解决方案。


  网状网络的优点

  蓝牙低能量最初是为了补充“经典”蓝牙,通过将无线技术扩展到电池容量适中的外围设备。外围设备的例子是运动传感器,如心率带或无线控制的玩具。每个外设通过独立的通道与中央监控设备(如智能手机)进行通信,形成星形网络拓扑。

  部分原因是它与智能手机的互操作性,蓝牙低能耗迅速扩展到其他领域,包括智能家居应用,如照明控制。在这些类型的应用中,星形网络的缺点很快就变得明显了。

  例如,蓝牙低能量解决方案只能处理有限数量的同时连接(通常为八)。大于灯泡数量的照明设备不能用一个命令控制,引入延迟。第二,在大房子里,远处的灯泡可能超出了中央控制器的范围。

  在网状网络中,不是与单个外围设备通信的中央设备,而是通过连接多个节点的双向信道,从网络中的一个点向另一个点传输消息。通过这种方式,网状网络带来了显著的优势,因为它可以同时控制几十个连接的设备,克服了范围限制,并建立了冗余。(图1)

  网状网络拓扑图

  用蓝牙网络设计蓝牙低能耗智能应用程序.第1部分_第1张图片

  图1:网状网络拓扑。通过连接多个节点的双向信道,可以将消息从网络中的一个点传输到任何其他点。(图片来源:硅实验室)


  蓝牙网格堆栈

  自蓝牙核心规范4版引入以来,蓝牙低能量已通过版本4.1、4.2和5进行了修订。蓝牙5引入了范围、吞吐量、广播和共存改进。(见凯利讯半导体的文章“蓝牙4.1,4.2和5兼容的蓝牙低功耗SoC和工具满足物联网的挑战”。)

  作为最新的产品介绍,可以假设蓝牙网络1只对蓝牙5进行升级,但事实并非如此。任何遗留下来的(4,4.1,4.2,5)蓝牙低能量芯片都可以被修改为运行蓝牙网络,只需固件升级,允许现场安装利用新技术。

  这种向后兼容性的关键来自蓝牙网格不是蓝牙低能量堆栈的一个组成部分,而是一个由七层组成的独立的新实体(图2)。

  蓝牙网络的图像包括七层堆栈

  用蓝牙网络设计蓝牙低能耗智能应用程序.第1部分_第2张图片

  图2:蓝牙网络包括七层堆栈,补充蓝牙低能耗协议。(图像来源:蓝牙SIG)

  当蓝牙网格节点接收到消息时,它将消息从底层蓝牙低能量堆栈通过承载层传递到网络层。网络层应用各种检查来决定是否将消息传递到传输层或丢弃它。

  请注意,蓝牙网格规范定义了一个全新的主机层,它与蓝牙低能耗主机层共享一些概念,但与它不兼容。这与竞争技术(如ZigBee和线程)从一开始就包括网状网络(图3)有所不同。蓝牙低能量协议(深蓝)中的蓝牙网格堆栈(淡蓝色)的安排

  用蓝牙网络设计蓝牙低能耗智能应用程序.第1部分_第3张图片

  图3:蓝牙低能量协议(深蓝)下的蓝牙网格堆栈(浅蓝色)的排列。蓝牙网络规范定义了一个全新的主机层,它与蓝牙低能耗主机层共享一些概念,但与它不兼容。(图片来源:凯利讯半导体)


  蓝牙网节点

  蓝牙网格使用四种类型的网络节点:

  中继节点通过网络接收和转发数据包。中继节点的缺点是它们必须保持持续的警报,这大大增加了电力消耗。这对于电源供电的应用程序,如智能照明来说,并不是一个缺点,但是对于非电源供电的节点,例如交换机,这是一个问题。

  Low Power Nodes(1)采用低功耗蓝牙标准的节电特性(即:保持睡眠状态的时间),可以长时间从电池或能量收集。每一个连接到一个电源供电的朋友节点,这是清醒和缓存任何消息定向到LPN。当LPN进入接收模式(按照预定的时间表)接受缓存邮件,工作的指示,并返回到省电睡眠模式。

  代理节点允许不包含蓝牙网格堆栈的设备连接到蓝牙网状网络。例如,当消费者希望使用旧的智能手机来控制智能照明网络时,这是很有用的。交互是通过节点和设备的通用属性配置文件(GATT)接口实现的(图4)。

  蓝牙网格图使用四种节点类型

  用蓝牙网络设计蓝牙低能耗智能应用程序.第1部分_第4张图片

  图4:蓝牙网格使用四个节点类型。在这个图像中,所有灯泡和开关,除了灯泡到最左边,都是电源驱动的中继节点。(图片来源:凯利讯半导体)

  温度传感器是一个电池供电的LPN和定期接收来自电源供电的友谊结鳞茎形成远离开的消息。智能手机通过使用蓝牙低能量堆栈的关贸总协定接口而不是蓝牙网格堆栈形成代理节点。

  在一个新的节点可以参加常规的网格操作,它必须由供应者提供。这是一个可信任的设备,可以访问网络中的所有节点。新节点被分配一个地址,以及网络和设备密钥。在配置完之后,设备密钥用于建立一个安全通道来配置新节点。蓝牙网络最多支持32000个节点。


  蓝牙网架构

  蓝牙网格使用“泛洪”技术在网络上发送消息。每个包被广播到网络中的每一个节点,直到它到达目标为止。消息可以针对单个节点、一组节点或所有节点。

  节点组是使用一个定义网络元素的组地址来实现的,例如,一个房间的灯。此外,该规范定义了四个固定的组地址:所有代理、所有朋友、所有中继和所有节点,特别针对节点类型。(注:1不能具体处理,因为他们对朋友的依赖节点。)

  洪泛网格结构和组寻址的选择支持蓝牙网格适合智能家居应用。例如,洪泛网格允许来自交换机的“上”命令快速地通过智能光网络传播,每个节点接收该命令并相应地动作。目标群中的灯光几乎瞬间照亮。网络中的最小延迟要比例如星形网络低得多,其中中央设备需要向每个连接的光发送单个命令。

  在典型的操作中,蓝牙低能量的广告渠道用于广告蓝牙设备的存在,并扫描希望通信的其他设备。一旦设备配对,通信移动到37个全带宽信道之一,加速吞吐量。

  与此相反,蓝牙网状网在节点连接后不移动到全带宽信道,保持简单,降低延迟,相反,它继续利用广告信道传输信息。

  这种安排的缺点是减少了网络带宽和拥塞的风险,因为只有三个吞吐量受限的频率处理所有的流量。处理拥塞的两种机制开始发挥作用。第一个是“生存时间”(TTL)计数器,它定义一个特定的数据包可以中继多少次(典型值是三步)。第二种是包缓存,它捕获在网格周围完全循环的数据包,在这一点上,假设不需要进一步传输。

  开发人员还可以使用可选的带宽保护中继特性,以便节点可以接收数据包,但不能传递数据包。权衡就是失去灵活性。


  蓝牙网络:模型代替配置文件

  蓝牙网格遵循了蓝牙技术的体系结构,使用关贸总协定配置文件,允许许多用例共享一个公共信息结构。但在蓝牙网格堆栈中,这些配置文件称为模型。

  模型表示特定的行为或服务,并定义一组状态和消息,这些状态和消息对这些状态起作用。标准模型包括典型的使用场景,如设备配置、传感器读数和光控制。供应商还可以创建自定义模型。

  节点中的模型以元素的形式排列;每个元素在具有唯一地址的网格中充当虚拟实体。每个传入消息由一个元素中的模型处理(图5)。

  网络节点(网状设备)的图像合并成单元的模型。

  用蓝牙网络设计蓝牙低能耗智能应用程序.第1部分_第5张图片

  图5:每一个网络节点(网格设备)都集成了模型。每个元素都有唯一的地址,元素中的模型处理传入的消息。(图片来源:凯利讯半导体)

  模型通过“发布和订阅”系统相互交谈。发布发送消息并配置节点以订阅发送到特定地址进行处理的消息。

  在图6中,灯开关到最左边(开关1)发布到厨房组地址。节点轻1,轻2,轻3订阅厨房地址,因此,接收,处理,并采取行动的消息 (如“开”和“关”命令)发布到这个地址。注意,光3还订阅了餐厅的地址,因此可以从开关2和开关1操作。

  模型图通过发布和订阅系统相互交谈。

  用蓝牙网络设计蓝牙低能耗智能应用程序.第1部分_第6张图片

  图6:模型通过发布和订阅系统相互交谈。模型可以订阅多个发布者。(图像来源:蓝牙SIG)

  (注意模型是一个涉及的主题)。建议读者参考参考资料1,了解本文后面概述的细节。)


  蓝牙网络设计

  一些蓝牙低能耗厂商推出了符合标准的蓝牙网格堆栈。因为蓝牙网络是对已建立的蓝牙低能耗协议的补充,所以开发者不需要用蓝牙网络取代成熟的、经过验证的蓝牙低能耗堆栈。蓝牙网络固件将技术的所有特性引入到新的或现有的设计中,而无需编写大量新代码。

  北欧半导体,例如,最近增加的nrf5 SDK开发包线网。软件开发工具包括选择驱动程序、库和实例,并被设计为运行在几个集成开发环境(IDE)和编译器包括cmake和Segger嵌入式工作室。

  编译后的代码运行在公司的nrf52 DK开发套件是基于公司的nrf52832硅。

  北欧的文档详细介绍了如何开发一个清晰的网络说明如何编译蓝牙网格堆栈,如何提供网格,如何建立一个网络,以及如何创建新的模型。

  在下面的图7,一个新的设备(灯泡)是提供和配置使用nrf5 SDK的网格。在这个例子中,灯泡信号给供应者,它是寻找一个网络连接。粮食供应者了灯泡的灯塔,并邀请其加入网络。如果认证成功,设备将被提供必要的密钥和地址加入网络并准备进行配置。下一步,灯泡被赋予“家庭自动化”应用程序的关键。的“开关服务器发布状态”(控制灯泡)设置,并订阅“灯组”添加。

  网格提供和配置一个灯泡北欧半导体的nrf5 SDK图

  用蓝牙网络设计蓝牙低能耗智能应用程序.第1部分_第7张图片

  图7:配置和使用网格北欧半导体的nrf5 SDK在网状网络中配置一个灯泡。(图片来源:凯利讯半导体)

  Silicon Labs还提供了其efr32蓝壁虎蓝牙入门套件蓝牙网。该公司建议购买三或四个工具包,以建立一个原型网状网络。该试剂盒是基于公司的efr32mg1蓝牙低功耗SoC。除了硬件之外,开发者还需要一个蓝牙SDK和一个蓝牙网络SDK,它们都可以从公司的网站上下载。

  简单的IDE需要用硅实验室的蓝牙网状技术来启动和运行。开发工具包括编译演示,应用笔记,和例子。Android应用程序可以提供、配置和控制智能手机应用程序中的蓝牙网格节点。

  意法半导体采用北欧半导体和Silicon Labs的SDK,使网络设备基于公司bluenrg-2蓝牙低功耗SoC开发类似的方法。


  结论

  蓝牙网络为蓝牙低能耗提供网状网络,省去了为智能家居应用专有网格固件的需要。

  该技术将简单性与略微增加的功耗和一些灵活性折衷起来。一个关键的优点是,该技术兼容所有蓝牙低能量芯片,而不仅仅是最新的蓝牙5产品。

  蓝牙低能量芯片供应商已经开始引入蓝牙网状软件开发工具包来补充他们成熟的硬件和协议固件产品。

  本文的第2部分将详细介绍如何使用现成的硬件、固件和开发包将蓝牙网络集成到蓝牙低能耗中。

你可能感兴趣的:(电子技术,蓝牙,网络设计)