广播的类型一般分为四种,见如下表格:

1. 可连接的非定向广播(Connectable Undirected Event Type):

这是一种用途最广的广播类型,包括广播数据和扫描响应数据,它表示当前设备可以接受其他任何设备的连接请求。进行通用广播的设备能够被扫描设备扫描到,或者在接收到连接请求时作为从设备进入一个连接。通用广播可以在没有连接的情况下发出,换句话说,没有主从设备之分。

鉴于此种广播类型用的最多,下面我们来讨论一下此类型下广播事件中广播包的发送情况,另外要注意在一个广播事件中,前一个“ADV_IND PDUs”的开始到相邻的下一个“ADV_IND PDUs”的开始处的时间要小于等于 10ms 

第一种情况:仅仅有广播 PDUs 。截图显示如下:

第二种情况:在广播事件的中间有“SCAN_REQ”和“SCAN_RSP PDUs”。截图显示如下:

第三种情况:在广播事件的结尾有“SCAN_REQ”和“SCAN_RSP PDUs”。截图显示如下:

第四种情况:在广播事件的中间接收到“CONNECT_REQ PDU”的情况。截图显示如下

2. 可连接的定向广播(Connectable Directed Event Type):

定向广播类型是为了尽可能快的建立连接。这种报文包含两个地址:广播者的地址和发起者的地址。发起者收到发给自己的定向广播报文之后,可以立即发送连接请求作为回应。

定向广播类型有特殊的时序要求。完整的广播事件必须每3.75ms重复一次。这一要求使得扫描设备只需扫描3.75ms便可以收到定向广播设备的消息。

当然,如此快的发送会让报文充斥着广播信道,进而导致该区域内的其他设备无法进行广播。因此,定向广播不可以持续1.28s以上的时间。如果主机没有主动要求停止,或者连接没有建立,控制器都会自动停止广播。一旦到了1.28s,主机便只能使用间隔长得多的可连接非定向广播让其他设备来连接。

当使用定向广播时,设备不能被主动扫描。此外,定向广播报文的净荷中也不能带有其他附加数据。该净荷只能包含两个必须的地址。

3. 不可连接的非定向广播(Non-connectable Undirected Event Type):

仅仅发送广播数据,而不想被扫描或者连接。这也是唯一可用于只有发射机而没有接收机设备的广播类型。不可连接广播设备不会进入连接态,因此,它只能根据主机的要求在广播态和就绪态之间切换。

4. 可扫描的非定向广播(Scannable Undirected Event Type):

又称可发现广播,这种广播不能用于发起连接,但允许其他设备扫描该广播设备。这意味着该设备可以被发现,既可以发送广播数据,也可以响应扫描发送扫描回应数据,但不能建立连接。这是一种适用于广播数据的广播形式,动态数据可以包含于广播数据之中,而静态数据可以包含于扫描响应数据之中。

注意:所谓的定向和非定向针对的是广播的对象,如果是针对特定的对象进行广播(在广播包PDU中会包含目标对象的MAC)就是定向广播,反之就是非定向。可连接和不可连接是指是否接受连接请求,如果是不可连接的广播类型,它将不回应连接请求。可扫描广播类型是指回应扫描请求。

不同的广播类型对扫描请求和连接请求的不同结果如下图:

