CC2541与lightblue第一次配对的时候可以实现密码配对,第一次配对成功之后,再次尝试主从机连接,就没有密码配对的过程了,而是直接就连接上了。
CC2541作为从机,已经设置配对模式为initiate模式,具体的配置如下:
{
uint32 passkey = 555555; // passkey "000000"
uint8 pairMode = GAPBOND_PAIRING_MODE_INITIATE;
uint8 mitm = TRUE;
uint8 ioCap = GAPBOND_IO_CAP_DISPLAY_ONLY;
uint8 bonding = TRUE;
GAPBondMgr_SetParameter( GAPBOND_DEFAULT_PASSCODE, sizeof ( uint32 ), &passkey );
GAPBondMgr_SetParameter( GAPBOND_PAIRING_MODE, sizeof ( uint8 ), &pairMode );
GAPBondMgr_SetParameter( GAPBOND_MITM_PROTECTION, sizeof ( uint8 ), &mitm );
GAPBondMgr_SetParameter( GAPBOND_IO_CAPABILITIES, sizeof ( uint8 ), &ioCap );
GAPBondMgr_SetParameter( GAPBOND_BONDING_ENABLED, sizeof ( uint8 ), &bonding );
GAPBondMgr_SetParameter( GAPBOND_ERASE_ALLBONDS, 0 , NULL );
}
配置里面已经将从机的绑定信息给清除了,但是每次主从机连接都不会像第一次连接一样进行密码配对,所以猜想是不是该清除主机上面的配对信息才能再次进行密码验证配对或者是我清除从机绑定信息的方法错误了?
期待TI的员工和大神能讲解下为什么我清理从机存储的绑定信息后,再次连接还是不需要密码配对。
另外通过抓包软件看到他们在连接的时候通过绑定的功能其实也包含了密码配对的过程,只不过这个配对过程没有展示给用户看而已,但是从机reject了配对过程,错误代码是0x06,代码意思是密码缺失,搞不明白怎么会发生这样的错误代码呢?明明我从机发起的密码配对已经设置了密码啊,而且我第一次配对都能正确配对,就说明密码不会缺失的!
Li Zongwu:
假如主机是iPhone,则需要进入设置-》蓝牙,忽略一个从设备,则再连接从设备时,会弹出配对了又。
dongdong0071:
请问找到解决方案了吗
bool zale:
这个问题解决了么?我想知道配对成功后iPhone关闭蓝牙,出现iPhone与CC2541自动配对,这个第二次连接的过程是怎么样的? 从机配对绑定存储的MAC有什么用呢?
user3570217:
回复 bool zale:
是啊,按里说iphone mac地址是变化的,那从机端是怎么绑定的
xiaoming su:
uint8 bonding = FALSE;