Peer Manager
这几天看师兄师姐的代码,代码里面提到了对等管理器,找了很久的资料只找到了官方给的一个小文档,文档连接在文章末尾,下文是对英文文档的翻译和自己的一点小理解,如果不对欢迎大佬指正:
Peer Manager是一个类似与Device Manager功能类似且更强大的一个管理API,Peer Manager管理BLE安全性(加密,配对和绑定)。它使用闪存来持久存储与其绑定的每个对等设备的绑定信息和GATT数据。对等管理器按照蓝牙规范的要求处理不同的BLE安全程序,这使创建兼容应用程序变得容易。
相比较Device Manager来说Peer Manager主要具有一下优点:
- 支持多种角色:设备管理器既支持中央角色也支持外围角色,但是必须在编译时确定角色。对等管理器与角色无关,并且同时支持中心和外围角色。
- 自动化:对等管理器具有更高的自动工作的能力,例如,它会自动响应安全请求并具有内置的错误恢复过程。如果软件设备或FDS报告临时故障,则对等管理器将重试呼叫,并且仅报告永久性故障。
- 更容易使用: 由于对等管理器自动工作的能力更强,所以对等管理器更容易使用,较少受到小用户错误的影响。
- 模块化:对等管理器以模块化方式设计。这种模块化使维护,测试和扩展新功能变得容易。
- 缓存GATT属性: 对等管理器可以缓存远程GATT设备服务器的GATT服务信息,这将极大的减少两个设备之间的信息交换量。节省了资源,对等管理器也将储存所以与其绑定的设备的CCCD值。
- 服务更改指令的分发:当GATT的数据库需要发生变化时,对等管理器会将变化信息发送到每一个绑定的设备中去,所以数据库改变前要首先通知。
- 随机设备地址的解析:Peer Manager包含使用身份解析密钥(IRK)解析随机可解析私有地址的功能
Peer Manager可以用来对一些信息做存储,特别是一些先验信息,这样可以极大的减少数据的交换量,(假设在主机中已经存储了从机的一些信息,这样我就不需要一点点的通过交换数据包来补全对从机的认知,而是在GAP连接后就调出来从机相应的一些参数来执行下面的操作,包括白名单之类的也都可以存储在里面)。
官方文档:https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v12.2.0/lib_peer_manager.html?cp=4_0_1_3_1_8