每一对蓝牙设备的的通信都有一个连接的过程,而蓝牙4.0 与传统蓝牙的连接过程又有些不一样的,BLE4.0 的连接过程的先由从机(这里自然就是防丢器)先通过广播通道广播数据(advertising),主机(手机)监听广播通道,如果监听到有广播数据,则向其发送扫描请求(scan request),广播者接受到扫描请求后回复扫描响应(scan response)。流程如下图:
从机的广播关键有3点
1.广播的数据
2.扫描响应的数据
3.广播的时间间隙
回想一下FireBlue 开发板 烧录防丢器方案程序 上电后,需要向上拨动 joystick 才会开始广播,我们就从这里入手,找到按键处理函数,得到关键代码如下:
app_gap_adv_start_req(GAP_GEN_DISCOVERABLE|GAP_UND_CONNECTABLE,
app_env.adv_data, app_set_adv_data(GAP_GEN_DISCOVERABLE),
app_env.scanrsp_data, app_set_scan_rsp_data(app_get_local_