大家好、感谢 Vihang 迄今为止的帮助、不胜感激!
现在、我可以执行与 CC2564MODN 无线电和 STM32F4 MCU 板的 OOB 连接。 我完成了配对、并交换了加密密钥。 现在、如果我想进行绑定、我需要在密钥交换期间保持 LTK 密钥交换、我想这是在以下期间完成的:
GAP_LE_Authentication_Event_Data_t latEncryptionInformation (仅在中央设备上?)
对讲机或堆栈是否具有 API 来存储在重新引导之间记忆的信息? 或者、我是否必须将此信息存储在 MCU NVRAM 中?
中央装置如何执行粘接连接?
到目前为止、我的猜测是我需要获取内部信息
BSC_SearchGenericListEntry()
设备启动时,我需要使用以下命令填写 NVRAM 信息中的条目:
bsc_AddGenericListEntry()
下面的流程是我所期望的:
- 中央尝试连接到设备(扫描或不连接)或外设尝试请求连接
- 连接完成后(而不是调用 GAP_LE_Pair_Remote_Device),我需要 使用 BSC_SearchGenericListEntry()中的信息调用 GAP_LE_reestablish_Security。
保存整个 BSC 列表标题项是否是一个好主意? 或者、在成功配对时、我是否只需要 LTK 和器件地址?
绑定如何与随机地址一起工作? 我是否需要设置 irk 可解析地址并保留器件的公共地址(交换 irk、使用 irk 解析随机地址、以便仅将公共地址与 LTK 和 irk 一起保留到 NV 存储器中)? 这意味 着现在我应该始终使用 使用 GAP_LE_Generate_Resolved_Address ()创建的随机地址,并抛弃 GAP_LE_Generate_Static_Address ()或 GAP_LE_Generate_NON_Resolved_Address (),这可能不是一个好主意,感觉更安全,但可能不具有绑定功能)。
此处的目标是在通讯座上使用两个设备进行初始 OOB 更换、然后每当设备启动 BLE 无线电并准备好离开通讯座时、它们就会相互配对(到目前为止有效)。 但是、我希望它们能够再次关闭和上电、并且在外设放入另一个通讯座之前仍能正常工作。 因此我需要该等电位连接功能。
谢谢、此致、
Jerome