在实际开发中用户都会遇到增加配对、绑定功能情况。在Nordic SDK中,这个功能模块叫peer manager。

本文在SDK17.02的ble_app_uart例程上,硬件使用Nordic官方开发板PCA10056,添加peer manager。

关注公众号  LazycatRadio  ,发送 “添加绑定” 获取参考代码!


准备工作

1.备份例程代码。这一步不是必须的,但为建议的,尽量不要修改SDK中原本的代码。

复制ble_app_uart文件夹,并命名为ble_app_uart_add_pairing

 

2.备份服务文件。这一步不是必须的,但为建议的,尽量不要修改SDK中原本的代码。

将SDK中nus服务相关文件,复制粘贴到工程文件夹下,并重命名。

(一般来说,每个服务使用其自己的.c和.h文件,本文就在nus服务的基础上添加。)

 

3.替换项目中的服务文件,添加peer manager相关文件

1.将工程项目中ble_nus.c文件替换为前面步骤准备的 ble_nus_sec_mdf.c

2.添加peer manager相关代码文件到工程中,此部分分为peer部分的代码 以及 存储部分的代码(绑定需要存储IRK与LTK等)。

 

4.添加相关头文件的路径。SDK17.02做的比较完善,这里只用添加ble_nus_sec_mdf.h的路径。

5.添加功能宏定义。这一步不是必须的,只是为了方便查看和控制。

 

6.打开SDK相关功能的宏定义开关。sdk_config.h中进行配置,主要分为peer manager部分和存储部分。


添加/修改代码

代码添加相对简单不进行赘述,将github上的代码与SDK原版代码对比之后进行添加。

Demo code中使用宏定义 _ADD_PAIRING_ 对修改的部分进行了标记。

代码仅供学习参考!

 

发表评论