CC2541 No Display No Keyboard 配对鉴权问题
时间:10-02
整理:3721RD
点击:
大家好:
将SimpleBLEPeriphral工程SBP初始化函数改为如下配置:
// Setup the GAP Bond Manager { uint32 passkey = 0; // passkey "000000" uint8 pairMode = GAPBOND_PAIRING_MODE_INITIATE; uint8 mitm = TRUE; uint8 ioCap = GAPBOND_IO_CAP_NO_INPUT_NO_OUTPUT; 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 ); }
更改后,手机与设备配对时,会弹出配对请求窗口,但手机只需要点击确定或取消。但是即使点击确定,需要鉴权的Characteristic 5还是读不出值。
请问能否实现ioCap仅为No input No output,点击手机配对的确定后即可鉴权成功读出CHAR 5的值?
请问您下列参数是如何设置的:
uint32 passkey = 0; // passkey "000000"
uint8 pairMode = GAPBOND_PAIRING_MODE_INITIATE;//GAPBOND_PAIRING_MODE_WAIT_FOR_REQ;
uint8 mitm = TRUE;
uint8 ioCap = GAPBOND_IO_CAP_DISPLAY_ONLY;
uint8 bonding = TRUE;
您现在使用的是什么手机?您的设备是否有显示功能呢?
额,参数设置已经在帖子里写了。另外,问题已经找到了。在No input no putput模式下,系统会被配置成Just work模式,MIMT无法使用。蓝牙4.0官方协议中也说明了,Just work模式下不能做鉴权操作。