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.

[参考译文] CC2340R5:CC2340R5:如何实现一个中央连接到多个外设? 我应该从哪个示例工程开始?

Guru**** 2794765 points

Other Parts Discussed in Thread: CC2340R5, SYSCONFIG, LP-EM-CC2340R5

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1621224/cc2340r5-cc2340r5-how-to-implement-one-central-connecting-to-multiple-peripherals-which-example-project-should-i-start-with

器件型号: CC2340R5
主题中讨论的其他器件: SysConfig

尊敬的 TI 专家:

我正在使用 CC2340R5、并尝试在其中实施一个用例  一个中央器件同时连接到多个外设(从器件)器件 。 我正在寻找以下方面的指导:

  1. 我应该使用哪个示例项目作为起点?  我应该从 basic_ble 示例开始修改它、还是有更合适的示例(例如, data_stream_UART_over_BLEGATT 客户端示例或其他示例)能更好地演示多连接支持?

  2. 是否需要任何特定的 SysConfig 设置或代码修改  要使中心角色接受/维护多个连接? 我注意到、在 SysConfig 中可能有与“Max Number of Connections“相关的参数、但我想确认正确的配置和任何相应的代码更改。

  3. 是否有任何参考示例或应用手册  这展示了 CC2340R5 上的这种场景(一个中央器件连接到多个外设)? 例如、我看到了一个关于“具有多达 6 个节点的虚拟 UART 链路“的演示  –该示例是否可用?

我已经回顾了一些 E2E 主题(例如,如何将 CC2340R5 设置为蓝牙从器件以支持八个主机  以及 BLE 中央和外设通信) 、但我希望在中央侧提供更具体的指导。

我的开发环境:

  • SDK:simplelink_lowpower_f3_SDK_8_10_01_02(或最新推荐)

  • IDE:CCS

  • 硬件:LP-EM-CC2340R5

非常希望提供指向示例代码、配置步骤或文档的任何指针。

提前感谢!

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

    您好:

    SDK 中将 basic_ble 示例配置为中心位置应该是理想的起点。 确保您已将最大连接数设置为预期值、这基本上会告诉中心返回扫描模式、直至达到其最大连接数。 虽然没有自动连接到多个外设的示例、但这不应该是一件难尝试的事情。 如果您在执行此操作时遇到任何问题、请告知我们。

    您还可以获得 SLA 培训: https://dev.ti.com/tirex/explore/node?isTheia=false&node=A__AZQnwAj1a9xOv5tacnll2Q__SIMPLELINK-ACADEMY-CC23XX__gsUPh5j__LATEST 

    BR、

    David。

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

    您好、David:

    非常感谢您的及时和有用的答复!

    感谢您确认 basic_ble 配置为中心的示例是正确的起点、并提醒您在 SysConfig 中设置“Max Number of Connections“。 我还将查看您提供的 SimpleLink Academy 培训链接 

    关于您的发展建议、我想知道您是否可以向我指出任何问题  或代码模块  这对于管理与多个外设的连接特别有用。

    例如:

    1. 连接管理 :除了 BLEAppUtil_connect() 、是否还有其他关键功能可以根据特定对等设备的地址启动连接? 如何管理 connectionHandle活动连接的列表以将数据发送到正确的外设?

    2. 事件处理 :在连接事件处理程序(如)中 Central_connEventHandler、我看到诸如 BLEAPPUTIL_LINK_ESTABLISHED_EVENT 和之类的事件 BLEAPPUTIL_LINK_TERMINATED_EVENT 。 是否有任何显示跟踪这些事件中多个连接句柄的最佳实践的示例代码片段?

    3. GATT 操作 :当与连接的外设交互时(例如,读/写特性),我假定所有 GATT 客户端 API 都使用 connectionHandle 作为参数。 SDK 中是否有任何特定示例(例如 GATT 客户端示例)演示如何从多个连接池在特定的连接设备上执行 GATT 操作?

    由于没有专门的“多中心“示例、有关关键 API 的任何指导以及用于管理多个连接的简单代码流都将对顺利启动有帮助。

    再次感谢您的支持!

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

    您好:

    1. BLEAppUtil_connect 是 基于地址的 GapInit_connectGAP 函数的包装器: https://dev.ti.com/tirex/content/simplelink_lowpower_f3_sdk_9_14_01_16/docs/ble5stack/ble_user_guide/doxygen/ble/html/group___gap_init.html#gac48c7e153d960604f9da90aca3f75d08。 连接句柄将是指向特定外围设备的标识符、管理方式取决于您设置的逻辑。
    2. 我相信这个示例对您有所帮助、尽管它是在 F2 SDK ( https://github.com/TexasInstruments-Sandbox/ble_examples/tree/simplelink_low_power_f3_sdk-8.40/examples/rtos/LP_EM_CC2340R5/ble5stack/ble32x_connection_peripheral) 的基础上完成的

    BR、

    David