【问题标题】:bluez: scan and connect in parallelbluez:并行扫描和连接
【发布时间】:2018-04-17 18:25:45
【问题描述】:

我想在测试设置中实现的是:

运行:

hcitool -i hci0 lescan --duplicates --passive

在一个外壳上

并在另一个 via 上并行连接

hcitool -i hci0 lecc <BTADDR>

我发出连接命令的那一刻,扫描过程就退出了。

这是为什么呢?我认为选择扫描--passive 将允许在管理连接时进行扫描输出?

最好的,

【问题讨论】:

标签: linux bluetooth bluez hci


【解决方案1】:

如果您使用的是内核 3.2 及更高版本,请使用 gatttool 或 bluetoothctl 进行 LE 连接。 hcitool 已弃用,您不应再使用它们。编译并安装最新的 bluez 并使用 gatttool 进行 LE 连接。如果您的 LE 设备在附近,您应该可以直接使用 gatttool 进行连接、读取和写入:

假设您的本地 BT 适配器是 hci0,远程设备 BD_ADDR 是 12:22:33:44:55:66 那么:

gatttool -i hci0 -b 12:22:33:44:55:66 -I
[12:22:33:44:55:66][LE]>connect
Attempting to connect to 12:22:33:44:55:66
Connection successful
[12:22:33:44:55:66][LE]>characteristics

阅读手册和帮助以了解有关 gattool 的更多信息。

【讨论】: