前一阶段根据网上各位大神指点完成了 从机部分静态密匙配对的程序,弄懂了配对,绑定的概念。贴出来
启动广播之前给协议栈添加了静态密码
在协议栈事件处理函数中修改 之一 发送启动安全请求(在连接完成以后发送)
等待主机给发送配对请求 并且给主机发送 配对响应
等待协议栈 配对结果事件 在里面判断是否配对成功,如果成功就打印一下,不成功就断开连接
这里有个疑问我看SDK的流程图里是这样
看这个配对流程发现是主机先给从机发的配对请求 上面的代码发送 启动安全请求,难道是APP发给协议栈启动安全验证过程?协议栈不会给主机发送什么东西?
我还想实现主机部分的静态配对功能难道也是和从机类似?参考官网那个NFC的配对的例子把我搞蒙圈了。
我琢磨了一下主机部分应该这样 和从机类似
- 在主机启动扫描前也添加静态密码
- 在连接以后使用 sd_ble_gap_authenticate 这个函数在主机中的功能是 给从机发送 请求配对命令
- 从机发送了配对响应以后 主机就会进入 BLE_GAP_EVT_SEC_PARAMS_REQUEST这个事件 主机在这个事件中 通过这个函数sd_ble_gap_sec_params_reply发送静态密码
- 和从机的应该是一样的。