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.

[参考译文] BOOSTXL-CC2650MA:如何在两个MCU解决方案(AP + SNP)中使用接近配置文件?

Guru**** 2557810 points
Other Parts Discussed in Thread: CC2650, CC2640

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/583162/boostxl-cc2650ma-how-to-use-proximity-profile-in-two-mcu-solution-ap-snp

部件号:BOOSTXL-CC2650MA
主题中讨论的其他部件:CC2650CC2640

您好,

我是BLE的新手,如果有人问过这个问题,或者我错过了另一条线的问题,请原谅我。

我正在开发BLE产品,该产品需要接近检测,电机和传感器控制。

我从实时蓝牙网络的EDX课程中了解双MCU解决方案,如下所示:

www.edx.org/.../real-time-bluetooth-networks-shape-world-utaustinx-ut-rtbn-12-01x-0

我的开发平台是带有CC2650 BoosterPack的TIVA TM4C123G Launchpad。

由于我正在使用BareMetal实现进行原型设计,因此我使用由教授创建的EDX课程NPI实现。 我已经可以公告,连接,创建自定义服务UUID和特征,以便在我的手机和BLE设备之间交换数据。

我的问题是:

  1. CC2650 BoosterPack上的默认SNP固件似乎根据我在CC2640 SNP API Guide (CC2640 SNP API指南)中阅读的内容实施了Device Information (设备信息)服务,GATT Service (GATT服务)和GAP。
    是否可以修改CC2650 BoosterPack固件以添加蓝牙SIG接近配置文件和诸如链路丢失,警报和Tx功率等服务,或者我是否需要自己创建此服务和特性?


  2. 如果我需要通过创建自定义服务和特性来实现它,这是否意味着我可以  通过SNP封装的HCI命令使用HCI_ReadRssiCmd?

感谢你能抽出时间

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

    听起来您很了解SNP! 很棒!

    1) 是的,您必须自行提供这些服务及其特点。 使用您可能已经熟悉的GATT API:
    software-dl.ti.com/.../_s_n_p__g_a_t_t__a_p_i.html

    2) 如果您需要RSSI数据,则必须使用封装的HCI命令 。software-dl.ti.com/.../_s_n_p__d_e_v__a_p_i.html

    如果您在实施时遇到任何问题,请告知我们!

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

    Rebel,感谢您的鼓励和建议!

    我已阅读蓝牙接近规格和蓝牙链路丢失服务规格。
    此外,我还观察了TI Simplelink BLE SDK示例,该示例用于实现接近配置文件的密钥卡。

    我的实施是Android智能手机(中央设备),它控制BLE外围设备(AP+SNP)。
    我想在我的BLE外围设备上实施Proximity Profile,以便它充当Proximity Reporter。

    根据我从遥控器示例中观察到的情况,在我看来,链路丢失服务具有警报级别特征,该特征控制连接到主(智能手机)的链路丢失时BLE外围设备的行为。
    从接近曲线规格中可以了解到,警报措施是针对具体实施的,这意味着我可以执行例如打开蜂鸣器等操作。
    但是,根据我的理解,此开启蜂鸣器操作是在链路断开(中央和外围设备之间断开)后执行的。
    这意味着,无论原因是什么,无论用户是有意断开智能手机连接,还是在与BLE外围设备的连接断开之前离开,链路丢失服务都将决定警报。

    我看到的另一个特征是即时警报服务,根据我从规格中了解到的信息,接近监视器(智能手机)将发布写入此即时警报服务的警报级别特征,以导致接近报告器(外围设备)发出警报。 我认为这与链路丢失服务不同,因为这意味着连接仍然存在,而根据蓝牙规格,近距离监控器将从近距离报告器的发射功率中减去读取RSSI,然后写入即时警报,因此 Proximity Reporter (BLE外围设备)将执行操作。

    它让我有一些问题:
    1)。 Cmiiw,但根据我在互联网上看到的内容,许多人会问Android BLE SDK是否可以从连接的外围设备监控RSSI,因为在扫描广告外围设备时似乎报告了RSSI。 您是否知道现在是否可能做到这一点? 可能是从特定Android版本转发?

    2)。 通过简化BLE SDK,我仍然不完全了解HCI_ReadRssiCmd。 HCI_ReadRssiCmd是否可用于从连接的中央/主中继器读取RSSI (建立连接后)?
    如果可能,我认为实施有点偏离蓝牙规格,因为BLE外围设备(接近报告器)是一个持续监控连接的中央/主中继器的RSSI并确定警报措施的设备。

    很抱歉,我的职位很长,我非常感谢您的初步回复和您的时间。

    此致,
    Pranata