BLE概述:什么是BLE,它是如何工作的?

1,332 阅读10分钟

我们都知道蓝牙是什么。蓝牙是一种有助于数据传输的技术。今天,它被用在各种设备上,从音乐流到文件共享都很受欢迎。蓝牙的缺点之一是它会消耗设备的大量电池。如果你一整天都不使用蓝牙连接,那么额外的电力消耗会很明显。这对电力有限的设备来说尤其成问题,如物联网和只属于智能手机的设备。蓝牙低能耗的目的是解决这个问题。因此,本博客将解释什么是BLE以及BLE的一些基本概念。

什么是BLE(蓝牙低能耗)?

我们都知道,蓝牙是一种专注于无线连接的技术。它使用低功率的无线电波,在支持蓝牙的设备之间无线传输数据。蓝牙低能耗是基于蓝牙的。它于2011年发布,被称为蓝牙智能和蓝牙4.0。我们可以称它为经典的蓝牙次重。

在短距离的个人网络上工作,功率低。最重要的是,要知道BLE在低功率下工作,并利用低功率消耗传输少量数据。

蓝牙低能量与蓝牙经典

  • 两者都习惯于连接设备和传输信息的私人和商业用途。
  • 主要的区别在于它们是如何以低能耗的方式分配数据的。
  • 经典蓝牙被用于连续传输许多数据,但包含高功率和更多的成本。
  • BLE在短时间内利用低电池电量传输较小的信息包。

Bluetooth Low Energy vs. Bluetooth Classic 

关键术语和概念

  1. 通用属性配置文件(GATT)。
    GATT配置文件可以是一个通用规范,用于在BLE链接上发送和接收称为 "属性 "的短信息。GATT支持目前所有的**BLE应用**配置文件。

  2. 通用访问配置文件(GAP) :
    GAP对BLE设备来说是强制性的,因为它定义了一个框架,用于实现设备发现、安全、连接和相关网络技术。这定义了连接可以实现的角色。

  3. 配置文件 :
    配置文件可以是显示工具在特定应用中如何工作的规范。请注意,一个工具可以实现相当一个配置文件。例如,一个工具可以包含一个生命体征监测器和电池水平检测器。

  4. 属性协议(ATT)。
    GATT是在属性协议(ATT)之上制作的。ATT被优化为在BLE设备上运行。到此为止,使用尽可能少的字节。每个属性都由一个通用唯一标识符(UUID)来唯一识别。这可以是标准化的128位格式的字符串标识符,用于唯一地识别信息。ATT传输的属性被格式化为特征和服务。

  5. 特征:
    GATT交易中最低级别的概念是特性,它封装了一个数据。与服务类似,每个特性通过一个预先定义的16位或128位UUID来区分自己。特性是你与BLE外围设备互动的最重要的一点,所以掌握这个概念至关重要。它们也是用来向BLE外设发送数据的,因为您也准备好了向特征写入。

  6. 描述符:
    描述符是描述一个特性值的定义属性。
    例如,描述符可以指定一个人类可读的描述,一个特性值的适当范围,或一个特性值的特定计量单位。

  7. 服务:
    服务习惯于将数据分解成逻辑实体,并包含称为特性的特定信息块。一个服务可以有一个或多个特征。每个服务都使用一个称为UUID的单一数字ID将自己与其他服务区分开来,UUID可以是16位或128位。

BLE操作

要执行任何行动或操作,您必须与BLE设备通信。因此,BLE通信可以合并为三种操作。

  1. 读取。
    当此属性被启用时,应用程序将读取BLE设备的属性或描述符的值,并根据先前创建的协议进行解释。

  2. 写。
    我们可以通过2种方式来写数据:- 用响应来写如果您启用此属性,您可以写入特征值,并在完成后从BLE设备获得确认。
    写入无响应如果您启用此属性,您可以写入特征值,但在操作完成后不会收到来自BLE设备的确认。

  3. 通知/指示。
    两者都是外设在特征值改变时通知媒介的一种方式。通知和指示的唯一区别是,通知需要客户端在接收包裹时接受,而指示则需要这种接受方式。所以它的动作很慢。

GAP的作用

GAP是一种拓扑结构,用于维持BLE设备和控制BLE设备的设备之间的连接。GAP角色可以用两种方式定义。

第一种是广播或无连接。
第二种是连接或面向连接。

广播或无连接。

  1. 广播者 :
    具有发送者角色的设备只向这个环境发送数据。这是通过连续的广告来实现的,通常在你的广告包中包含有用的数据,也就是说,每个人都能看到的数据。这样的设备不需要接收器,也不接受连接,因为它们唯一的工作就是向其他人发送。
  2. 观察者:
    观察者是与广播者相反的。观察者被动地聆听附近的BLE设备,并处理它们收到的广告包中的数据。不需要发射器,因为它不广播任何东西,也不进行连接。

