BLE的Advertising包

2024-06-06 02:48
文章标签 ble advertising

本文主要是介绍BLE的Advertising包,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Physical Channel:40个RF频道,3个是advertising 的,37个是data的。
advertising channel index的37对应的频率是:2402Mhz,38是2426Mhz,39是2480Mhz。data channe l index 0是2404,步进2Mhz。

空中包结构:Link Layer packet format:
|1byte Preamble| 4byte Access address | 2-39byte PDU | 3by te CRC |
Preambel byte是用来同步通讯的,advertising 包用 10101010b作为Preamble.(都是固定的,抓包里省去这个)
Access Address针对Advertising 包的是:0x8e89bed6. (固定的,数字信道。通过地址就知道这是adv包,同一频道区分不同通讯设备的)
advertising的PDU格式是:|16bit Header|payload|
16bit header:LSB|PDU Type 4bit |2bit RFU|1bit TxAdd|1bit Rx Add|6bit Length|2bit RFU|MSB
Length有效是6到37之间。
advertising的PDU type:
0000 ADV_IND     0001 ADV_DIRECT_IND   0010 ADV_NONCONN_IND   0011 SCAN_REQ
0100 SCAN_RSP   0101 CONNECT_REQ   0110 ADV_SCAN_IND   0111-1111 Reserved
使用的是2,ADV_NONCONN_IND)

ADV_IND: connectable undirected advertising event.这个用来广播可以连接的设备。说明自己是可以被连接的。广播中带有自己的地址。
• ADV_DIRECT_IND: connectable directed advertising event。包的payload:|AdvA 6byte| InitA 6byte| 这个包用来向特定的设备建立连接。
• ADV_NONCONN_IND: non-connectable undirected advertising event。包的payload:|AdvA 6byte| 0-31byte AdvData| 这个包用来广播信息。
• ADV_SCAN_IND: scannable undirected advertising event。包格式同上。
SCAN_REQ包:payload:|ScanA 6byte| AdvA 6byte|
SCAN_RSP包:payload:|AdvA 6byte| 0-31byte ScanRspData|
CONNECT_REQ包:payload:|6byte InitA|6byte AdvA|22byte LLData|

AdvData 结构:
|AD 结构1|AD结构2|。。。
每个结构都是:
|length|AD type|AD data|
简单的说就是 |数据长度|AD数据种类|数据| 这种一块一块拼起来的数据包。
AD type定义:
Service UUIDs: 需要外部查表,不用这个字段。
Local Name:0x09
Flags:
Manufacturer Specific Data:0xff . The first 2 octets contain the Company Identifier Code followed by additional manufacturer specific data
TX power Level : (难道算距离的??)0x0A。
Security Manager Out of Band (OOB):仅仅在out-of-band 机制中使用???什么破机制??0x0d,0x0e,0x0f
Security Manager TK Value:仅在out-of-band机制中使用。0x10
Slave Connection interval range : 连接的交换信息的间隔。(不用连接这个参数就没用了)
Service Solicitation: 给别的设备说自己要的服务。(这个似乎用不到)
Service Data:service UUID和相关的数据。0x16

这篇关于BLE的Advertising包的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1034887

相关文章

Anroid BLE蓝牙(手机分别作为中心设备和外围设备)

蓝牙是一种短距的无线通讯技术,可实现固定设备、移动设备之间的数据交换。一般将蓝牙3.0之前的BR/EDR蓝牙称为传统蓝牙,而将蓝牙4.0规范下的LE蓝牙称为低功耗蓝牙。  BLE蓝牙模块主要应用领域     1、移动扩展设备     2、汽车电子设备     3、健康医疗用品:心跳带、血压计等     4、定位应用:室内定位、井下定位等     5、近距离数据采集:无线

BLE 数据传输的一些名词

 1、 Profile Profile 可以理解为一种规范,一个标准的通信协议,Profile 存在于从机中。蓝牙组织规定了一些列的标准 Profile, 例如 HID OVER GATT、 防丢器、 心率计等。 每个 Profile 中会包含多个 Service,每个 Service 代表从机的一种能力。 2、 Service Service 可以理解为一个服务,在 ble 从机中,通

