嗨对话队!
我对信标软件有一些问题。
因此,从BLE规格,广告间隔范围为20 ms至10.24 s。在代码中(app_dialog_beacon_proj.h header文件)。我试图通过减少广告间隔来降低能源消耗,如下所示:
#define app_beacon_int_min 0x78 // 120 * 0.625 = 75ms
#define app_beacon_int_max 0x78 // 120 * 0.625 = 75ms
我尝试了一些小于100ms的不同广告间隔。任何间隔<= 100ms使信标设备失速。只有间隔> = 100ms将工作。你能告诉我为什么会发生建议吗?
2.当从观察者发送扫描响应请求时是否可以检测/捕获?基于扫描响应请求,广告商将决定是否向观察者发送扫描响应数据。我的想法是在TCP三路握手中实现一个三通的握手通信。广告商发送广告分组,然后观察者接收广告分组,并决定是否发送扫描响应请求。最后,如果观察者决定发送扫描响应请求,并且广告商(信标设备)接收到该扫描响应请求,则信标设备将检测到该请求(来自用户空间)并发回扫描响应数据(作为确认)。请咨询这一点以实现这个想法!
设备:
1.对蓝牙规范的要求进行认证,“广告_interval_min和广告_interval_max不得设置为
如果广告_type设置为0x02(ADV_SCAN_IND)或0x03(ADV_NONCONN_IND),则少于0x00A0(100ms)。“BEACON的默认adv数据包设置为ADV_NONCONN_IND
2.关于信标项目,由于数据包类型是“ADV_NONCONN_IND”,因此SCAN_REQ数据包没有响应。如果对于ADV_IND类型,则广告商侧将在接收到数据包SCAN_REQ后在150 us中自动响应,因此不涉及应用层代码。如果要控制,我可能会建议更改adv类型的数据包如果需要。
谢谢
嗨gongyu_dialog!
关于点2,是的,请建议我如何控制这一点,所以我将要知道广告客户从观察者收到扫描请求
只有在观察者方面,用msg gapm_adv_report_ind,我们可以获得扫描结果信息。
但在外围方面,在我看来,我们没有方法可以获得信息,即是否存在“Scan_Req”的消息。该过程完全在芯片的下层完成。