发 帖  
原厂入驻New
[问答] CC2541是否可以设置密码或者如何防止其他人连接BLE设备 ?
2020-8-28 11:00:59  58 CC2541
分享
BLE设备(使用CC2541) : CC2541是否可以设置密码或者如何防止其他人连接BLE设备  ?
如果可以有参考吗?
谢谢!
0
2020-8-28 11:00:59   评论 分享淘帖
5 个讨论
Hi Tan,
设置密码是行不通的.
但是有其他方法, 比如说, 你可以在被连上之后立即发送某些自定义数据, 如果对方app没有回复, 就立即断开.
诸如此类.
骑猪去天山 发表于 2020-8-28 11:09
Hi Tan,
设置密码是行不通的.
但是有其他方法, 比如说, 你可以在被连上之后立即发送某些自定义数据, 如果对方app没有回复, 就立即断开.

断开不是双方断开才能其作用吗?
能不能通过设置连接超时 的时间比 最新连接间隔短,来时实现设备不被连接呢?
2020-8-28 11:25:26 评论

举报

CHENYUHENG 发表于 2020-8-28 11:25
断开不是双方断开才能其作用吗?
能不能通过设置连接超时 的时间比 最新连接间隔短,来时实现设备不被连接呢?

Hi Tan,
只要一方请求断开, 连接就能断开.
连接超时协议栈规定最短是100ms, 但是BLE的连接速度很快, 比这个短, 所以也没法这样做.
骑猪去天山 发表于 2020-8-28 11:09
Hi Tan,
设置密码是行不通的.
但是有其他方法, 比如说, 你可以在被连上之后立即发送某些自定义数据, 如果对方app没有回复, 就立即断开.

YAN,
关于这个问题,如果有设备恶意连接的话,就没有办法了!(当设备申请断开,恶意连接马上连接,这时候设备就没用了)
2020-8-28 11:52:47 评论

举报

骑猪去天山 发表于 2020-8-28 11:09
Hi Tan,
设置密码是行不通的.
但是有其他方法, 比如说, 你可以在被连上之后立即发送某些自定义数据, 如果对方app没有回复, 就立即断开.

请前辈指教,
我的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这个函数么 谢谢
2020-8-28 12:12:29 评论

举报

只有小组成员才能发言,加入小组>>

1442个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /7 下一条

快速回复 返回顶部 返回列表