BLE蓝牙的广播类型相关推荐

  1. BLE蓝牙笔记----广播连接过程

    本文是参考一些博文和书籍做的笔记,如有不适联系删除 参考:https://www.cnblogs.com/iini/p/8977806.html 参考文章: <BLE4.0 低功耗蓝牙 协议 总 ...

  2. BLE蓝牙广播包的比特流处理之白噪化和CRC校验

    目标: 1. 通过蓝牙协议了解BLE蓝牙的广播帧结构 2.了解蓝牙比特流处理流程 3.使用matlab重现白噪化和CRC校验 1.蓝牙的广播帧结构: 通过蓝牙BLE协议我们可以看到,蓝牙的广播帧结构如 ...

  3. 低功耗蓝牙(BLE)-- advertisements广播篇

    为了更方便理解 BLE 中的广播,首先要先了解 BLE 架构中的通用访问配置文件 (GAP)层. GAP 为BLE 设备相互交互提供了一个框架,包括: BLE 设备角色 广播(广播.发现.广播参数.广 ...

  4. BLE蓝牙广播入门(一)

    一.概述 BLE广播是低功耗蓝牙协议最重要的组成部分之一.深入理解如何使用广播可以有效降低蓝牙模块的功率.提高连接速度以及改善连接的可靠性. BLE蓝牙协议一共有三层,分别是应用层,主机层和控制器层. ...

  5. 低功耗蓝牙搜索广播的实现流流程介绍 /BLE scan flow ----- 蓝牙低功耗协议栈

    零. 概述 主要介绍下蓝牙协议栈(bluetooth stack)低功耗蓝牙搜索广播的流程以及协议栈的实现流程,BLE scan flow btsnoop以及流程在资料中的......\STM32_U ...

  6. BLE蓝牙广播和扫描主要数据设置解析与总结

    (一)蓝牙之广播: 1 广播参数之广播名称 typedef enum {BLE_ADVDATA_NO_NAME, /**< Include no device name in advertisi ...

  7. 三.非协议栈实现BLE蓝牙广播(2.4G实现BLE广播)

    非协议栈实现BLE广播(2.4G实现BLE广播) 现在的人啊,用协议栈用多了,BLE物理层是怎么广播都不知道了,且听我慢慢道来 这里实现的BLE广播包是基于上一章介绍的,我要通过2.4G来发出这个广播 ...

  8. Android BLE学习(三):编写自己的 BLE蓝牙读写工具(功能仿照nrf master control panel)

    http://my.csdn.net/lidec 背景 由于nordic官方的nrf master control panel只提供了apk,很多同学学习起来都得自己摸索蓝牙的读写,项目中整理了BLE ...

  9. android ble蓝牙接收不到数据_Android蓝牙4.0 Ble读写数据详解 -2

    Android蓝牙4.0 Ble读写数据详解 -2 上一篇说了如何扫描与链接蓝牙 这篇文章讲讲与蓝牙的数据传输,与一些踩到的坑. 先介绍一款调试工具,专门调试Ble蓝牙的app.名字叫:nRF-Con ...

最新文章

  1. iOS 获取指定时间的前后N个月
  2. 教你实现Vscode的Markdown预览
  3. Win32 结构化异常处理(SEH)探秘【下篇】
  4. mysql与redis面试题
  5. [唐胡璐]Java操作Sql Server 2008数据库
  6. Spring--SPeL
  7. 叠数的加法与字符串 RUNOOB python练习题 18
  8. 文字排版不在单调!可临摹的网页UI设计模板,轻松驾驭!
  9. 曹讯 计算机摄像学,计算摄像学: 全光视觉信息的计算采集
  10. 百度DuerOS负责人景鲲晋升副总裁,继续向李彦宏汇报
  11. Python:学习笔记(一)
  12. java 静态库和动态库_Android下Java的静态库和动态库
  13. simulink中不能改名_王者荣耀:万格改名教学,空白名、重复名、个性符号名改法技巧!...
  14. 【感悟随笔】我只是一直很努力
  15. kali linux 虚拟机iso 下载,Kali Linux 2016.2发布提供虚拟机以及系统镜像下载
  16. 假设 A 类有如下定义,设 a 是 A 类的一个实例,下列语句调用哪个是错误的?()
  17. 计算机网络——网络安全(湖科大 教书匠)
  18. Word2007 无法给尾部空格加下划线
  19. IntelliJ IDEA创建java项目
  20. python 编写获取阿里巴巴行业分类数据代码

热门文章

  1. Java几种设计模式
  2. 安卓领域高质量公众号推荐
  3. 服务器安装macos虚拟机,windows服务器装macos虚拟机系统
  4. 手工轻松发送匿名邮件
  5. 我理解的企业技术管理(三)——如何做好技术管理
  6. [CTF]Rabbit加密
  7. MAC Monterey升级后的L2TP问题的完美解决方案
  8. 如何关闭135端口、139端口、445端口
  9. 英语单词音近形似转化规律研究
  10. 无极符和鸿蒙符哪个好,无极仙途内丹属性哪个好? 单属性与双属性内丹对比详解...