我正在尝试使用 gatttool
连接到设备在 Linux 上。我跑 hcitool lescan
获取设备 MAC 地址,然后 gatttool -i hci1 -b <macaddr> -t random -I
.然后我输入 connect
.我按预期看到 [CON],但问题是它在大约 1 秒后自动消失,没有任何错误消息。我一直在寻找几个小时,但我不明白为什么会这样?
注意:我已经运行了hcitool lecc
运行前gatttool
有一次只是为了尝试一下,但在我看来,从那以后,gatttool
连接不再正常工作(如上所述意外断开连接)。是不是因为我用过hcitool lecc
?如果是,是否有办法“撤消”它?
最佳答案
不确定这是否对您有帮助,因为我在我的 Raspberry Pi(最新的 wheezy 版本)和 bluez 5.18(2014 年 4 月发布)上看到了这种行为。
在执行 lecc 后,我可以从命令行连接到我的 BLE 外围设备,没有任何问题。我不认为你需要在 lecc 后重置。无论如何,如果你确实想重置你的 BT 加密狗,因为它处于某种时髦的状态,请查看 this excellent step-by-step guide重置 BT 加密狗。我遵循了这些步骤并获得了一致的结果。
我可以连接并查询primary,但通常情况下,在我可以手动输入primary之前连接断开.请参阅下面的结果。如果我在连接后使用向上/向下箭头快速滚动到主要,我可以毫无问题地看到此外围设备提供的主要服务。
~ $ sudo gatttool -I -i hci0 -m 48 -b 20:CD:39:A8:11:AF
[20:CD:39:A8:11:AF][LE]> connect
Attempting to connect to 20:CD:39:A8:11:AF
Connection successful
[20:CD:39:A8:11:AF][LE]> primary
Command Failed: Disconnected
关于linux - Linux 上的 gatttool 和 hcitool,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22578433/