目录
1.BLE设备的MAC地址分类
2. MAC地址分类详解
3. 扫码机制
4. 扫描参数
5. 关闭扫描
1.BLE设备的MAC地址分类
BLE全称:Bluetooth Low Energy,低功耗蓝牙。
MAC全称:Media Access Control,设备的媒体存取控制地址,分类
2. MAC地址分类详解
Public Device Address(公共设备地址):
该MAC地址是唯一的,48bit需要向IEE申请购买,高24bit是公司标识,由IEEE分配,低24bit由公司内部自行定义。
Random Device Address(随机设备地址):
Private Device Address(私有设备地址):
通过定时更新和地址加密两种方式,提高蓝牙地址的可靠性和安全性。根据地址是否加密分为Non_Resolvable Private Address和Resolvable Private Address。
1)Non_Resolvable Private Address:该地址不加密,不需要解析,会定时更新。相对安全,手机的蓝牙MAC地址一般属于这类。
2)Resolvable Private Address:该地址加密,需要解析,会定时更新。该类型的地址不能单独使用,需要和Public Device Address或者Static Device Address结合使用。
通过一个随机数和一个称为Identify Resolving Key(IRK)的密码生成地址,对地址进行加密。因此只能被具有相同IRK的设备扫描到,可以避免被未知设备扫描和追踪。低24位是随机数和IRK经过hash运算得到的hash值。
当对端BLE设备扫描到该类型的蓝牙地址后,会使用保存在本地的IRK和该地址中的Prand进行相同的hash运算,并将运算结果和地址中的hash字段比较,如果相同才进行后续操作,这个过程称为resolve(解析)。如果不同则继续使用下一个IRK重复上述过程,直至找到一个关键的IRK或者一个也找不到。
3. 扫码机制
扫描是主机设备在一定范围内寻址其他低功耗蓝牙设备广播的过程。扫描设备在扫描过程中活使用广播信道。
在BT 4.2协议中,广播包大小为31B,如果主机采用主动扫描,还有一个31B的广播回包,最多可实现63个字节的空间。BT5.0中,把广播信道抽象为两种,一种是主广播信道,类似于蓝牙4.x的广播,只在37,38,39三个信道工作,最大广播广播包大小为31个字节。另一种叫次广播信道,或者第二广播信道,允许在三个通道外的其他37个信道上发送长度在255B之内的数据。
1) 被动扫描
扫描设备仅仅监听广播,不向广播设备发送任何数据。 注意:被动扫描不会向从设备发送任何数据。
2)主动扫描
主动扫描可以捕获到对端设备的广播数据包,还可以捕获到响应包,并区分这两种包。主机会给从设备发送一个扫描请求,从设备返回一个扫描响应包,同样也产生一个包含扫描响应数据的Adv_Report事件给主机。
4. 扫描参数
在执行扫描之前会先设置扫描参数,接着进行扫描初始化,调用nrf_ble_scan_start()启动主机扫描。LE扫描参数如下:
- LE_Scan_Type:设置扫描类型,1B
- LE_Scan_Interval:扫描的时间间隔,2B,是指从控制器开始最后一次LE扫描到后续LE扫描的时间间隔。默认10ms,时间范围为:2.5ms ~ 10.24s。
- LE_Scan_Window:扫描的持续时间,2B,默认10ms,时间范围2.5ms ~ 10.24s。
- Own_Address_Type:表示主机扫描解析地址,1B。
- Scanning_Filter_Policy:表示主机扫描过滤策略,1B。
5. 关闭扫描
- 主函数不需要关闭主机扫描,但是有几处关闭扫描的位置:
- 在开始设置扫描参数的nrf_ble_scan_default_param_set()里,会先调用nrf_ble_scan_stop()关闭之前的扫描。
- 在启动主机扫描函数nrf_ble_scan_start()里,调用协议栈开始扫描之前会调用nrf_ble_scan_stop()关闭之前的扫描。
- 在扫描完成后,主机发起连接时,连接从设备的函数中回调nrf_ble_scan_stop()关闭扫描。
- 在扫描参数timeout扫描超时时,超过指定时间后,没有扫描到设备将自动停止扫描。
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/bcyy/49503.html