Hi,
我们这边买了一个beacon,然后cybt343026-01 开发板测试scan能否搜到该设备。发现搜索不到。
scan的配置信息如下,用该接口函数wiced_bt_ble_scan( BTM_BLE_SCAN_TYPE_HIGH_DUTY, filter_duplicates, hci_control_le_scan_result_cback );
wiced_bt_ble_observe(WICED_TRUE,0,hello_client_scan_result_callback);可以搜到。
beacon信息请参见https://community.cypress.com/thread/51406
你试一下把scan mode改为BTM_BLE_SCAN_MODE_ACTIVE看能否搜到。
另外,在scan result的callback中,把ble_evt_type这个参数打印出来看下,检查下beacon的数据包是否是在scan response当中。
请问BTM_BLE_SCAN_MODE_ACTIVE和BTM_BLE_SCAN_MODE_PASSIVE的区别是?有相关文档介绍吗
这个是spec上规定的,主动扫描和被动扫描。你可以参考SPEC4.2上vol 6, Part B, 4.4.3 scanning state中的介绍。
我这边测试了一下,不管是BTM_BLE_SCAN_MODE_ACTIVE还是BTM_BLE_SCAN_MODE_PASSIVE,只有在tag一开始上电的时候,然后蓝牙模块scan的话,可以搜到;如果tag上电的一段时间,蓝牙模块再去scan,就搜不到信息了。tag的advertise interval 是900ms。是不是scan的参数配置的有问题?应该如何配置这些参数
你把scan window设置的和scan interval一样试试看,这样设备在scan duration的时间内会一直处于scan的状态。
还是不行
Hi,
我发现tag的BTM_BLE_ADVERT_TYPE_FLAG是05,也就是说BTM_BLE_LIMITED_DISCOVERABLE_FLAG和BTM_BLE_BREDR_NOT_SUPPORTED。如果是BTM_BLE_LIMITED_DISCOVERABLE_FLAG的话,是不是scan要做特殊的处理?
BR,
Treacy
这个没有影响的,limited discoverable指的是广播只是持续一段时间,并不是一直在广播。如果你使用手机可以搜索到,说明tag的广播还没有停止。
client设备你用的哪个demo,只有tag无法搜索到吗?是否可以搜索到其他的BLE设备?
没用demo,就是自己写的。可以搜到其他BLE设备,就是tag不行。
可以修改scan 39ch吗
你可以用我们的demo试一下看能否搜索到,可以使用hci_audio_gateway的demo,然后使用host/client_control/windows/ClientConrol.exe上位机发送指令,进行扫描,看能否搜索到设备。同时,使用手机扫描,检测tag是否处于广播。