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的 BLE 器件连接和接收数据的指导

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1500465/cc2340r5-request-for-guidance-on-connecting-and-receiving-data-from-a-cc2340r5-based-ble-device

器件型号:CC2340R5

工具/软件:

尊敬的专家:

我目前正在连接 基于 CC2340R5的仪器 检索其广播数据。 到目前为止、我们正在使用 NRF 连接 在 Android 设备上接收数据的软件、并且运行良好。

鉴于此、我们正在考虑删除 Android 设备、而不是使用 CC2340R5板 接收数据的能力。

我不熟悉低功耗 BLE 器件、因此感谢您指导我朝着正确的方向前进。

我的要求:

  • 自动连接到 基于 CC2340R5的仪器 使用预定义的 静态 ID 和密码

  • 从仪器接收数据。

  • 通过打印接收的数据 UART

  • 器件广播间隔 1分钟 并保持在广播模式 20秒 。 因此、扫描器只需要在此广播窗口期间进行检测并连接到设备。

我们非常希望提供任何建议、示例代码或文档参考。

提前感谢您的支持。

此致
Surya

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

    您好!

    F3 SDK 中的 basic_ble 示例 提供了完成大部分所需功能所需的函数、但您需要重新整理这些函数以满足您的需求。 要自动连接、您可以使用扫描功能、获取结果并通过识别其地址或其广播数据中的某个特定内容、与正确的外设开始连接。

    但是、低功耗蓝牙不支持使用静态 ID 和密码进行身份验证。 相反、BLE 使用6字符密钥通过外设对中央器件进行身份验证。 因此、我可以看到3个选项、说明如何在外围设备和中央设备之间进行身份验证:
    1 -使用带外方式通信随机生成的密钥、例如 CC2340R5安装与外设之间的 UART 或 SPI 串行通信。
    2 -事先知道您的中心地址,并在您的外围设备上使用定向广告。
    3-使用中央设备上的静态密钥,外围设备会事先知道,以便进行连接。 由于 与静态密钥相关的所有安全问题、我不建议使用这种方法

    关于中央扫描、如果您只希望扫描仪检测并连接到广播窗口中的设备、则需要一种方法来同步外设的广播和中央设备的扫描。 您可以再次将 UART 或 SPI 用于此目的、以便中央器件向外设发送信号、指示外设开始广播。

    为了解决您的其他问题、使用 basic_ble 示例简化数据并通过 UART 打印数据非常简单。

    下面是 有关如何使用 basic_ble 示例的 SLA 链接。 我还建议您阅读 BLE5用户指南

    此致、
    Maxence

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

    您好、 Maxence Mathieu

    感谢您的回答、但我仍然对在basic_ble_LP_EM_CC2340R5_freertos_ticlang示例中查找函数的位置感到困惑。
    我找不到清晰main.c或类似的东西basic_ble.c、这使得很难确定程序的启动位置以及其他文件的链接方式。

    我想做的是自动启动 BLE 扫描、无需按下按钮。

    目前、仪器使用静态密钥。 我们通过 Android 应用手动输入此静态密钥、然后向仪器发送读取请求、并使用数据进行响应。

    我想移除 Android 应用并使用 CC2340 EVM 中央设备 。 它应:

    1. 自动开始扫描、

    2. 使用静态密钥自动连接到特定仪器、

    3. 发送读取请求、

    4. 接收和处理发送的数据。

    请指导我选择正确的路径、并告诉我要更改代码的确切位置以使其正常工作。

    此致
    Surya

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

    您好!

    basic_ble 示例应具有实现这些目的所需的一切。 该应用程序在中启动main_freertos.c,但您需要的实际功能在 app_central.c 中,并将向您展示如何使用扫描仪BLEAppUtil_scanStart,如何处理结果,如何连接. BLEAppUtil_connect

    我强烈建议您阅读 关于债券的用户文档 、以了解如何处理密钥请求等债券事件以及如何回复。

    对于读取请求和处理传输的数据、建议您查看 basic_ble GATT 客户端示例、该示例将展示如何从 GATT 表读取数据。

    此致、
    Maxence