蓝牙5.0基础知识-01

蓝牙5 核心规范包含LE和BR/EDR 两种设备类型,其中LE主要是设计为低功耗、小数据终端产品。

蓝牙5 核心主要包含以下功能:

  • 2MSym/s PLY层设计(2M Symbol Rate 物理层)

  • LE 信道选择算法

  • LE 安全连接

  • LE 数据长度扩展

  • LE 隐私

  • LE LCAP 面向连接的信道支持

  • LE 链路层拓扑结构

  • LE Ping

  • 从机功能扩展

  • 连接参数请求

以上功能均在蓝牙5 协议栈实现,并且可以选择编译。

BLE协议栈基础
在这里插入图片描述

蓝牙协议栈包含一个Host和Controller两个逻辑实体,这种区分从经典蓝牙的BR/EDR就存在了,各种功能独立实现,任务配置文件和应用相关都在Host的GAP、GATT抽象层。

BLE 工作在无需认证的2.4G免费频段,该频段广泛应用于ISM(工业、科学、医疗)领域。通过跳频通信实现抗干扰特性,GFSK调制,采用1Mbps码元率PHY层设计,可以实现1Mbps波特率通信,而蓝牙5 优化的物理层设计可以实现2Mbps的PHY层。

GAP

在这里插入图片描述

在Standby状态,双方设备都处于未连接状态,Advertiser尝试广播数据,Scanner接收到广播数据后尝试进行扫描请求,并且得到扫描回复。此时Scanner产生连接意图,转变成Initiator发送连接请求,成功连接后发送广播的Advertiser作为Master,进行连接请求的Initiator成为Slave。
在这里插入图片描述

以上状态机转变,角色扮演以及中间完成的设备发现、链路建立、链路终止均由GAP完成。

HCI

以上我们讲解过蓝牙系统由Host和Controller两个逻辑实体组成,他们之间的通信、交互通过HCI标准接口完成,基于该标准接口,Host和Controller可以独立在两个MCU实现,通过Uart/SPI等外设完成通信。

L2CAP

逻辑链路控制适配协议层由上层服务提供逻辑链路层访问和进行端对端的数据通信。

SM

定义了配对和秘钥分配方式,并为协议栈其他层与另一个设备之间的安全连接和数据交换提供服务。

GATT/ATT

GATT负责主从设备之间的应用数据交换。GATT作为使用的ATT的子流程的一个服务型框架。为主从设备交互数据提供Profile、Service、Characteristic等概念的抽象、管理。

### 蓝牙BLE 5.0基础概念 蓝牙低能耗(Bluetooth Low Energy, BLE)是一种用于构建短距离无线连接的技术标准,旨在实现更低的功耗和成本。BLE 5.0版本引入了多项改进特性,显著提升了数据传输速率和支持范围。 #### 主要特点和发展历程 自2016年发布的BLE 5.0以来,该协议提供了两倍于前代产品的物理层吞吐量,最高可达2 Mbps[^1]。此外,BLE 5.0还增强了室内定位能力,并提高了广播模式下的性能表现。 #### 关键术语解释 - **GAP (Generic Access Profile)**: 定义设备如何被发现以及建立连接的方式。 - **GATT (Generic Attribute Profile)**: 描述服务、特征及其属性之间的交互方式。 - **Service**: 表示特定功能集的一组相关特性的集合。 - **Characteristic**: 包含实际值的数据点,可以读取或写入。 - **Descriptor**: 提供关于特性的附加信息,如单位或描述说明。 #### 连接过程概述 当两个支持BLE 5.0的设备想要通信时,通常会经历以下几个阶段: 1. 广播广告包来宣告自己的存在; 2. 扫描其他设备发送过来的信息; 3. 发起连接请求并等待响应; 4. 成功配对后进入稳定状态开始交换有效载荷数据。 ```python import bluetooth def scan_ble_devices(): nearby_devices = bluetooth.discover_devices(lookup_names=True) print("Found {} devices.".format(len(nearby_devices))) scan_ble_devices() ``` 上述Python脚本展示了简单的BLE扫描函数,能够检测周围可用的BLE设备列表。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值