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.

[参考译文] CC1352P7:启用扫描时如何从堆栈中获取预期信息或整个广播帧。

Guru**** 2430280 points
Other Parts Discussed in Thread: CC1352P7

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1120931/cc1352p7-how-to-get-the-expected-information-or-the-whole-advertising-frame-from-the-stack-when-the-scan-is-enable

器件型号:CC1352P7

大家好、

最近、我尝试使用 cc1352p7来实现基于 RSSI 衰减原理的距离测量。 ,我们采用简单的中心来实现这一目标。但这是一个需要团队帮助的问题。

当我检查简单的中央位置时、堆栈仅报告以下信息。

///广告报告的事件
typedef 结构{
/**
*位0至位4表示可连接、可扫描、定向、扫描响应和
*分别为传统
*
uint8_t evtType;
//public、random、public ID、random ID 或 anonymous
GAP_Addr_Types_t addrType;
///广播设备的地址
uint8_t addr[B_ADDR_LEN];
主要广播通道的//PHY
GapScan_ScannedPhy_t primPhy;
次级广播通道的//PHY
GapScan_ScannedPhy_t secPhy;
//广播 PDU 的 SID (0x00-0x0F)。 0xFF 表示 PDU 中没有 ADI 域
uint8_t advSid;
//-127dBm <= TX 功率<= 126dBm
int8_t txPower;
//-127dBm <= RSSI <= 20dBm
INT8_t RSSI;
///定向广播 PDU 中 TargetA 地址的类型
GAP_Addr_Types_t directAddrType;
//TargetA 地址
uint8_t directAddr[B_ADDR_LEN];
///定期广播间隔。 0表示无周期性广播。
uint16_t periodicAdvInt;
///数据的长度
uint16_t dataLen;
//指向广播或扫描响应数据的指针
uint8_t *pData;

} GapScan_Evt_AdvRpt_t;

但是、当我使用 Ibeacon 来实现这一点时、不会报告 ibeacon 的某些信息、这里是 Ibeacon 帧、

字节0:长度 :0x02
字节1:类型: 0x01 (标志)
字节2:值:0x06 (典型标志0b00000110)(LE 通用可发现模式、不支持 BR/EDR) 
字节3:长度: 0x1A (以下部分的)
字节4:类型: 0xFF (自定义制造商数据)
字节5-6:制造商 ID :0x4c00 (Apple 的 Bluetooth SIG 注册公司代码、16位小端序)
字节7:子类型: 0x02 (自定义制造商数据的 Apple iBeacon 类型)
字节8:子类型长度: 0x15 (iBeacon 数据的其余部分;UUID + MAJOR + MINOR + TXPower)
字节9-24:Proximity UUID (特定信标的随机或公共/注册 UUID)
字节25-26:MAJOR (用户定义的值)
字节27-28:次要 (用户定义的值)
字节29:测量的功率 (8位有符号值、范围从-128到127、如有必要、使用二的补码"转换"、 
单位:以 dBm @为单位的测量传输功率、距离信标1米)(由用户设置、不是动态的、可与处接收到的 RSSI 一起使用
用于计算到信标的粗略距离的接收器)

是否有任何方法从堆栈获取预期信息或整个帧?

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

    你(们)好

    不是 BLE 专家、但您能否查看 以下帖子以查看这是否解答了您的问题?

    (+) CC2640R2F:如何在 simplelink_cc2640r2_sdk_1_50_00_71 sdk 中的广播报告期间获取 RSSI 值? -蓝牙论坛- BluetoothRegistered︎- TI E2E 支持论坛

    Siri

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

    您好、Siri、

    我已经检查过这个帖子、可以在这里获取 RSSI、但 RSSI I 不是我想要的唯一信息、 也需要 Proximity UUID、MAJOR 和 MINOR。如果可以访问整个帧会更好。  

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

    您好!

    您是否有 BLE 监听器日志? 您是否能够看到整个帧通过无线传输?

    此致、

    1月

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

    您好,Jan

    很抱歉、我的回复太晚了。深入研究后、TX 功率和其他信息似乎可以在 指向广播或扫描响应数据的指针中获得、请参阅以下结构的最后一项。要实现此目标、需要用到解析函数。在我看来、 TI 集团不提供接口的原因是、BLE 广播帧格式不统一、不同的供应商将确定不同的帧格式。 因此 、无法通过一个接口与所有类型的帧格式兼容。  

    哈哈、这只是我的猜测、我希望您可以确认它。

    ///广告报告的事件
    typedef 结构{
    /**
    *位0至位4表示可连接、可扫描、定向、扫描响应和
    *分别为传统
    *
    uint8_t evtType;
    //public、random、public ID、random ID 或 anonymous
    GAP_Addr_Types_t addrType;
    ///广播设备的地址
    uint8_t addr[B_ADDR_LEN];
    主要广播通道的//PHY
    GapScan_ScannedPhy_t primPhy;
    次级广播通道的//PHY
    GapScan_ScannedPhy_t secPhy;
    //广播 PDU 的 SID (0x00-0x0F)。 0xFF 表示 PDU 中没有 ADI 域
    uint8_t advSid;
    //-127dBm <= TX 功率<= 126dBm
    int8_t txPower;
    //-127dBm <= RSSI <= 20dBm
    INT8_t RSSI;
    ///定向广播 PDU 中 TargetA 地址的类型
    GAP_Addr_Types_t directAddrType;
    //TargetA 地址
    uint8_t directAddr[B_ADDR_LEN];
    ///定期广播间隔。 0表示无周期性广播。
    uint16_t periodicAdvInt;
    ///数据的长度
    uint16_t dataLen;
    //指向广播或扫描响应数据的指针
    uint8_t *pData;
    } GapScan_Evt_AdvRpt_t;

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

    您好!

    正确! 很高兴看到您能够解决此问题。

    此致、

    1月