蓝牙低功耗基础1-蓝牙低功耗介绍
概述蓝牙是一种广泛使用的无线通信技术标准由蓝牙特别兴趣小组(SIG)负责管理。蓝牙低功耗(LIE)协议被视为与蓝牙经典协议不同的协议旨在以相对较低的数据速率传输较小量的数据从而降低功耗。在本课程中我们将首先介绍蓝牙低功耗技术及其各层架构。随后我们将简要探讨蓝牙低功耗连接的实现方式涵盖广告和扫描等概念。接着我们将展示可能的网络拓扑结构和物理层(PHY)模式。在练习部分我们将练习将蓝牙LE示例发送到您的Nordic设备并使用蓝牙LE读取按钮和控制LED。目标研究蓝牙LE协议并理解其不同层次的作用。了解蓝牙低功耗(BluetoothLE)架构的概览。了解可用的设备角色和通信拓扑选项。理解数据表示和交换的基础知识。通过动手练习使用“nRFConnectfor Mobile”应用程序学习如何:·读取您Nordic设备上按钮的状态在您的Nordic设备上切换一个LED灯什么是蓝牙低功耗?蓝牙经典版是蓝牙技术的版本你很可能以前就接触过这一版本因为它广泛应用于诸如无线耳机等常见物品中。很明显蓝牙非常适合应用于音乐流媒体等应用场合。其数据吞吐量之高足以支持此类应用而不会遇到连接问题或数据包丢失的情况此外其使用起来也十分便捷。或许过一段时间后你可能需要为你的智能手机和无线扬声器进行充电但这并非此类应用中的难题。然而对于低功率可穿戴设备或大规模物联网应用而言频繁的电池充电并不可行尤其是在此类高数据传输速度并非必要的情况下。因此自蓝牙核心规范版本4.0起蓝牙SIG(特殊兴趣小组)引入了蓝牙低功耗(LE)技术旨在使其成为推动低功率物联网应用发展的关键要素。蓝牙低功耗功能蓝牙LE如其名称所示着重于通过牺牲数据速率来实现低能耗。牺牲数据速率在此涉及两种机制。首先数据包被缩小至更小范围从27到251字节不等。其次数据会以尽可能节省资源的方式进行传输以避免长时间开启无线电功能而这正是影响功耗的重要因素。这使得蓝牙LE更适用于需要以最低功耗运行、且仅发送少量数据量的电池供电设备。蓝牙低功耗(BluetoothLE)在其他方面也不同于蓝牙经典(BluetoothClassic)例如所支持的拓扑结构和节点类型。这是因为蓝牙低功耗旨在服务于与蓝牙经典截然不同的应用场景因此需要不同的网络拓扑结构。下表总结了蓝牙低功耗(BluetoothLE)的一些关键方面。工作频段2400 MHz – 2483.5 MHz~ 2.4 GHz信道带宽2 MHz射频信道数量40最大发射功率20 dBm0.1 W最大应用数据吞吐量1.4 Mbps在降低数据速率125和500千比特每秒下的最大距离~1000 m与其它低功耗个人区域网络相比蓝牙低功耗的一个关键优势是其低成本使其在需要大规模部署的应用中具有吸引力。这项技术也广泛应用于智能手机(大多数智能手机均支持蓝牙经典模式和蓝牙低功耗模式)从而使得随时随地测试和原型开发应用变得十分便捷。除了智能手机外还需再配备另一台蓝牙低功耗设备才能进行双向通信的测试。由于几乎人人都有智能手机相较于需要特定硬件的其他技术而言这降低了测试的成本和复杂性。蓝牙低功耗协议栈要使蓝牙LE功能在你的应用程序中得以启用和使用对协议栈各层之间的具体细节有深入理解并非绝对必要。然而了解不同层的基本情况及其主要功能确实有助于从整体上把握蓝牙LE堆栈内部运作的概貌。这正是我们将在下一部分中探讨的内容。某些层由于其重要性将在后续课程中进一步讲解。下图展示了协议栈架构显示了哪些层构成了蓝牙LE主机哪些层构成了蓝牙LE控制器。在最上层你看到的是应用程序。这是用户通过API与之交互、以利用蓝牙LE协议的一层。这一层的重要部分包括配置文件、服务和特性这些内容将在后续课程中得到更详尽的讲解。接下来的几层构成了主机它从根本上决定了蓝牙LE设备之间如何存储和交换数据。最后控制器构成了底层部分其中最显著的部分是物理无线电它产生无线电波并将信号与你要发送的数据进行编码。Host蓝牙低功耗主机由以下层组成:逻辑链路控制与适配协议(L2CAP):为上层提供数据封装服务。安全管理协议(SMP):定义并提供安全通信的方法。属性协议(ATT):允许设备向另一台设备暴露某些数据。通用属性配置文件(GATT):定义了使用ATT层所需的子程序。通用访问配置文件(GAP):直接与应用程序交互用于处理设备发现和连接相关服务。Zephyr蓝牙主机实现了所有这些层并为应用程序提供APl。Controller蓝牙低功耗控制器由以下层组成:物理层(PHY):决定实际数据如何被调制到无线电波上以及如何进行传输和接收链路层(LL):管理无线电的状态定义为以下之一一一待机、广告、扫描、初始化、连接。本课程中将使用的蓝牙LE控制器实现方案为SoftDevice控制器该控制器可在nRF Connect SDK中找到。SoftDevice控制器与Zephyr蓝牙主机共同构成了完整的蓝牙LE协议栈该协议栈现已在nRFConnect SDK中提供。GPP 设备角色和拓扑结构蓝牙LE协议支持两种不同的通信方式:连接导向通信和广播通信。定义面向连接的通信:当设备之间存在专用连接时形成双向通信。广播通信:当设备在未先建立连接的情况下通过广播数据包进行通信且范围内其他设备接收这些数据包时。设备角色GAP层为蓝牙LE网络中的节点定义了特定的设备角色。这些角色决定了诸多重要方面例如设备如何宣传自身存在状态以及它如何扫描并与其他节点建立连接。广播与扫描是指蓝牙LE设备通过这一过程来彼此察觉对方的存在以及建立连接的可能性若要让两个蓝牙LE设备相互连接其中一个设备需进行自我广播表明其存在并愿意建立连接而另一台设备则需进行扫描以搜寻此类设备。定义广播:传输广播数据包的过程无论是为了广播数据还是被其他设备发现。扫描:监听广播数据包的过程。