我正尝试在QT应用程序中从我的PC和Raspberry Pi3连接到蓝牙低功耗设备,但在尝试连接时出现此QT错误:
qt.bluetooth.bluez: Unknown l2cp socket error: QBluetoothSocket::UnknownSocketError "Transport endpoint is not connected"
qt.bluetooth.bluez: void QBluetoothSocketPrivate::_q_readNotify() 14 error: -1 "Resource temporarily unavailable"
qt.bluetooth.bluez: Unknown l2cp socket error: QBluetoothSocket::UnknownSocketError "Resource temporarily unavailable"
我不认为它的QT,我怀疑bluez是问题所在。我发现Linux可以找到设备:
sudo hcitool lescan
它可以通过以下方式连接:
sudo hcitool lecc <address>
这很好。问题是,一旦我尝试使用gatttool(这必须是QT试图做的事情的那个方面),我得到以下结果:
pi@user:~$ sudo gatttool -I
[ ][LE]> connect <address>
Attempting to connect to <address>
Error: connect error: Transport endpoint is not connected (107)
[<address>][LE]>
结果是PC和Raspberry上的一些结果。 PC上的bluez版本是5.37,覆盆子5.23。
有什么想法吗? :(
答案 0 :(得分:0)
使用Gatttool:
尝试使用random
类型,如果没有问题,很可能会起作用。
sudo gatttool -I -t random
您可以通过一个命令本身绑定到蓝牙地址。
sudo gatttool -I -t random -b <mac address>
使用Hcitool:
sudo hcitool lecc --random <mac address>
执行时,您可以在另一个终端上查看详细的HCI嗅探日志
sudo hcidump -X