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.

[参考译文] LAUNCHXL-CC2640R2:读取非连接广播设备的广播数据

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1252748/launchxl-cc2640r2-reading-advertising-data-of-a-non-connectable-broadcaster

器件型号:LAUNCHXL-CC2640R2

我将使用 simple_observer 示例来侦听广播、并使用修改后的简单广播设备示例广播数据。 我在简单广播设备中每隔10秒更新一次广播包。 我希望读取 simple_observer 侧的数据。 我需要在我的简单观测器代码中进行哪些更改。 此外、我还想添加一个滤波器、以只读取特定通信地址(4个设备)的广播数据、而不是从所有设备读取数据、我该如何实现?

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

    Ankit、您好!

    您将能够 在函数 SimpleObserver_processRoleEvent 中读取数据、  

    GAP_DEVICE_INFO_EVENT:

    您可以在此处从 ObSever 事件结构中提取信息。

    添加时:  

    Display_print1(dispHandle, detectedDevice, 0, "Counter %i", pEvent->deviceInfo.rssi);

    您将能够在 UART 控制台中看到检测到的器件的 RSSI。

    请注意、此处仅显示最后检测到的器件。

    在 BLE 堆栈中、您可以如此处所述实施白名单、因此您必须绑定到器件  

    (+)使用白名单通过器件实现选择性绑定[CC2541]-蓝牙论坛- BluetoothRegistered︎ 支持论坛- TI E2E 支持论坛

    您可以在 simple_observer.c 中找到所需的参数。  

    此致、

    亚历克斯

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

    您好 Alex:

    谢谢你的答复。  (+)使用白名单的器件选择性绑定[CC2541]-蓝牙论坛- BluetoothRegistered︎- TI E2E 支持论坛 这会显示仅1个器件的白名单,我们是否可以将多个器件(例如4)白名单?这怎么可能? 我还想知道、如果我禁用简单广播设备中的扫描响应数据、简单观察设备是能够检测到 BLE 器件、还是简单观察设备需要扫描响应数据来检测非连接的器件

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

    Ankit、您好!

    我们通过 Simplelink Academy 示例 展示键合与白名单的工作原理。

    您能否简单描述一下观察员从有限数量的器件接收广告消息的总体目标。  

    此致 Alex

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

    实际上、我的应用是胎压监测系统、其中将有4个 TPMS 传感器以广播模式广播数据并且不可连接。 观察员就像一个聚合器、它将从所有4个 TPMS 传感器收集数据并通过 CAN 将其发送到车辆的 ECU。

    我目前面临的问题是、我无法在 simple_observer 示例上检测到我的器件。 所以我想这是否是由于禁用了传感器侧的扫描 rsp 数据。 解决这个问题后,我想把所有4个传感器的 Mac ID 白名单,以避免从不需要的设备接收数据。

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

    Ankit、您好!

    应该有一种方法可以做到这一点。 我所知道的唯一解决方法是、在发生广播事件时读取地址、从而在应用层执行此操作。 不过、我会将这个问题转交给我们的汽车专家。

    此致、

    亚历克斯