Peer Manager

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

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这段代码是一个函数实现,函数名为peer_module_init(),它的作用是初始化一些数据结构和模块,同时枚举已绑定的设备。下面对其中的每一行代码进行解释: 1. peer_manager_init(); 这一行代码调用peer_manager_init()函数,用于初始化peer_manager模块。peer_manager是一个BLE连接管理模块,用于管理BLE设备的连接和绑定。 2. #if 0 这一行代码是一个条件编译的标记,表示下面的代码不会被编译执行。通常是用于调试或者注释掉一段代码。 3. { 这一行代码标志着一个代码块的开始。 4. ret_code_t err_code; 这一行代码定义了一个ret_code_t类型的变量err_code,用于存放返回的错误码。 5. err_code = pm_peers_delete(); 这一行代码调用pm_peers_delete()函数,用于删除已存储的peer_manager模块中的连接信息。这里将返回值赋值给err_code变量。 6. APP_ERROR_CHECK(err_code); 这一行代码调用APP_ERROR_CHECK()函数,用于检查错误码err_code是否为NRF_SUCCESS,如果不是则会触发错误处理函数。这里是为了确保pm_peers_delete()函数的执行是否成功。 7. } 这一行代码标志着一个代码块的结束。 8. peer_moudle_enumerate_bonded_devices(); 这一行代码调用peer_moudle_enumerate_bonded_devices()函数,用于枚举已绑定的设备。peer_moudle_enumerate_bonded_devices()函数会遍历peer_manager模块中已存储的连接信息,获取已绑定设备的信息,并将其存储在相应的数据结构中。 总的来说,这段代码的作用是初始化peer_manager模块,并枚举已绑定的设备。其中#if 0包含的代码块用于删除已存储的连接信息,但是被注释掉了,不会被执行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值