Bluez BLE 连接 Linux
Bluez BLE Connection Linux
我对 Linux 和蓝牙开发还很陌生,我不确定 sudo hcitool lecc <bdaddr>
和 sudo gatttool -b <dbaddr> -I
之间的区别?我不需要任何 GATT 服务;我只想要两个设备之间的连接。
我正在模糊地关注 this widely referred to tutorial,并正在考虑调整 Bluez /tools/hcitool.c 中的 cmd_lecc
方法,但我无法连接到我的 BLE 设备使用 hcitool lecc
.
当我使用 gatttool
连接时,我能够成功连接,但是使用 hcitool lecc
returns 错误 'Could not create connection: Connection timed out',并且没有连接到 BLE设备。但是,运行 sudo hcitool con
显示活动连接显示有一个:'Unknown handle 0 state 2 lm SLAVE'。如果无法建立连接,为什么它会在 hcitool
中将连接注册为活动连接?
因此我的问题有三个方面:
- 这两个命令有什么区别?
gatttool
是否适合我的目的,或者我应该弄清楚什么不适用于 hcitool
(遵循 this?
- 为什么
sudo hcitool lecc <bdaddr>
部分连接,即使超时?
非常感谢。
hcitool lecc <bdaddr>
创建一个连接和returns一个句柄,而gatttool -b <bdaddr> -I
只打开一个交互式终端,接口绑定到地址但尚未连接。要使用 gatttool
命令进行连接,您必须输入 connect
,这很可能也会失败。
我建议查看 hcitool
如何连接以编写您自己的代码,因为所有 gatttool
只是围绕 hcitool
使用的相同进程的包装器,但它的包装器是除非您复制其代码,否则不可用。
最后,hcitool
报告的句柄 0 是尝试连接时留下的无效句柄,因为据我所知,所有有效句柄都大于 0。
我对 Linux 和蓝牙开发还很陌生,我不确定 sudo hcitool lecc <bdaddr>
和 sudo gatttool -b <dbaddr> -I
之间的区别?我不需要任何 GATT 服务;我只想要两个设备之间的连接。
我正在模糊地关注 this widely referred to tutorial,并正在考虑调整 Bluez /tools/hcitool.c 中的 cmd_lecc
方法,但我无法连接到我的 BLE 设备使用 hcitool lecc
.
当我使用 gatttool
连接时,我能够成功连接,但是使用 hcitool lecc
returns 错误 'Could not create connection: Connection timed out',并且没有连接到 BLE设备。但是,运行 sudo hcitool con
显示活动连接显示有一个:'Unknown handle 0 state 2 lm SLAVE'。如果无法建立连接,为什么它会在 hcitool
中将连接注册为活动连接?
因此我的问题有三个方面:
- 这两个命令有什么区别?
gatttool
是否适合我的目的,或者我应该弄清楚什么不适用于hcitool
(遵循 this?- 为什么
sudo hcitool lecc <bdaddr>
部分连接,即使超时?
非常感谢。
hcitool lecc <bdaddr>
创建一个连接和returns一个句柄,而gatttool -b <bdaddr> -I
只打开一个交互式终端,接口绑定到地址但尚未连接。要使用 gatttool
命令进行连接,您必须输入 connect
,这很可能也会失败。
我建议查看 hcitool
如何连接以编写您自己的代码,因为所有 gatttool
只是围绕 hcitool
使用的相同进程的包装器,但它的包装器是除非您复制其代码,否则不可用。
最后,hcitool
报告的句柄 0 是尝试连接时留下的无效句柄,因为据我所知,所有有效句柄都大于 0。