gpt4 book ai didi

linux - Bluetooth Low Energy [4.2 及更高版本] - Linux 上 Qt 大于 20 字节的特性

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:32:05 27 4
gpt4 key购买 nike

我不确定这在 Electronics Stack Exchange 上会更好。

我见过几个类似的问题,但是在 BLE 4.2 天之前,可以有大于 20 个字节的字符,但这些问题现在已经过时了。

对于任何不知道的人,从 BLE 4.2 开始,您已经能够在特征中发送超过 20 个字节。所以,如果你没有遇到过这个,我已经成功地在 iOS 和 Silicon Labs 设备之间传输了 240 个奇数字节的特征一年多了。

我最近设置了一个 Nordic 嵌入式设备,并使用 Bluez 堆栈构建了一个 Qt GUI,以在 Nordic 设备和运行在 Linux 上的 Qt 应用程序之间传输数据。它将很好地传输 20 个字节的特征。

所以,我将 Nordic 的特性增加到 40 个字节,但 Qt 根本不玩它。

我相信北欧端的情况是正确的,因为如果我使用一个小的 Android 应用程序并查询 40 字节特征,它会读取所有 40 字节。这让我认为问题出在笔记本电脑端。

我有各种未知数:

  1. 我的笔记本电脑真的是 BT4.2 吗?很难知道,因为 Linux 称它为未知设备,它的 USB 供应商和型号告诉我它是英特​​尔设备,但 ID 似乎给了我多种可能性。

hciconfig 告诉我,我正在运行 HCI 4.2 版和 LMP 4.2 版。对我来说,这表明更大的特征应该起作用。

  1. Linux 本身能否应对大于20 字节的特性?

  2. Qt能否应对大于20字节的特性?

我正在使用 Qt 5.9.4 套件运行 Mageia 6 和 Qt Creator 4.2.1。

我没有 Windows 或 iOS 设备,其 LE 足够新以支持更大的特性。此外,Windows 在 LE 方面有点痛苦......

编辑:

btmon 在收到一个 40 字节的特征时给出这个:

 ACL Data RX: Handle 3585 flags 0x02 dlen 27        #1026 [hci0] 577.032058
ATT: Handle Value Notification (0x1b) len 22
Handle: 0x0010
Data: 35303120546869732069732061206c6f6e672063

这是从 Nordic 发出的字符串:

"%1 This is a long characterstic %1",Messno,MessNo

Noridic 每次发送消息时,MessNo 都会递增。这被截断为 xxxx 这是一个长

因此,这对我来说表明它正在被 BT 堆栈截断,假设这是 Qt 应用程序正在消化的内容。

最佳答案

您应该增加 nordic 设备的 MTU 大小。它与 Qt 无关。

关于linux - Bluetooth Low Energy [4.2 及更高版本] - Linux 上 Qt 大于 20 字节的特性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56476136/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com