137****com
芯片型号:GR5515IGND
SDK版本:GR551x_SDK_V2.0.1
场景:
使用GR551x_SDK_V2.0.1\projects\ble\ble_central\ble_app_uart_c 这个示例,作为BLE主机进行扫描附件的设备。
在这个demo工程中,使用了ble_scanner模块进行扫描的过滤匹配管理,取消了自动连接使能,仅用于扫描搜索周围设备。
假如,附件有近200个BLE信号,都在一个办公室(教室、会议室等相对集中的环境),其中100个BLE信号是GR5515芯片作为外围设备广播的,其他100个BLE信号都是干扰(比如手机、电脑、耳机、手环、鼠标键盘等)。
问题1:如果ble_scanner不做过滤设置,在执行扫描搜索过程中,能否完全都搜索到这些200个BLE信号?
问题2:发现BLE信号后执行的ble_scanner_evt_handler回调并执行分支BLE_SCANNER_EVT_ADV_REPORT_PARSE,在此处串口输出发现的BLE信号(MAC地址、广播名),串口的输出会不会有丢包情况,比如发现了10个信号准备要输出,同时又挤进来30个信号,会不会开头的10个信号覆盖了丢失了?
问题3:作为主机扫描时,能否做到像手机APP(GRToolbox)一样,只要在设备附近,早晚肯定会发现周围所有的BLE信号?
zhongchengzhi
您好,
1、这个和你扫描配置有关,扫描间隔短,窗口大,能更快扫描到设备。假设扫描时间长,应该是能扫描到设备的;
2、若是数据处理的时间长,可能导致Controller丢掉一些数据(memory有限),和没扫描到是一样的,但是一般是丢掉后面扫描到的数据;
3、原则上是可以的,把扫描窗口配置大些,扫描间隔配置短些;
打开微信,使用“扫一扫”即可关注