蓝牙基础知识
文章平均质量分 90
讲解蓝牙通用基础知识
风云说通信
微信公众号/百家号:风云说通信。深耕无线通信网络协议领域,拥有9年大型复杂项目工作经验:曾做过3GPP、TCP\IP协议簇、WiFi和蓝牙的产品研究;目前主要负责车载蓝牙协议栈Host产品,专注汽车智能座舱!所有专栏文章作为学习总结将会持续更新...走过路过,不要错过~~欢迎大家关注我的博客哈~~
展开
-
【通信网络协议概念】【职业发展路线介绍】老铁^_^ 是时候规划下自己的未来了......行动吧!!!
通信网络协议概念及职业发展路线介绍原创 2023-12-23 10:38:31 · 485 阅读 · 1 评论 -
【蓝牙协议栈】秀!一篇文章就足以让您掌握蓝牙技术发展历程
详细介绍蓝牙技术发展历程原创 2024-01-15 10:07:24 · 180 阅读 · 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 · 1200 阅读 · 4 评论 -
【蓝牙协议栈】【HCI架构】史上最全蓝牙协议栈介绍(蓝牙核心规范spec、Bluetooth Stack架构分析)
详解蓝牙核心文档Spec目录层级和蓝牙HCI架构等原创 2024-01-09 11:55:29 · 15282 阅读 · 16 评论 -
【蓝牙协议栈】【经典蓝牙】【BLE蓝牙】蓝牙技术特点解析
在一个微微网中,只有一台为主设备(Master),其它均为从设备(Slave),不同的主从设备对可以采用不同的链接方式,在一次通信中,链接方式也可以任意改变。所有的蓝牙设备都是对等的,所以在蓝牙中没有基站的概念。:蓝牙支持实时的同步定向联接(SCO链路)和非实时的异步不定向联接(ACL链路),前者主要传送语音等实时性强的信息,后者以数据包为主。:蓝牙设备分为三个功率等级,分别是:100mW(20dBm)、2.5mW(4dBm)和1mW(0dBm),相应的有效工作范围为:100米、10米和1米。原创 2024-03-10 09:00:00 · 949 阅读 · 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 · 2034 阅读 · 0 评论 -
【蓝牙协议栈】【经典蓝牙】【BLE蓝牙】蓝牙协议规范(射频、基带链路控制、链路管理)
为了避免多个设备在同一查询跳频信道同时激活,从设备查询响应规定:从设备收到查询消息,产生0-1023只觉得额一个随机数,锁定当时相位输入值进行跳频选择,从设备此后的RAND时隙中返回到连接或者待机状态。与开放系统互联(OSI)模型一样,蓝牙技术的协议体系也采用了分层结构,从底层到高层形成了蓝牙协议栈,各层协议定义了所完成的功能和使用数据分组格式,以保证蓝牙产品间的互操作性。主设备使用寻呼发起一个主—从设备连接,通过在不同的跳频点上重复发送从设备DAC来扑捉从设备,从设备在寻呼扫描状态被唤醒,接收寻呼。原创 2024-03-09 17:35:36 · 1364 阅读 · 0 评论 -
【蓝牙协议栈】【BR/EDR】史上最全经典蓝牙连接过程
详解经典蓝牙连接过程原创 2024-01-14 17:31:20 · 250 阅读 · 0 评论 -
【蓝牙协议栈】【BLE】史上最详细BLE广播报文深度分析(广播raw数据AdvData解读)
深度解析BLE广播报文、广播raw数据Adv Data格式原创 2024-01-14 17:21:18 · 400 阅读 · 2 评论 -
【蓝牙协议栈】【BLE】低功耗蓝牙工作流程(含角色\广播\扫描\连接等概念介绍)
前言本节我们介绍低功耗蓝牙的基本行为状态和主从机交互过程,为后面的低功耗蓝牙协议的学习准备基础。原创 2024-04-24 08:00:00 · 1855 阅读 · 17 评论 -
【蓝牙协议栈】【BLE】低功耗蓝牙广播方式\连接方式深度分析
一般而言,我们把某个协议的实现代码称为协议栈(protocol stack),BLE协议栈就是实现低功耗蓝牙协议的代码,理解和掌握BLE协议是实现BLE协议栈的前提。在深入BLE协议栈各个组成部分之前,我们先看一下BLE协议栈整体架构。原创 2024-04-20 08:00:00 · 1084 阅读 · 12 评论 -
【蓝牙协议栈】【BLE】低功耗蓝牙配对绑定过程分析(超详细)
Paring(配对)和bonding(绑定)是实现蓝牙射频通信安全的一种机制,有两点需要注意:1. paring/bonding实现的是蓝牙链路层的安全,对应用来说完全透明,也就是说,不管有没有paring/bonding,你发送或接收应用数据的方式是一样的,不会因为加了paring/bonding应用数据传输需要做某些特殊处理;2. 安全有两种选项:加密或者签名,目前绝大多数应用都是选择加密,后续我们也会以加密为重点进行讲述。原创 2024-03-24 09:00:00 · 844 阅读 · 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 · 1363 阅读 · 2 评论 -
【蓝牙协议栈】【BLE】【GATT】通用属性协议(超详细)
1. GATT概念1.1 GATT定义GATT:通用属性协议,它是低功耗蓝牙BLE设备之间进行通信的协议。GATT定义了一种多层的数据结构,已连接的低功耗蓝牙设备用它来进行通信,其定义的多层数据结构简要概括起来就是服务(service)可以包含多个特征(),每个特征包含属性(properties)和值(value),还可以包含多个描述(descriptor➢GATT基于ATT协议(属性协议)来承载的,属性协议主要用来发现、读写、通知和指示属性。➢GATT。原创 2024-02-05 09:00:00 · 3581 阅读 · 0 评论 -
【蓝牙协议栈】【BLE】【GATT】低功耗蓝牙服务的组成
低功耗蓝牙(BLE)服务分为:服务、特性、属性三个部分,服务与特性都有一个唯一对应的UUID,每个特性有read、write、notification等属性。原创 2024-01-30 10:00:00 · 174 阅读 · 0 评论 -
【蓝牙协议栈】【Mesh】蓝牙Mesh基本概念(超详细)
我们要意识到这是一项很大的优势,目前IOT领域蓝牙的应用与智能手机的发展是相辅相成的,手机对蓝牙设备的支持会促进蓝牙设备的发展,而蓝牙智能设备的发展会促进手机变得更智能,加入更多对蓝牙的支持, 这将使蓝牙Mesh 技术与手机APP和云端配合能够做的更好, 更加人性化。中继的作用是扩大节点的传送范围。当Mesh网络内照明等设备完善后,传感的需求自然会应运而生,门磁,温湿度,PIR等产品会自然的嵌入到蓝牙Mesh网络中,完善网络内的生态,并催生更多的设备之间的联动,使设备和场景更加智能化。原创 2024-03-11 09:00:00 · 2401 阅读 · 0 评论 -
【蓝牙协议栈】【Mesh】Mesh设备的兼容
蓝牙mesh获得如此大的关注,很大一个原因是可以与智能设备的互通。本章节介绍mesh如何实现这一功能。原创 2024-07-01 08:00:00 · 727 阅读 · 1 评论 -
【蓝牙协议栈】btsnoop 概念介绍
在分析蓝牙问题的时候有很大的用途,能够快速定位问题所在,一般协议栈都有整合这个或者类似功能,否则我不认为这个协议栈是一个合格的协议栈,在 android 手机中也有开启btsnoop 的功能,在开发者选项中勾中这个就开启了 btsnoop 功能。注:目前蓝牙协议栈启动程序后默认是开启记录btsnoop.log的,在提交bug时需要上传quec_btsnoop.log,对研发分析定位问题起着关键作用。1)wireshark: 强大的 tcp/ip 查看工具,但是很多人不知道他可以查看蓝牙,效果如下。原创 2024-02-24 10:00:00 · 411 阅读 · 0 评论 -
【蓝牙协议栈】常见蓝牙分析工具介绍
本文主要介绍调试蓝牙协议栈,定位蓝牙问题的工具,而不是常用的编译烧录工具等,也不是开发蓝牙芯片的工具!本小节计划通过几个方面以及场景来介绍调试蓝牙的工具!要分为 HCI 工具,芯片工具,Air packet sniffer 工具,如下图所示就是各个工具的作用位置。原创 2024-02-24 09:00:00 · 440 阅读 · 0 评论 -
【蓝牙协议栈】【蓝牙分析工具】【Ellisys】史上最全Ellisys 分析HCI Log和btsnoop Log
Ellisys号称是业界最先进的蓝牙 / Wi-Fi / USB协议分析仪,支持低功耗蓝牙协议分析测试,支持蓝牙5低功耗以及Wi-Fi的物联网应用,支持与原始频谱、UART / SPI HCI、逻辑信号等同步的宽带蓝牙5低能耗BLE、Wi-Fi捕获并解析。原创 2024-02-26 10:00:00 · 1285 阅读 · 0 评论 -
【蓝牙协议栈】【蓝牙抓包工具】【Ellisys】史上最全Ellisys抓取蓝牙Air Sniffer Log
Ellisys号称是业界最先进的蓝牙 / Wi-Fi / USB协议分析仪,支持低功耗蓝牙协议分析测试,支持蓝牙5低功耗以及Wi-Fi的物联网应用,支持与原始频谱、UART / SPI HCI、逻辑信号等同步的宽带蓝牙5低能耗BLE、Wi-Fi捕获并解析。原创 2024-02-22 10:00:00 · 1574 阅读 · 0 评论 -
【蓝牙协议栈】【BlueZ】BlueZ蓝牙基本概念介绍
Bluez最初于1999年被引入,目的是为了在Linux系统中提供对蓝牙技术的全面支持。作为一个开源项目,它遵循GPL许可,随着蓝牙技术的发展,Bluez也在不断更新升级,以支持蓝牙技术的最新标准,如Bluetooth Low Energy (BLE)。Bluez提供了一整套蓝牙协议栈,包括但不限于核心协议、控制器接口、数据传输协议等。它不仅支持传统的蓝牙设备连接,也支持BLE设备,满足各类应用场景的需求。原创 2024-04-03 14:00:00 · 878 阅读 · 0 评论 -
【蓝牙协议栈】【BlueZ】史上最全的蓝牙调试工具讲解
工具介绍:, 设备配置工具命令格式:、详细命令如下:查看设备详细信息:或者 工具介绍:,HCI 设备管理工具命令格式:详细命令如下: 工具介绍:,,蓝牙包的分析工具,读取发送和接受蓝牙设备的原始数据,并按照人可以识别的命令、事件、数据格式打印到屏幕上,转储信息还可以保存到一个当地文件中,从而保证转储文件在后续进行解析。命令格式:详细命令如下:该命令,可以将HCI传输的数据包记录到文件内,通过的应用可以详细查看每个包的数据,如下:工具介绍:,该工具通过将串行设备连接到协议栈,作为HCI传数接口。命令格式:详细原创 2024-03-24 09:00:00 · 1040 阅读 · 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 · 2856 阅读 · 0 评论 -
【BlueDroid】【BLE】低功耗蓝牙客户端和服务端开发流程解析(超详细)
1. 精讲):SPP/A2DP/AVRCP/HFP/PBAP/IAP2/HID/MAP/OPP/PAN/GATTC/GATTS/HOGP等协议理论2. 欢迎大家关注和订阅,和专栏会持续更新中.....敬请期待!原创 2024-04-22 08:00:00 · 1089 阅读 · 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 · 2793 阅读 · 48 评论