BLE pair示例
源码路径:example/ble/pair
支持的平台
全平台
概述
本例程演示了本平台如何做GAP peripheral进行配对。
例程的使用
作为从设备时开机会开启广播,广播名字以SIFLI_APP-xx-xx-xx-xx-xx-xx, 其中xx代表本设备的蓝牙地址。可以通过手机的BLE APP进行连接
作为GATT server时,可以在手机端进行write和read操作,或者使能CCCD,设备会每一秒更新一次特征值。
在初始化阶段,默认设置bond_ack为BOND_PENDING,需要关注CONNECTION_MANAGER_BOND_AUTH_INFOR并适时调用connection_manager_bond_ack_reply。
connection_manager_set_bond_ack(BOND_PENDING);
默认设置IO为GAP_IO_CAP_DISPLAY_ONLY,也可以通过finsh命令cmd_diss set_io iocap来重设IO。
connection_manager_set_bond_cnf_iocap(GAP_IO_CAP_DISPLAY_ONLY);
当设置为INPUT_ONLY的时候,需要通过finsh命令cmd_diss set_key conn_idx key输入key
通过finsh命令cmd_diss set_key conn_idx sec_level可以要求central发起配对
硬件需求
运行该例程前,需要准备:
一块本例程支持的开发板(支持的平台)。
手机设备。
编译和烧录
切换到例程project目录,运行scons命令执行编译:
> scons --board=eh-lb525 -j32
切换到例程project/build_xx
目录,运行uart_download.bat
,按提示选择端口即可进行下载:
$ ./uart_download.bat
Uart Download
please input the serial port num:5
关于编译、下载的详细步骤,请参考快速入门的相关介绍。
例程的预期结果
例程启动后:
可以被手机BLE APP搜到并连接,进行相应的GATT特质值read/write等操作。
通过修改io,然后在手机端发起配对,可以实现不同的配对鉴权方式。
也可以通过finsh命令从peripheral开发板侧发起加密请求然后配对。
异常诊断
参考文档
更新记录
版本 |
日期 |
发布说明 |
---|---|---|
0.0.1 |
01/2025 |
初始版本 |