请问ti工程师:BLE设备(使用CC2541) : CC2541是否可以设置密码或者如何防止其他人连接BLE设备 ?
BLE设备(使用CC2541) : CC2541是否可以设置密码或者如何防止其他人连接BLE设备 ?
如果可以有参考吗?
谢谢!
Hi Tan,
设置密码是行不通的.
但是有其他方法, 比如说, 你可以在被连上之后立即发送某些自定义数据, 如果对方app没有回复, 就立即断开.
诸如此类.
断开不是双方断开才能其作用吗?
能不能通过设置连接超时 的时间比 最新连接间隔短,来时实现设备不被连接呢?
Hi Tan,
只要一方请求断开, 连接就能断开.
连接超时协议栈规定最短是100ms, 但是BLE的连接速度很快, 比这个短, 所以也没法这样做.
YAN,
关于这个问题,如果有设备恶意连接的话,就没有办法了!(当设备申请断开,恶意连接马上连接,这时候设备就没用了)
请前辈指教,
我的cc2540从机被连接的时候 需要输入密码的,我在
GAPBondMgr_ProcessGAPMsg( gapEventHdr_t *pMsg )
{
switch ( pMsg->opcode )
{
case GAP_PASSKEY_NEEDED_EVENT:
{
gapPasskeyNeededEvent_t *pPkt = (gapPasskeyNeededEvent_t *)pMsg;
if ( pGapBondCB && pGapBondCB->passcodeCB )
{
// Ask app for a passcode
pGapBondCB->passcodeCB( pPkt->deviceAddr, pPkt->connectionHandle, pPkt->uiInputs, pPkt->uiOutputs );
}
else
{
// No app support, use the default passcode
if ( GAP_PasscodeUpdate( gapBond_Passcode, pPkt->connectionHandle ) != SUCCESS )
{
VOID GAP_TerminateAuth( pPkt->connectionHandle, SMP_PAIRING_FAILED_PASSKEY_ENTRY_FAILED );
}
}
}
break;
这个里面看到 pPkt->uiInputs 这个是用户输入的密码,请问这个值传到哪里去了。我想判断这个值,如果和passcode相符就可以连接,
不相符就不连接。我想对这个手动输入密码进行判断,例如,输入 02 或者03 的话,我都认可密码就允许的。
请问在哪里修改? 谢谢!密码更新是用GAP_PasscodeUpdate这个函数么 谢谢