我试图用我的Ubuntu桌面连接蓝牙低能量血氧计,但我遇到了一些问题。使用蓝牙4.01连接蓝牙LE设备
我可以看到设备只需使用hcitool lescan
罚款,但是当我键入
sudo gatttool -b 00:1C:05:FF:ED:A9 -I [ ][00:1C:05:FF:ED:A9][LE]> connect
这些都是原木hcidump -X
我无法连接:
HCI Event: Command Status (0x0f) plen 4 LE Create Connection (0x08|0x000d) status 0x00 ncmd 1 HCI Event: Command Status (0x0f) plen 4 LE Start Encryption (0x08|0x0019) status 0x00 ncmd 1 HCI Event: Encrypt Change (0x08) plen 4 status 0x06 handle 64 encrypt 0x00 Error: PIN or Key Missing HCI Event: Command Status (0x0f) plen 4 Disconnect (0x01|0x0006) status 0x00 ncmd 1 HCI Event: Disconn Complete (0x05) plen 4 status 0x00 handle 64 reason 0x16 Reason: Connection Terminated by Local Host
这看起来像一些一种认证失败。问题是测定仪不需要任何PIN或密钥。这只是一个简单的代理,它将数据发送给与其连接的任何人。
感谢您使用hcitool lecc
命令
非常感谢您的详细解答。事实上,这是我面临的同样的问题。它连接一次或两次,然后失败,直到我重新启动机器。你使用的是什么bluez版本?我知道bluez 5.X的bluetoothctl完美地与血氧仪配合工作,但由于兼容性问题,我真的需要在bluez 4.X上运行。 – user1378063 2014-12-11 17:22:42
我拥有的问题可以用bluez4和bluez5重现。解除配对(无需重新启动),然后为您连接工作的解决方法?试图确定你的问题是否相同。 – kaylum 2014-12-11 22:10:21
事情是,我从来没有能够在第一个地方配对设备。不是用蓝牙管理器,也不用任何其他控制台命令。所以当我运行“bt-device -r”时,它只是返回一个“不存在”消息。 – user1378063 2014-12-14 14:44:55