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
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值