随笔分类 -  低功耗蓝牙技术

记录学习研究低功耗蓝牙技术的笔记和感悟
BLE中的配对原理分析三
摘要:BLE中的配对原理分析三 说明 ​ 前面的两篇博客已经把LTK的生成给了出来,但是也说到LTK并非是最后用于AES加密的实际密钥。今天我们就再进一步分析,通信时候的数据到底是如何被加密成密文,密文究竟是如何被解密成明文的。 架构说明 ​ 首先要明确一点,这里的部分其实已经跟HOST层的安全规范无关了 阅读全文

posted @ 2024-12-09 15:40 不回本不改名 阅读(376) 评论(0) 推荐(0)

BLE中的配对原理分析二
摘要:BLE中的配对原理分析二 ​ 以前写的一篇文章有分析过配对绑定,但是对配对的第三个阶段Key Distribution过程还有些没说明。由于这部分比较复杂,这次再来做一下分析。这里的内容基本上是基于蓝牙协议如下部分: BLUETOOTH CORE SPECIFICATION Version 5.1 阅读全文

posted @ 2024-07-29 18:28 不回本不改名 阅读(1252) 评论(0) 推荐(0)

使用nrf sniffer抓包笔记
摘要:说明 ​ 在做BLE开发时候难免会遇到要抓空中包分析问题的情况,这种时候一般要使用抓包器来进行分析。目前来说抓包器比较专业的如Ellisys那种,一台要几十万人民币,用过几次确实牛逼,但是太贵重了。而便宜点的就是用各家平台Dongle做的抓包器,廉价也够用了。早年比较流行的是TI CC2540的方案 阅读全文

posted @ 2024-05-25 11:14 不回本不改名 阅读(2971) 评论(0) 推荐(0)

BLE中的Privacy功能
摘要:说明 ​ BLE中的Privacy功能用于隐藏设备的真实设备地址,方法为通过密钥对原生设备地址进行加密,加密后的地址只有当对端完成配对绑定后双方同步密钥信息后才能进行解密确认,这种做法确保了设备不会被第三方设备跟踪 Privacy表 隐私表的单元结构如下 Peer_Identity_Address_ 阅读全文

posted @ 2024-05-25 09:50 不回本不改名 阅读(353) 评论(0) 推荐(0)

BLE中的白名单过滤配置
摘要:说明 白名单作用非常简单,就是在设备进行广播(ADV),扫描(SCAN)和连接(CONN)过程中做一个过滤作用 white list 白名单的结构非常简单,只有两个参数 Address_Type Address 即地址和地址类型,类型即常见的Public和Random 过滤配置 ADV 配置项 说明 阅读全文

posted @ 2024-05-24 18:05 不回本不改名 阅读(354) 评论(0) 推荐(0)

BLE中的HCI指令结构和操作流程
摘要:HCI帧结构分析 分组 HCI支持四种类型的分组: 命令分组Command Packet 异步数据分组Asynchronous Data Packet 同步数据分组Synchronous Data Packet 事件分组Event Packe ​ 分组类型是在HCI分组之前的一个字节值。 数据包类型 阅读全文

posted @ 2024-05-07 10:43 不回本不改名 阅读(1958) 评论(2) 推荐(1)

BLE中的调制指数
摘要:说明 ​ 在BLE的核心规范文档中,对PHY层的调制方式说明如下: The modulation is Gaussian Frequency Shift Keying (GFSK) with a bandwidth-bit period product BT=0.5. The modulation 阅读全文

posted @ 2023-10-13 15:51 不回本不改名 阅读(2586) 评论(0) 推荐(0)

BLE通信距离的评估与测试
摘要:BLE通信距离的评估与测试 ​ 在实际工程中,确定一个蓝牙产品的通信距离是非常重要的。经常有用户会疑问为什么都是蓝牙产品,人家公司的产品通信距离那么远,自己的产品只能在很近的地方搜到信号?这里我们将对蓝牙通信距离的影响因素和如何进行评估和测试进行分析。 弗里斯传输公式 ​ 在通信工程中,我们常用弗里 阅读全文

posted @ 2023-10-10 11:17 不回本不改名 阅读(2826) 评论(0) 推荐(1)

BLE常见的无线电认证
摘要:说明 ​ BLE产品在生产上市前需要通过相关机构认证才能上市。对于无线电法规方面的要求,一般包括蓝牙联盟的认证,和各国无线电法规认证。 BQB ​ BQB认证是蓝牙的核心认证,任何蓝牙产品上市都必须通过该认证才能认为是符合蓝牙标准的蓝牙产品,相关BQB认证要求可以在蓝牙官网的核心协议规范中的PF-P 阅读全文

posted @ 2023-10-09 11:46 不回本不改名 阅读(383) 评论(0) 推荐(0)

BLE中GAP层的广播数据格式
摘要:BLE中GAP层的广播数据格式 数据结构 广播包数据结构比较简单,示例结构如下: Length Type Value 0x02 0x01 0x06 0x03 0x19 0x123456 ......... ......... ......... 0x04 0x08 0x54455354 为了方便理解 阅读全文

posted @ 2023-09-05 10:40 不回本不改名 阅读(525) 评论(0) 推荐(0)

