微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI无线射频设计 > 关于设备端获取主机地址(PUBLIC类型),求指教

关于设备端获取主机地址(PUBLIC类型),求指教

时间:12-22 整理:3721RD 点击:

在设备连接后,我希望判断他的主机地址是否是曾经绑定过的地址,而调用

GAPRole_GetParameter(GAPROLE_CONN_BD_ADDR,ConnAddr); 得到的是ADDRTYPE_PRIVATE_RESOLVE 类型的地址,不是PUBLIC的。主机采用IPHONE。

在绑定过程中,我发现发送来的消息内有物理地址,还有什么办法能获取到物理地址而不改变设备和主机的状态的么?(发起绑定后设备状态就不是原来仅仅连接的状态了)

void gapBondMgrSlaveSecurityReq( uint16 connHandle )
{
uint8 authReq = 0;

authReq |= (gapBond_Bonding) ? SM_AUTH_STATE_BONDING : 0;
authReq |= (gapBond_MITM) ? SM_AUTH_STATE_AUTHENTICATED : 0;

VOID GAP_SendSlaveSecurityRequest( connHandle, authReq );

是否把这个参数直接为0就可以获得主机的地址而不改变为AUTHEN 和BOND的状态?我是否可以用这个函数来获得主机的真实地址,那么在消息那如何读取?

顶上去,让你们看到。

iphone的物理地址是随机给的

但是我发现,在绑定过程中,数据到BondMgr 层的时候,数据包内含真实地址,BOND就是记录这个真实地址判断是否已经BOND过的。发起连接的是随机的,但是在认证过程中,地址通过数据包的方式送过来的。说明还是有可能通过一些方法获得真实地址的。 否则怎么绑呢,难道非要主机做这事?

认命吧 现在没办法绑

如果没有办法,作为蓝牙4应用的主力,现在苹果是如何和设备之间绑定的呢。?主要是判断是否是已经绑定的设备。难道仅仅只能在绑的过程中发现,那不是有点晚了么?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top