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