连接或以连接为导向。

  1. 周边设备:
    BLE外围设备一般都是低功率设备。外围设备可以用蓝牙中心设备进行扫描。当连接建立后,外设作为一个被奴役的人。智能手表、手镯、传感器、健身带和智能灯泡是外围设备的例子。
  2. 中央设备:
    中心设备通常是一个高功率的能源设备。中心设备是一个搜索蓝牙设备并连接和使用它们所含信息的设备。中心设备通常有更丰富的资源,如计算能力比外围设备更丰富。预先连接的。设备在启动时被指定为中心设备,连接后被指定为主设备。笔记本电脑、手机和平板电脑设备是核心设备的例子。

蓝牙低能量是如何工作的?

GATT是Generic Attribute Profile的首字母缩写,它使用服务和特性来定义两个蓝牙低能量设备如何交换数据。GATT在两个设备之间建立专用连接时发挥作用。这意味着你已经完成了GAP规范的广告过程。

关于GATT和连接,最重要的一点是连接是排他性的。BLE外设只能连接到一个中心设备(如移动电话)。当一个外设连接到一个中心设备时,它就会停止宣传自己,其他设备无法识别或连接到它,直到现有的连接被打破。

建立连接也是实现双向通信的唯一途径。在这种情况下,中心设备可以向外围设备发送有意义的数据,反之亦然。BLE的运作可分为以下三个部分,将帮助你了解蓝牙低能量是如何运作的?

属性和数据层次。

How Does Bluetooth Low Energy Work?

属性是由GATT(和ATT)定义的最小的数据实体。这些是可寻址的信息,可能包含关于服务器中包含的各种属性的结构和分组的相关用户数据(或元数据)。GATT和ATT都只在属性上工作,所以所有信息都必须以这种格式组织,以便客户和服务器进行互动。

GATT服务器的属性被分组为服务,每个服务可以包含零个或多个特征。这些特征可以包含零个或多个描述符。上面的 "重要术语 "部分已经讨论了服务和特征之间的关系。

GATT层次结构中的大多数数据类型必须区分它们的定义(构成它们的整个属性集)和它们的声明。声明是单一的属性,在定义中总是排在第一位(按手柄的升序排列),并为后续数据引入大部分元数据。

所有的声明都有只读权限,不需要安全,因为它们不能包含敏感数据。这些只是结构性属性,允许客户端理解和发现服务器的布局和属性类型。

中央和外设通信。

How Does Bluetooth Low Energy Work?

执行BLE操作需要一个中心设备和外围设备。外围设备为自己做广告并包含信息。中央设备扫描广告包。一旦连接,就可以执行BLE操作。如果外设功能给予这种许可,中央设备可以执行读写操作。

**BLE技术**在这两类设备之间充当中介。在使用BLE外设操作时,可以在中央设备上进行通知/显示操作。这种类型的手术对各种紧急状况都很有用。

服务实例。

How Does Bluetooth Low Energy Work?

本节提供当今许多商业产品中的具体服务实例。心率服务(HRS)将你的心率转发给监测设备。

这个心脏服务有几个特征,每个特征都有一个描述符。属性的结构如下。

属性句柄。

属性句柄是一个16位的唯一标识符。

  • 使得该属性 "可寻址"。
  • 不改变。

手柄值在服务器上以有序的顺序增长(允许有间隙),在发现过程中由客户端检测。

属性类型(通用唯一标识符(UUID))。

属性类型决定了属性值中存在的数据类型,并使用一个2字节或16字节的UUID。下面是一个例子。

  • 服务UUID
  • 特征UUID
  • 配置文件UUID
  • 供应商特定UUID

属性值

属性值包含客户端可以访问的实际数据内容。你也可以包括关于该属性的元数据(取决于类型)。

属性权限

属性权限是指定的属性元数据。

  • 允许对属性值进行ATT访问操作。允许的操作是读和写,没有操作。
  • 安全要求。在这种情况下,需要进行加密。加密学有不同类型的层,也是安全所需的。认证也是安全所需的,如生物识别和密码认证。

BLE在现实世界中的应用

接下来,我将解释BLE在现实世界中的使用/应用。因此,BLE可以被用于不同的个人和专业应用中。让我们的生活更轻松。

  • 无线充电
  • 医疗服务
  • 智能厨房
  • 智能标签
  • 移动支付概念
  • 追踪宠物的行为
  • 汽车行业
  • 家庭自动化系统。

coma

总结

这篇文章对想要了解什么是BLE以及它是如何工作的基本信息的人来说是有帮助的。我在上面的文章中已经解释了BLE的基本原理。BLE在这个世界上是一项非常有用的技术,可以改善我们的生活。BLE正在成为一种强大的低功率无线技术,用于单跳通信用例,有助于将许多新设备连接到物联网。BLE的主要优势在于它的功耗较低,但它的范围较窄。

下一部分(BLE IN React Native Vol2)描述了将BLE与React native平台的整合。在其中,我还会向你展示一个示范。
!!享受,继续学习,做美味的编码!! 🙂🙂