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.

[参考译文] CC2540:从另一个 BLE 器件读取数据

Guru**** 2553450 points
Other Parts Discussed in Thread: CC2540, CC2541

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/569648/cc2540-reading-data-from-another-ble-device

器件型号:CC2540
主题中讨论的其他器件: CC2541

你好!
我不熟悉 BLE 技术、我需要您的帮助。

我最近购买了 CC2540 USB 软件狗 BLE 模块。 我使用 IAR 系统的"IAR Embedded Workbench for 8051"软件来编译德州仪器提供的 CC2540的示例代码。

我的项目很简单:我有两个 BLE 模块、一个是 CC2540、另一个属于不同的系列。 对于后者、它设置为外设和服务器设备、每5秒更新属性的值。 我需要将 CC2540模块设置为中央设备和客户端设备、以便在更新后可以读取该值。

为此、我从 simpleBLEproject 开始:我的想法是设置一个循环、允许周期性读取外设模块的属性值(使用 handle 或 UUID)、建立控制时间间隔或使用无线更新消息。 每次读取后、我都要将该值发送到 COM 端口(PC)、以便我可以使用终端仿真器查看该值。

我使用了"CC2540和 CC2541蓝牙低耗能软件开发人员指南"来开发新代码并了解默认代码。 尽管如此、我仍然遇到一些困难、而且我在网上找不到任何教程。
我的问题是:
-如何以及在何处使用读取功能? 我如何使这种读数呈周期性变化?
读取该值后,可以使用哪些函数通过 COM 端口传输数据? 在哪里可以输入这些代码行?

如果我的想法是正确和可能的、我想问您是否可以逐步解释如何继续。
非常感谢您的关注。

Fabio

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可以尝试访问 www.ti.com/.../swru270c.pdf 并设置 BTool 以连接到另一个 BLE 外设。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 YiKai Chen:

    我尝试使用 BTool、但它对我的项目没有用处。 我想在不使用支持软件的情况下执行此操作。 因此、我想对 CC2540进行编程、使其能够自主运行:我想设置与已知外设的自动连接、循环读取以及后续发送数据、而无需外部用户的干预。

    然后、我的目标是将发送的数据导入 Matlab 并进行处理。

    如果我的第一个解释不清楚,我很抱歉。
    Fabio
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Florian、

    我认为最简单的方法是配置特性、以便在主器件的值发生变化时通知主器件(GATT_PROP_NOTIFY)。 然后可以在主器件中使用 GATT_RegisterForInd()。 然后,您将获得 ATT_Handle_value_NOTI 或 ATT_Handle_value_IND,您可以在 simpleBLECentralProcessGATTMsg()中进行处理。 (有关详细信息、请参阅内核规格)。

    如果您真的想设置一个计时器来定期读取、可以在 simpleBLEperipheral 中查看周期性事件以获得灵感。 读取函数应在回调函数中实现。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我是否可以假设您需要以下内容:

    1.器件 A:执行一些功能并读取一些值

    2.设备 B:等待 A 发送数据(GATT_Notification 可能是?) 并将数据发送到 UART?

    如果这是您想要的、或许我可以帮您解决问题。