This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC2640R2F:终止与外围器件的连接

Guru**** 2609675 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1290157/cc2640r2f-terminate-connection-from-the-peripheral-device

器件型号:CC2640R2F

您好

我正在开发一个 BLE 应用、用于通过 UART 在手机和 PC 之间进行通信。 该应用是在 ble5_simple_peripheral 基础上开发的。
理想情况是、 未定义数量的不同移动设备可以连接到 PC 与 PC 进行通信、一次一个(我计划在将来将其设为3/4、但现在无需担心。 但是、如果您对此有任何想法、请告诉我)。

现在、我希望能够在外设(从机)侧根据需要断开连接。 我的目标是防止恶意设备保持连接并导致拒绝服务。  

需要知道的另一个有用信息是、是否可能阻止特定器件的连接。

我尝试使用"GAP_TerminateLinkReq ()",但它不起作用。

奖励 问题:

是否可以(或可行)控制器件可以连接的距离、我希望只能以10 - 20厘米的距离进行连接。我知道、 通过移动设备 、只有在具有特定信号强度时才能进行连接。 是否可以在外设(从)端做出类似的事情?  

谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Luis:

    您正在使用哪个 SDK 版本?

    "中央设备或外设均可出于任何原因终止连接。 一端发起端接,另一端必须在两个器件都退出已连接状态之前作出响应",您能否更详细地说明在何处/何时调用 GAP_TerminateLinkReq()?

    是否有可能阻止特定器件的连接? 是否可以根据外设端的 RSSI 进行连接?

    您可以执行以下几项操作:

    1. 考虑使用定向广播、以便您的外围设备将广播到已知/所需的设备。
    2. 建立连接并执行某种类型的身份验证逻辑、外设可以决定继续或结束连接。 至于 RSSI、您还可以考虑在连接事件中监控 RSSI、并决定是否继续连接。

    希望它有所帮助、

    大卫。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、David

    谢谢你这么多的答复和建议!

    我使用的 是 cc2640r2_sdk_5_30_00_03版本。 我 从 simple_peripheral 任务上下文中调用 gap_TerminateLinkReq (),因为它是 ICALL 注册的(这是必要的?)。

    该函数似乎返回0、但连接继续进行。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Luis:

    您能否分享一下您的操作代码片段、以便我为您提供进一步的帮助? 是否在确定已建立连接(GAP_LINK_Establed_event)时调用它? 您是否使用中断来触发此终止事件?

    Br、

    大卫。