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.

[参考译文] WL1835MOD:对指示数据的响应

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1363521/wl1835mod-response-to-indication-data

器件型号:WL1835MOD

是否有必要对应用中的指示数据发送响应、或者此响应是否是在收到指示消息后由 Bluetopie Stack 发送?

如何发送回复消息?内容必须是什么?

Rgards

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

    您好、Thomas:

    您能解释一下您的问题吗? 您是指 HCI 回调还是什么指示?

    此致!

    Rogelio

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

    在低功耗蓝牙中、服务数据可以通过通知读取、接收或通过指示接收。 必须确认通过指示接收的数据。

    我的观察结果是、我收到一些通过指示的数据、但连接因缺少确认而终止。 Bluetopia Stack 中没有有关如何进行确认的提示。

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

    您好、Thomas:  

    好的、我理解你现在问的是什么(我希望)。

    您正在查找的函数是 GATT_GATT Handle_Value_Indication

    这是 Bluetopia 的文档。 通用属性(GATT 配置文件) API 会很有用。 第33页

    e2e.ti.com/.../API-Documentation.zip

    此致!

    Rogelio

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

    您好、Rogelio:

    该函数与我要查找的函数完全相反。 上述文档摘录:

    "指示要求客户端确认已收到指示"。

    下面是序列图 Vom Silicon Labs 蓝牙堆栈、您可以看到客户端应用会确认该指示、而不是蓝牙堆栈:

    我找到了 GATT_ConnectionID (unsigned int BluetoothStackID、unsigned int Handle_Value_Confirmation、unsigned int TransactionID);

    此函数似乎是 SS1BTPM 的一部分。 在 Bluetopia 栈中、我必须执行什么操作才能触发此事件?

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

    您好、Thomas:

    要在收到指示时发送指示响应、您需要将其与指示回调一起发送。 您可以在 HTPDemo 中找到这个用法的一个示例  

    向堆栈发送指示时、将触发此回调。

    我还建议浏览 gattapi.h 文件

    此致!

    Rogelio

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

    您好、Rogelio:

    我在 Linux 上使用 AM335xBluetopiaLinuxProduction-5.1.1.1。 我使用的 API 是 Bluetopia Platform Manager 的一部分、例如/BluetopiaPM/include/client/GATMAPI.h. 我如何访问和使用 BluetopiaPM/Bluetopia/Include/GATTAPI.h:2736:BTPSAPI_Declaration int BTPSAPI GATT_ID Handle_Value_Confirmation (unsigned int BluetoothStackID、unsigned int ConnectionID、unsigned int TransactionID);从 Bluetopia/Bluetooth/include/ConnectionID、GATTAPI.h 因为我需要类似蓝牙 StackID 和 ConnectionID 的东西?

    我在 stackoverflow.com 上找到一篇文章、其中介绍了可以使用 GATT API 的早期版本 Bluetopia、但我的项目没有此选项。

    此致、

    Thomas

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

    您好 Thomas:

    对于 Bluetopia PM、请使用 GATMGR.h 中的以下命令

    该命令在  Handle_Value_Confirmation 源代码中内部使用 GATT_GATT()。

    此致!

    Rogelio

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

    您好、Rogelio:

    我找到了下面的函数:

    BluetopiaPM$ grep -rnw。 -e "_GATM_HandleValueConfirmation"
    二进制文件./bin/SS1BTPM 匹配
    ./include/server/GATMGR.h:125:int _gatm_HandleValueConfirmation (unsigned int ConnectionID、unsigned int TransactionID);
    二进制文件./lib/libBTPM_S.a 匹配

    这意味着将 libBTPM_S.A 链接到我的二进制文件。 但这是不可能的、因为我还需要 libBTPM_C.A.中的许多函数 链接 libBTPM_C.a、libBTPM_S.A 会由于多个函数定义而导致链接器错误。

    文档 https://www.ti.com/lit/ug/swru581/swru581.pdf?= 1719264004450&ref_url=https%253A%252F%API 252Fwww.google.com%252F 未提及使用 ts。

    使用 Server-API 中的函数是否合适?

    此致、

    Thomas

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

    您好 Thomas:

    似乎 您需要使用服务器库来使用此 API。 很遗憾、我们无法提供 源代码让您将 API 包含到客户端库中、这需要重新编译发行版。 我看到了2条向前路径。

    1.) 您使用 bluetootopia 库、而不使用 BluetopiaPM。 这将允许您使用原始 API GATT_API  Handle_Value_Confirmation。 但是、这意味着您将无法访问 BluetopiaPM 守护程序。

    2.) 我们有一个第三方合作伙伴 Cloud2Ground、他可以使用您的用例所需的更改来重建发行版。

    此致!

    Rogelio