BLE中各层的错误码
摘要:LL LL层一般直接用HCI的错误码。 HCI HCI与BLE有关的内容较少,错误码复用Legacy的。HCI 的错误码如下: BLUETOOTH CORE SPECIFICATION Version 5.1 | Vol 2, Part D L2CAP L2CAP与BLE有关的内容较少,需要针对特定 阅读全文

posted @ 2023-08-23 16:13 不回本不改名 阅读(308) 评论(0) 推荐(0)

BLE中GAP层的扩展广播和周期性广播
摘要:GAP层的扩展广播和周期性广播 介绍 ​ 在Bluetooth 5.0规范中,针对广播做了更新。在传统(Legacy)广播的基础上,新增了扩展(Extended )广播和周期性(Periodic)广播,而周期性广播是扩展广播的一个应用。 扩展广播 广播通道 传统广播我们知道,广播通道只有 37,38 阅读全文

posted @ 2023-08-16 15:34 不回本不改名 阅读(2649) 评论(0) 推荐(0)

BLE中PHY层的LE Coded技术
摘要:BLE中PHY层的LE Coded技术 介绍 ​ 在BLE的PHY中,提及到了调制技术中有一个叫LE Coded的技术,还提到了一个S参数。这里我们来介绍下这个LE Coded技术是什么东西。 基本原理 ​ LE Code技术本质上是一个扩频技术,他的原理为通过一个扩展因子S,对原始数据进行扩展。什 阅读全文

posted @ 2023-08-16 13:43 不回本不改名 阅读(1776) 评论(0) 推荐(0)

BLE中LL层的广播延时机制
摘要:广播信道的防碰撞 在连接信道有跳频机制可以降低碰撞概率,但广播信道是没有跳频机制的。那么广播是怎么避免碰撞的呢。这里BLE中给广播设置了一个随机延时机制在里面 ​ 如上图所示,由于广播信道固定在37、38、39。没办法跳频,所以用了个原始的advDelay机制。让每次广播包发送时间都不那么精准,而是 阅读全文

posted @ 2023-08-15 17:39 不回本不改名 阅读(221) 评论(0) 推荐(0)

BLE中LL层的跳频机制
摘要:BLE中LL层的跳频机制 介绍 ​ 为了保证通信的抗干扰性,在BLE LL层中设计了一个跳频机制。一般而言,在BLE中跳频只针对连接事件,而广播事件(周期性广播除外)是固定在37,38,39三个信道上发送的。另外BLE和传统BT的跳频机制是有所区别的,这里我们只针对SPEC中BLUETOOTH CO 阅读全文

posted @ 2023-08-15 16:41 不回本不改名 阅读(2043) 评论(0) 推荐(0)

BLE中GATT的服务和特征发现机制
摘要:BLE中GATT的服务和特征发现机制 ​ 在BLE中,GATT客户端发现服务端服务的过程与经典蓝牙不同,经典蓝牙会有专门的SDP协议来完成。而BLE中,这个过程会直接在GATT层完成。直接在GATT层完成服务和特征的发现。 相关ATT的协议 GATT层协议基于ATT协议,因此一些Attribute的 阅读全文

posted @ 2023-08-15 10:32 不回本不改名 阅读(2002) 评论(1) 推荐(0)

BLE中SDP协议分析
摘要:BLE中SDP协议分析 ​ 在经典蓝牙中,蓝牙设备之间通过Service Discovery Protocol,SDP协议来实现客户端对服务端提供服务的信息获取。但要注意,在BLE中服务的发现是通过GATT层协议来做的。我也是研究半天才发现SDP跟BLE没什么关系,所以如果想了解SDP在BLE协议中 阅读全文

posted @ 2023-08-14 15:16 不回本不改名 阅读(1064) 评论(0) 推荐(0)

BLE中LL层的错误重传机制
摘要:BLE中LL层的错误重传机制 NESN和SN 在BLE中LL层的数据交互中,并没有专门的ACK包来确保发送包成功接送。为了确定是否收包成功,主从之间通过内部 transmitSeqNum,指发送包的序号 nextExpectedSeqNum,指下一把期望收到的包的序号 这两个变量值和收包时,数据包中 阅读全文

posted @ 2023-08-09 15:38 不回本不改名 阅读(581) 评论(0) 推荐(0)

BLE中L2CAP层基本功能分析
摘要:逻辑链路(Logical Link) 在明白L2CAP之前要先明白其中L2代表的logic link是什么意义,在spec中的下述章节对这些概念进行了基本解释 Vol 1: Architecture & Terminology Overview Part A: Architecture 3 Data 阅读全文

posted @ 2023-06-19 16:47 不回本不改名 阅读(3533) 评论(1) 推荐(1)

BLE中GAP层中广播、扫描、连接等概念在LL层的具体实现
摘要:说明 在spec中GAP的章节里对广播、扫描、连接的概念进行了说明。但缺乏具体实现的解释。 Vol 3: Core System Package [Host volume] Part C: Generic Access Profile 而在LL层章节中则提供了相关GAP相关数据包交互的流程。 Vol 阅读全文

posted @ 2023-06-15 15:47 不回本不改名 阅读(916) 评论(0) 推荐(0)

导航