前言

对于BLE相关的知识学习,在实际开发中,大部分的开发人员不需要接触到底层的蓝牙协议,更多的是原厂提供的BLE收发或者广播包相关设置等接口,是不涉及到原理部分的内容. 而对于希望进一步的学习蓝牙知识的同学也可能只是搜索相关的博客进行碎片化的学习,而没有系统化的学习蓝牙知识. 希望能通过这这篇小博客能引导更多的同学通过阅读蓝牙官方的Spec进行蓝牙知识的系统化学习. 另外本篇博客是基于蓝牙Spec 5.2

BLE 广播的信道


以上截图是来自官方Spec的截图,主要是关于BLE广播信道的描述.

an advertising event and transmits advertising packets on one or more of the primary advertising PHY channels. Each advertising packet is sent on a different advertising PHY channel at a fixed interval. Seven types of advertising events can be used.

Some advertising events sent by the advertising device permit the listening device to concurrently send scan requests or connection requests packets on the same advertising PHY channel in which the advertising packet was received. The advertising device can send a scan response packet again on the same advertising PHY channel within the same advertising event. The payload of the scan response packet can vary in length from 6 to 37 octets.

补充说明: 需要特别注意的是在蓝牙5.0 后,广播通道除了37 38 39这三个primary channel外,还有37个secondary advertising physical channel

广播事件(Advertising events)

基于蓝牙官方Spec的定义,在BLE中将在广播信道进行广播数据传输 定义为广播事件(Advertising events).


如上面截图,Advertising events 可以在接收连接请求或者发出扫描响应包时关闭.

广播间隔(Advertising interval)


The advertising interval (advInterval) shall be an integer multiple of 0.625 ms in the range 20 ms to 10,485.759375 s
广播间隔 需要是0.625的整数倍,且范围为 20 ms to 10,485.759375 s.

LINK LAYER 层,广播物理通道的 传输的数据格式


从这一章节的内容看,扫描包、扫描响应包、广播包、广播响应包 从数据格式角度说是一样的, 另外也希望大家能从LINK LAYER层对BLE广播有更深入的学习.

可连接广播包和不可连接广播包

根据蓝牙官方Spec的定义,对于广播包的几种类型,实质只是协议数据的填充不同以及后续的响应动作不同.
例如,可连接可扫描广播包(Connectable and scannable undirected event type)也就是我们通俗说的配对广播包,

The connectable and scannable undirected advertising event type 允许scanner or initiato响应扫描或者连接请求(这里重点需要注意的是与不可连接广播包的区别)

The Link Layer shall listen on the same primary advertising channel index for requests from scanners or initiators
发起广播包的设备的Link Layer需要在相同的primary advertising channel 来监听scanner或者initiators的请求.

当advertiser接收到SCAN_REQ PDU(包含scanner的device address),而advertiser可以再相同的channel回复SCAN_RSP PDU.

补充说明: 这里需要注意的是advertising filter policy.

广播包的数据格式

【蓝牙开发 - BLE】BLE广播包相关推荐

  1. android低耗能蓝牙开发,Android BLE低功耗蓝牙开发

    最近做了一个智能硬件开发(针灸仪)的项目,有一部分涉及到低功耗蓝牙的开发,就是通过蓝牙和设备进行数据的交互,比如控制改设备的LED的开关,设备的开关机,设置设备的时间和温度等,下面就项目中遇到的坑一一 ...

  2. iOS蓝牙开发---CoreBluetooth[BLE 4.0] 初级篇[内附Demo地址]

    一.蓝牙基础知识 (一)常见简称 1.MFI  make for ipad ,iphone, itouch 专们为苹果设备制作的设备,开发使用ExternalAccessory 框架(认证流程貌似挺复 ...

  3. 2021/9/2 BLE PRA 广播包

    1. RPA 广播包 RPA:  Resolvable private address 可解析私密地址 RAL: Resolvable address  list 可解析地址列表 IRK :ident ...

  4. 蓝牙学习五(广播包分析wireshark)

    1.简介 软件工具:wireshark 硬件抓包工具:nrf52840 dongle 2.数据包分析 使用wireshark抓到的数据包分为两个部分,一部分是软件自己添加的内容,另一部分才是广播出来的 ...

  5. 【蓝牙开发】Android BLE中广播包发射功率(TX power level)

    2022/01/02 输出! https://blog.csdn.net/love131452098/article/details/118486691 https://support.huawei. ...

  6. 使用C#进行蓝牙开发-接收BLE广播

    使用BluetoothLEAdvertisementWatcher类来接收附近的蓝牙广播,这个是UWP的类,关于如何在WPF或者命令行程序中使用这个类,随便一搜就有了,很简单,.NET6之后简单设置一 ...

  7. Android蓝牙开发 — 经典蓝牙BLE蓝牙

    一,前期基础知识储备 1)蓝牙是一种支持设备之间短距离通信的无线电技术(其他还包括红外,WIFI): 支持移动电话.笔记本电脑.无线耳机等设备之间进行信息的交换: Android支持的蓝牙协议栈:Bl ...

  8. 蓝牙相关学习:4.1.BLE空口包结构

    BLE空口包结构 4.0 - 5.1 Uncoded PHY 空口包格式 Preamble (前导) Access Address (AA) 广播包 数据包 PDU CRC 5.1 Coded PHY ...

  9. [ 利器篇 ] - 抓取蓝牙广播包数据

    实际项目中,需要抓取蓝牙广播包数据进行调试,除了专有的设备之外,也可以通过手机专用的蓝牙APP进行抓包测试,这里主要介绍 LightBlue 和 nRF Toolbox for BLE , 通过Goo ...

  10. AD fmcomms5 踩坑笔记+蓝牙广播包(2)

    2-带CTE蓝牙广播包的发送 环境准备 环境准备 AD fmcomms5 + Xillinx zc706开发板 Analog Devices ADALM-Pluto Radio MATLAB(预装上面 ...

最新文章

  1. chatbot:基于 AIML 的 PHP 聊天机器人
  2. Bash 脚本:`(反引号)运算符和 $()的使用方式
  3. 合并两个对象 java_在Java中合并两个对象列表8
  4. HMC管理IBM小机
  5. robotframework安装包_Robot Framework零基础入门教程
  6. hibernate+struts2整合jar包冲突
  7. android应用程序列表,List列表应用程序-小知识 #103
  8. 1075. PAT Judge (25)
  9. 我的朋友圈又被刷屏了。
  10. appium使用真机做安卓移动端自动化测试
  11. Frenet Frame
  12. android仿微信浮窗的自动贴边可展开悬浮按钮
  13. SAP 打印自动导出PDF本地文件(自己做的例子)
  14. php阴阳万年历转换的接口,用php写的阴阳万年历
  15. NYOJ-366:D的小L
  16. 数据分析2——核心思维技巧
  17. ​​​​​​​NISP一级考试题库
  18. 学习--unix信号
  19. 打造前端 Deepin Linux 工作环境——安装系统
  20. PB导出规定格式DBF文件 dBase 3 格式 222个字段

热门文章

  1. 主流深度学习框架对比
  2. Centos7磁盘爆满排查
  3. 数据结构—线性表顺序存储插入和删除操作
  4. mysql 中文模糊查询_解决mysql中文模糊查询问题的方法
  5. it Ebook 免费
  6. visual studio西红柿插件过期解决办法——不断恢复试用
  7. 谷歌、苹果、亚马逊等大厂技术面试真题
  8. yolact训练自定义数据集并转onnx
  9. 关于C#操作Word时的版本问题
  10. Uni-app 课程详情页 获取课程详情 + 收藏 + 加入购物车