请问 SimpleBLEPeripheral程序中,在不连接的情况下怎么读取主机发送的ADV_SCAN_REQ中包含的主机MAC地址即ScanA。
时间:10-02
整理:3721RD
点击:
SmartRF Packet Sniffer可以抓到这一帧,但是SimpleBLEPeripheral程序中怎么实现?
fengping,
你可以在central 的代码里面搜索pEvent->deviceInfo.addr,就明白了。
你好
我现在是想在从机SimpleBLEPeripheral程序中在不连接的情况下读取到主机的地址。
是GAP_PROFILE_PERIPHERAL设备在不连接的情况下读取GAP_PROFILE_CENTRAL设备的地址。我看到GAP_PROFILE_CENTRAL发的ADV_SCNF_REQ帧中有ScanA地址。然后GAP_PROFILE_PERIPHERAL设备收到后在哪里能读出来?
fengping,
Peripheral做不到,没法在无连接的情况下得知对方地址。
Yan
谢谢你的回复。
但是我用SmartRF Packet Sniffer抓包显示:GAP_PROFILE_CENTRAL设备发送SCAN_REQ时有发送自己的地址SCANA。
是否SimpleBLEPeripheral程序中GAP_PROFILE_PERIPHERAL设备在底层收到SCAN_REQ后,并没有对SCANA地址进行处理,直接发送应答。也没有给上层APP提供可以得到SCAN_REQ这一帧数据的接口?
如下图:
fengping,
很遗憾,作为peripheral, 应用的级别没法得到对方的地址,这是蓝牙link layer底层进行交互回复的,在无连接的情况下,底层是不会告诉应用层对方的地址。
Yan
了解,3Q。