我想问一下主机与从机连接及配对的过程。
主机扫描到正在广播的从机,然后发起连接,那么,配对过程也是通过无线发送密码的吗?这个过程跟simpleBLECentralStartDiscovery( void )这个函数有什么关系?
Yan:
JING,
配对过程,不会通过无线发送密码,这样不安全。密码是AES算出来的。
simpleBLECentralStartDiscovery 和配对无关。
JING YUE:
回复 Yan:
谢谢你的回复,但我还有一些疑问。
疑问一:
在我的程序里的配对过程,是主机和从机各设置一个默认的密码,然后通过密码和配对回调函数simpleBLECentralPasscodeCB, simpleBLECentralPairStateCB 实现的,但是主机和从机既然不是通过无线发,那么是怎么在密码不同时显示配对失败的,就是这个密码是怎么被使用的?
疑问二:在 simpleBLECentralPairStateCB函数里,有这样的语句
else if ( state == GAPBOND_PAIRING_STATE_COMPLETE ) { simpleBLEPairingStarted = false; if ( status == SUCCESS ) { if ( simpleBLEDiscPostponed && simpleBLECharHdl == false) { simpleBLEDiscPostponed = false; osal_set_event( simpleBLETaskId, START_DISCOVERY_EVT ); } LCD_WRITE_STRING( "Pairing success", HAL_LCD_LINE_1 );
我不明白,已经配对成功了,还设置事件 osal_set_event( simpleBLETaskId, START_DISCOVERY_EVT );是要干什么。