
蓝牙基础知识
文章平均质量分 95
讲解蓝牙通用基础知识
风云说通信
微信公众号/百家号:风云说通信,一位专注讲解3GPP(2G\3G\4G\5G\IMS)、短距离通信(传统蓝牙\BLE\WiFi)、TCP\IP协议簇等各类无线通信网络协议的博主,拥有10年大型复杂项目工作经验,目前主要负责车载蓝牙协议栈Host产品研究,专注汽车智能座舱,所有专栏文章作为职场学习归纳总结将会持续更新...希望本博客文章对您事业有帮助!欢迎您关注~~
展开
-
【蓝牙协议栈】【BLE】详解蓝牙LE(BLE)连接建立过程
advertiser。发出广播的设备observer或者scanner。可以扫描广播的设备initiator。能发起连接的设备master或者central。连接成功后的主设备,即主动发起packet的设备slave或者peripheral。连接成功后的从设备,即被动回传packet的设备图11通过时间把observer,initiator和central串起来了,其实这三个角色是相互独立的,也就是说一个设备可以只支持observer角色,而不支持initiator和central角色。原创 2025-05-05 20:33:01 · 1407 阅读 · 0 评论 -
【蓝牙协议栈】精讲btsnoop.log概念及作用
`btsnoop.log` 是一个专门用于记录 蓝牙通信数据包的日志文件,它捕获设备中发生的蓝牙协议相关的通信信息。 BTSnoop:这个名称来源于"Bluetooth Snoop"(蓝牙嗅探),表示它通过监听蓝牙堆栈的活动记录所有蓝牙通信数据包。原创 2024-12-18 08:00:00 · 1514 阅读 · 0 评论 -
【蓝牙协议栈】精讲蓝牙PCM和URAT!图解超赞超详细!!!
在蓝牙通信中,PCM和UART是两种不同的数据传输接口,用于连接蓝牙模块和其他设备。原创 2024-09-17 08:00:00 · 2725 阅读 · 0 评论 -
【蓝牙协议栈】蓝牙 v5.4 的新功能
PAwR 的新颖之处在于,广播数据是在确定的时间段内以小数据包的形式组织起来的,观察者可以精确地与之同步并作出响应。例如,ESL ID #1 收到以下信息:[ESL ID #0,cmd],[ESL ID #1,cmd],[ESL ID #3,cmd]。有了这项功能,设备就不必遵循传统的连接方案,进行额外的扫描和广播。蓝牙 5.4 版中的 ESL 配置文件为这种特定的使用情况提供了手段,通过使用 PAwR,新的加密广播提供了尽可能低的功耗和安全性。广播数据 0 封装 AD 1-3,这些数据是加密的。原创 2024-09-09 08:00:00 · 1683 阅读 · 0 评论 -
【蓝牙协议栈】【Mesh】Mesh启动配置
该过程由启动配置设备(Provisioner) 进行管理。启动配置设备和未经启动配置设备遵循蓝牙mesh规格中定义的固定过程。原创 2024-08-24 08:00:00 · 1994 阅读 · 0 评论 -
【蓝牙协议栈】精讲蓝牙技术发展历程!图解超赞超详细!!!
详细介绍蓝牙技术发展历程(传统蓝牙和BLE)原创 2024-01-15 10:07:24 · 652 阅读 · 0 评论 -
【蓝牙协议栈】一篇文章让您掌握市场主流蓝牙芯片技术方案及中国TWS耳机行业市场分析
客户需要有很多蓝牙协议,比如蓝牙电话(HFP),蓝牙音频(A2DP),蓝牙音乐控制(AVRCP),蓝牙电话本(PBAP),蓝牙短信(MAP),BLE,HID,如果你说以上还能用soc做,那么再加上Carplay的IAP/IAP2,Android Auto的RFCOMM BT呢,基本以上就需要这种方案了。其中Transport是一个协议,H2就是在USB的基础上的协议,H4,H5,BCSP是UART基础上的协议,当然还有SDIO。市场上的常见产品:蓝牙音箱,蓝牙耳机,蓝牙手环,蓝牙心率带。原创 2024-04-08 09:00:00 · 1958 阅读 · 4 评论 -
【蓝牙协议栈】【HCI架构】史上最全蓝牙协议栈介绍(蓝牙核心规范spec、Bluetooth Stack架构分析)
详解蓝牙核心文档Spec目录层级和蓝牙HCI架构等原创 2024-01-09 11:55:29 · 17806 阅读 · 16 评论 -
【蓝牙协议栈】【经典蓝牙】【BLE蓝牙】蓝牙技术特点解析
在一个微微网中,只有一台为主设备(Master),其它均为从设备(Slave),不同的主从设备对可以采用不同的链接方式,在一次通信中,链接方式也可以任意改变。所有的蓝牙设备都是对等的,所以在蓝牙中没有基站的概念。:蓝牙支持实时的同步定向联接(SCO链路)和非实时的异步不定向联接(ACL链路),前者主要传送语音等实时性强的信息,后者以数据包为主。:蓝牙设备分为三个功率等级,分别是:100mW(20dBm)、2.5mW(4dBm)和1mW(0dBm),相应的有效工作范围为:100米、10米和1米。原创 2024-03-10 09:00:00 · 1191 阅读 · 0 评论 -
【蓝牙协议栈】【经典蓝牙】【BLE蓝牙】蓝牙协议规范(HCI、L2CAP、SDP、RFOCMM)
Link Key Request Negative Reply 0x000C 如果主机上没有存储链路密钥,作为与BD_ADDR指定的蓝牙设备进行连接使用的链路密钥,就应答从主机控制器发出的链路密钥请求事件。Link Key Request Reply 0x000B 应答从主机控制器发出的链路密钥请求事件,并指定存储在主机上的链路密钥做为与BD_ADDR指定的蓝牙设备进行连接使用的链路密钥请求事件。链路策略设置允许主机控制器指定用于连接句柄的LM连接模式。原创 2024-03-09 17:36:39 · 3584 阅读 · 0 评论 -
【蓝牙协议栈】【经典蓝牙】【BLE蓝牙】蓝牙协议规范(射频、基带链路控制、链路管理)
为了避免多个设备在同一查询跳频信道同时激活,从设备查询响应规定:从设备收到查询消息,产生0-1023只觉得额一个随机数,锁定当时相位输入值进行跳频选择,从设备此后的RAND时隙中返回到连接或者待机状态。与开放系统互联(OSI)模型一样,蓝牙技术的协议体系也采用了分层结构,从底层到高层形成了蓝牙协议栈,各层协议定义了所完成的功能和使用数据分组格式,以保证蓝牙产品间的互操作性。主设备使用寻呼发起一个主—从设备连接,通过在不同的跳频点上重复发送从设备DAC来扑捉从设备,从设备在寻呼扫描状态被唤醒,接收寻呼。原创 2024-03-09 17:35:36 · 3487 阅读 · 0 评论 -
【蓝牙协议栈】【BR/EDR】精讲经典蓝牙连接过程,图解超赞超详细!!!
本文介绍了Inquiry过程,包括Host发送HCI Inquiry命令、接收Inquiry Response以及Inquiry Complete响应的完整流程。接着详细阐述了蓝牙连接过程,涵盖了从create connection到连接建立完成的九个步骤,其中涉及了特性交换、连接请求、授权、LinkKey获取和加密等关键环节。此外,文章还探讨了L2CAP层的连接机制,以及inquiry/inquiry scan和page/page scan原创 2024-01-14 17:31:20 · 896 阅读 · 0 评论 -
【蓝牙协议栈】【BLE】史上最详细BLE广播报文深度分析(广播raw数据AdvData解读)
深度解析BLE广播报文、广播raw数据Adv Data格式原创 2024-01-14 17:21:18 · 1686 阅读 · 2 评论 -
【蓝牙协议栈】【BLE】低功耗蓝牙工作流程(含角色\广播\扫描\连接等概念介绍)
前言本节我们介绍低功耗蓝牙的基本行为状态和主从机交互过程,为后面的低功耗蓝牙协议的学习准备基础。原创 2024-04-24 08:00:00 · 2466 阅读 · 17 评论 -
【蓝牙协议栈】【BLE】低功耗蓝牙广播方式\连接方式深度分析
一般而言,我们把某个协议的实现代码称为协议栈(protocol stack),BLE协议栈就是实现低功耗蓝牙协议的代码,理解和掌握BLE协议是实现BLE协议栈的前提。在深入BLE协议栈各个组成部分之前,我们先看一下BLE协议栈整体架构。原创 2024-04-20 08:00:00 · 1756 阅读 · 12 评论 -
【蓝牙协议栈】【BLE】低功耗蓝牙配对绑定过程分析(超详细)
Paring(配对)和bonding(绑定)是实现蓝牙射频通信安全的一种机制,有两点需要注意:1. paring/bonding实现的是蓝牙链路层的安全,对应用来说完全透明,也就是说,不管有没有paring/bonding,你发送或接收应用数据的方式是一样的,不会因为加了paring/bonding应用数据传输需要做某些特殊处理;2. 安全有两种选项:加密或者签名,目前绝大多数应用都是选择加密,后续我们也会以加密为重点进行讲述。原创 2024-03-24 09:00:00 · 1434 阅读 · 0 评论 -
【蓝牙协议栈】【BLE】【ATT】低功耗蓝牙之属性协议介绍
一个attribute包含的attribute value长度可能大于一个PDU的长度,所以会分成多个PDU传输。(2)在一个request、response、notification、indication中只有attribute value字段的长度是可变的 (3)bearer protocol (e.g. L2CAP)会保留数据包的边界 注意:有些response包含多个attribute value,但是这些attribute value的长度都是attribute type定义好的固定长度。原创 2024-04-03 15:50:57 · 2716 阅读 · 2 评论 -
【蓝牙协议栈】【BLE】【GATT】通用属性协议(超详细)
本文系统介绍了蓝牙低功耗(BLE)通信中的GATT(通用属性协议)规范。GATT定义了BLE设备间通信的多层数据结构,包含服务(Service)、特征(Characteristic)及其属性值等核心元素。文章详细解析了GATT的角色划分(Client/Server)、应用场景以及完整的层级结构,重点阐述了服务定义、引用服务(Included Service)和特性声明三大组成部分。其中特性声明部分深入讲解了特征值声明和多种特性描述符的功能与应用,包括扩展属性描述符、用户描述描述符和客户端配置描述符。原创 2024-02-05 09:00:00 · 5001 阅读 · 0 评论 -
【蓝牙协议栈】【BLE】【GATT】精讲低功耗蓝牙服务的组成(图文并茂精华版)
低功耗蓝牙(BLE)服务分为:服务、特性、属性三个部分,服务与特性都有一个唯一对应的UUID,每个特性有read、write、notification等属性。原创 2024-01-30 10:00:00 · 777 阅读 · 0 评论 -
【蓝牙协议栈】【BLE】 精讲BLE Audio关键技术和主要特点
BLE 音频技术通过引入LE Audio 标准、LC3 编解码器、多流音频、Auracast广播等创新技术,显著提升了低功耗音频设备的性能和用户体验,这些关键技术共同构成了BLE Audio的基础,使其能够提供更高质量的音频体验、更长的电池寿命以及更广泛的应用场景。随着技术的发展和市场的接受,预计LE Audio将成为未来无线音频技术的主流标准。原创 2024-08-12 08:00:00 · 1155 阅读 · 2 评论 -
【蓝牙协议栈】【Mesh】蓝牙Mesh基本概念(超详细)
我们要意识到这是一项很大的优势,目前IOT领域蓝牙的应用与智能手机的发展是相辅相成的,手机对蓝牙设备的支持会促进蓝牙设备的发展,而蓝牙智能设备的发展会促进手机变得更智能,加入更多对蓝牙的支持, 这将使蓝牙Mesh 技术与手机APP和云端配合能够做的更好, 更加人性化。中继的作用是扩大节点的传送范围。当Mesh网络内照明等设备完善后,传感的需求自然会应运而生,门磁,温湿度,PIR等产品会自然的嵌入到蓝牙Mesh网络中,完善网络内的生态,并催生更多的设备之间的联动,使设备和场景更加智能化。原创 2024-03-11 09:00:00 · 3379 阅读 · 0 评论 -
【蓝牙协议栈】【Mesh】Mesh设备的兼容
蓝牙mesh获得如此大的关注,很大一个原因是可以与智能设备的互通。本章节介绍mesh如何实现这一功能。原创 2024-07-01 08:00:00 · 977 阅读 · 1 评论 -
【蓝牙协议栈】【BlueZ】BlueZ蓝牙基本概念介绍
Bluez最初于1999年被引入,目的是为了在Linux系统中提供对蓝牙技术的全面支持。作为一个开源项目,它遵循GPL许可,随着蓝牙技术的发展,Bluez也在不断更新升级,以支持蓝牙技术的最新标准,如Bluetooth Low Energy (BLE)。Bluez提供了一整套蓝牙协议栈,包括但不限于核心协议、控制器接口、数据传输协议等。它不仅支持传统的蓝牙设备连接,也支持BLE设备,满足各类应用场景的需求。原创 2024-04-03 14:00:00 · 1302 阅读 · 0 评论 -
【蓝牙协议栈】【BlueZ】史上最全的蓝牙调试工具讲解
工具介绍:, 设备配置工具命令格式:、详细命令如下:查看设备详细信息:或者 工具介绍:,HCI 设备管理工具命令格式:详细命令如下: 工具介绍:,,蓝牙包的分析工具,读取发送和接受蓝牙设备的原始数据,并按照人可以识别的命令、事件、数据格式打印到屏幕上,转储信息还可以保存到一个当地文件中,从而保证转储文件在后续进行解析。命令格式:详细命令如下:该命令,可以将HCI传输的数据包记录到文件内,通过的应用可以详细查看每个包的数据,如下:工具介绍:,该工具通过将串行设备连接到协议栈,作为HCI传数接口。命令格式:详细原创 2024-03-24 09:00:00 · 1459 阅读 · 0 评论 -
【BlueDroid】蓝牙音乐协议分析之A2DP和AVRCP连接流程(超详细)
AVCTP协议描述了蓝牙设备间Audio/Video的控制信号交换的格式和机制,他是一个总体的协议,具体的控制信息由其指定的协议(AVRCP)实现,AVCTP协议本身只指定控制Command和Response的总体的格式;这个过程中对应了Event中的btavrcp_play_status_changed_callback和btavrcp_play_position_changed_callback;上述为AVCTP-Control建立L2CAP连接的Command,对应H4的Sent (0x00);原创 2024-03-18 09:00:00 · 5708 阅读 · 0 评论 -
【BlueDroid】【BLE】低功耗蓝牙客户端和服务端开发流程解析(超详细)
1. 精讲):SPP/A2DP/AVRCP/HFP/PBAP/IAP2/HID/MAP/OPP/PAN/GATTC/GATTS/HOGP等协议理论2. 欢迎大家关注和订阅,和专栏会持续更新中.....敬请期待!原创 2024-04-22 08:00:00 · 1445 阅读 · 10 评论 -
【BlueDroid】Android Bluetooth Stack架构分析(超详细)
1. 精讲Stack):SPP/A2DP/AVRCP/HFP/PBAP/IAP2/HID/MAP/OPP/PAN/GATTC/GATTS/HOGP等协议理论2. 欢迎大家关注和订阅,和专栏会持续更新中.....敬请期待!原创 2024-03-25 10:00:00 · 5547 阅读 · 51 评论