蓝牙广播


  • 核心层

    一、什么是扫描?

    蓝牙从机在位建立连接时会对外广播自身的信息,主机寻找、发现从机的过程就叫做扫描。在扫描时,主机可以获取到从机的地址、广播数据、RSSI灯信息,并可以据此决定是否与从机建立连接

    二、扫描的分类

    扫描分为主动扫描和被动扫描两种,此处先拿出两个概念:扫描请求和扫描响应

    • 扫描请求:由链路层处于扫描态的设备发送,链路层处于广播态的设备接收
    • 扫描响应:由链路层处于广播态的设备发送,链路层处于扫描态的设备接收

    注:扫描请求和扫描响应都属于广播包,不是连接包

    区别

    • 被动扫描只接收广播包,不发送扫描请求
    • 主动扫描接收广播包后向广播态设备发起扫描请求,并通过返回的扫描相应获取额外数据

    三、被动扫描流程

    0_1600483783142_1025b5a1-2b27-460b-9fd5-653149936f5a-image.png image-20200919104255413

    四、主动扫描流程

    0_1600483749516_7f95466e-9d85-4dbd-8ef5-ef853c57228e-image.png image-20200919104339025

    扫描请求和扫描响应均由协议栈完成,应用程序只参与到扫描的配置和启动,以及信息的处理

    五、扫描参数

    • 扫描窗口:一次扫描进行的时间宽度
    • 扫描间隔:两个连续扫描窗口的起始时间之间的时间间隔,包括扫描休息的时间和扫描进行的时间
    • 扫描超时时间:即扫描持续时间,可配置为不超时

    0_1600483723455_c5c912c7-f303-40f7-87c4-6e0b62b92992-image.png


  • 项目组组长

    很好,学习了


 

Copyright © 2018 bbs.dian.org.cn All rights reserved.

Looks like your connection to Dian was lost, please wait while we try to reconnect.