使用例程:
E: \ DA14580_581_583_SDK_3.0.10.1 \ host_apps \ windows \接近\监控——(作为主机)
E: \ DA14580_581_583_SDK_3.0.10.1 \ dk_apps \ keil_projects \接近\ prox_reporter \ Keil_5(作为从机)
按照文档:嗯- b - 010 - _proximity application.pdf操作,可以实现主机端搜索设备并与从机端建立连接,连接上后自动绑定,并可以根据用户输入来读写配置文件(整个例程是可以的)。
通过串口打印出债券流程中的日志信息如下:
主机 ------------------------------------------------------------------------------------------------------从机
①主机发送:GAPC_BOND_CMD ,-------------------------------------------- ②从机端回调gapc_bond_req_ind_handler(…)函数,param - > = GAPC_PAIRING_REQ请求:
---------------------------------------------------------------------------------------------------------- 调用app_send_pairing_rsp_func(参数)(实际发送GAPC_BOND_CFM命令)(——此处问题1,)
--------------------------------------------------------------------------------------- ③gapc_bond_req_ind_handler(…)调用,生成LTK,并发送GAPC_BOND_CFM命令)
④gap_bond_ind_handler(…)回调
接收到了从机端生成的LTK。
⑤gapc_bond_req_ind_handler(. .)回调,(此处问题2,)
param - >请求= GAPC_CSRK_EXCH生成CSRK
发送GAPC_BOND_CFM命令。
--------------------------------------------------------------------------------------- ⑥gapc_bond_ind_handler(…)回调,得到CSRK(——此处问题3,)
接下来
(-- 此处问题4--)
⑦⑧吗?主机回调gapc_bond_ind_handler ,---------------------------------- ⑦⑧吗?从机回调gap_bond_ind_handler, param - >信息= GAPC_PARING_SUCCEED。
param - >信息= GAPC_PAIRING_SUCCEED:
gapc_cmp_evt_handler(…)调用,提示债券成功。
案例GAPC_BOND:
printf (" GAPC_BOND完整\ r \ n ");
问题描述:
问题1. gapc_bond_cfm消息发送后,会回调哪个函数?(RW-BLE-GAP-IS.pdf中没提到,不知道是不是不需要了解)。
问题2。在第⑤步,为什么主机端会调用gapc_bond_req_ind_handler () ?
问题3。同样为什么从机端会调用gapc_bond_ind_handler(…)这个函数?
问题4。主机端的⑦和⑧,是从机端先完成还是主机端先完成吗?
问题5.债券成功后会有什么现象特别明显?(查看祝福文档中提到,债券的过程是为了连接,当设备与主机端建立连接并债券后,如果由于距离原因突然断开之后,又将设备放到可稳定连接的地方,会自动重连吗?(实际测试官方的proxm演示是不会重连)。如果想具有重连功能,主机端跟从机端需要进行怎样的程序设计呢。
问题6。在RW-BLE-GPA-IS.pdf文档中,债券操作流程图图中,整个流程与上述流程为什么有挺大的区别的吗?
谢谢您耐心的看完并解答。
结婚,2016-04-20 08:17
#1
关于BLE绑定问题
设备:
1. gapc_bond_cfm的消息是从TASK_APP发往TASK_GAPC,而TASK_GAPC会发往SMP层,直接协议栈里就处理了。
2,3。这就是主机和从机间进行TK和LTK之间的交互。
4.这个无所谓先后
5.如果需要重连,你可以参考参考设计里的距离标记工程,里面有app_check_bond_data的相关函数。从flash里面读出存储的关键,重新来做连接