两个 BLE实现数据传输

 通过TI BLE 1.3.2 协议栈安装后的主从通信实验,实现两个 BLE节点的通信,主机向 BLE 从机发送一个字节,然后再把写入的字节读回来,以测试主从之间的通信。 SimpleBLECentral 主机编程: 在 Bluetooth-LE 低功耗蓝牙中有四种设备类型:Central 主机、Peripheral 从机、Observer 观察者、Broadcaster 广播者。通

BLE协议栈安装和目录简介

首先在TI官网上下载BLE协议栈。  目前最新的协议栈版本已经升级到1.4.0, 并且此协议栈版本配套的 IAR 软件版本为 8.20.2。安装方法很简单,建议安装在C盘上,安装好后,你会在c盘上发现有Texas Instruments目录。 下面看看Texas Instruments下都有什么文件。 \Accessories\Drivers 里 面 存 放 的 是 烧 写 了

BLE协议栈简介

         协议定义的是一系列的通信标准,通信双方需要共同按照这一标准进行正常的数据收发;协议栈是协议的具体实现形式,通俗的理解就是用代码实现的函数库,以便于开发人 员调用。        BLE 协议栈将各个层定义的协议都集合在一起,以函数库的形式实现,并给用户提供 一些应用层 API,供用户调用。 使用 BLE 协议栈进行开发的基本思路可以概括为如下三点:        用户

BLE Profile(GATT与GAP)

一. 引言 现在低功耗蓝牙(BLE)连接都是建立在 GATT (Generic Attribute Profile) 协议之上,GATT 是一个在蓝牙连接之上的发送和接收很短的数据段的通用规范,这些很短的数据段被称为属性(Attribute)。 二. GAP 详细介绍GATT之前,需要了解GAP(Generic Access Profile),它在用来控制设备连接和广播。GAP使你的设备被其

关于蓝牙BLE的GAP/GATT

概述 蓝牙低功耗(BLE)是无线技术的一项关键创新,提供了能效和简化的连接。BLE功能的核心是通用访问配置文件(GAP,Generic Access Profile)和通用属性配置文件(GATT,Generic Attribute Profile),这对参与BLE技术的任何人来说都是必不可少的。 BLE起源于蓝牙特别兴趣组(SIG,Bluetooth Special Interest Grou

Android连接多个ble设备

蓝牙4.0ble的最多可以同时连接7个设备,这是有SIG标准决定的,修改协议栈可以增加到8个,如果想要连接多个的话,可以升级蓝牙到4.2,具备mesh功能;@_@我不太清楚Android最多能连几个设备,这个题主去网上查就好。 具体做法分三步:  一,获得你想要连接的从机设备 BluetoothDevice device = mBluetoothAdapter.getRemoteDevice(

【BLE】四.SMP安全配对详解

设备配对流程 SMP专业术语 Paring(配对): 配对能力交换,设备认证,密钥生成,连接加密以及机密信息分发等 过程 Bonding(绑定) 配对中会生成一个长期密钥(LTK,long-term Key),双方把LTK存储在Flash,那么这两个设备再次重连就可跳过配对流程,且直接使用LTK对蓝牙连接进行加密; 不存储LTK(不分发LTK),paring完成后连接也是加密的,但重连

集成电路学习:什么是BLE低功耗蓝牙

BLE:低功耗蓝牙         BLE,即低功耗蓝牙(Bluetooth Low Energy),也被称为蓝牙4.0,是蓝牙技术的一种变体。BLE的主要特点在于其低功耗特性,旨在通过一系列的技术和优化措施,使得设备能够在消耗较少电量的同时,实现无线传输和低速数据传输。以下是对BLE的详细解析: 一、BLE的主要特点 1、低功耗:         BLE通过减少广播频段和广播时射频开启时