Bluetooth 仅使用hcitool连接LE设备的步骤

Bluetooth 仅使用hcitool连接LE设备的步骤,bluetooth,bluetooth-lowenergy,Bluetooth,Bluetooth Lowenergy,我对hcitool感到困惑,因为“lescan”工作正常,但“lecc”给了我“暂停”。 请帮助我,如果任何人有正确的步骤“如何连接设备使用hcitool” 我不想使用gatttool或bluetoothctl工具 我的目标是连接以参考hcitool代码,并编写自己的代码以连接ble传感器 若任何人使用“hci_le_create_conn”连接到ble设备的代码正常工作。请给我解释一下 是否需要任何身份验证?如果是,请给我hci相关的api 日志: 命令: hcitool lecc——随机52

我对hcitool感到困惑,因为“lescan”工作正常,但“lecc”给了我“暂停”。 请帮助我,如果任何人有正确的步骤“如何连接设备使用hcitool”

我不想使用gatttool或bluetoothctl工具

我的目标是连接以参考hcitool代码,并编写自己的代码以连接ble传感器

若任何人使用“hci_le_create_conn”连接到ble设备的代码正常工作。请给我解释一下

是否需要任何身份验证?如果是,请给我hci相关的api

日志:

命令:
hcitool lecc——随机52:B8:47:55:C5:9A
输出:
无法创建连接:连接超时
sudo btmon输出:
@原始打开:hcitool(特权)版本2.22{0x0003}[hci0]183.156045
HCI事件:命令状态(0x0f)plen 4#203[hci0]183.158026
LE创建连接(0x08 | 0x000d)ncmd 1
状态:成功(0x00)
@原始打开:hciconfig(特权)版本2.22

hcitool
是BlueZ维护人员使用的八种工具之一。最接近的替代品可能是
btmgmt

一般的指导是,当HCI绕过系统上运行的蓝牙守护进程时,可以使用更好的API与BlueZ交互

在编写此代码时,推荐的API为管理界面:

或D-Bus API:

您没有说要用哪种语言编写代码,但大多数语言都有DBus库,这会有所帮助。下面是一个使用Python执行此操作的示例:

导入pydbus
#设备特定值的设置
dev_id='DE:82:35:E7:CE:BE'
#DBus对象路径
bluez_服务='org.bluez'
适配器路径='/org/bluez/hci0'
device_path=f“{adapter_path}/dev_{dev_id.replace(':','''.')}”
总线=pydbus.SystemBus()
adapter=bus.get(bluez_服务,适配器路径)
device=bus.get(bluez_服务,设备路径)
#假设设备已配对,因此可以使用connect
device.Connect()

您能在另一个终端上运行“sudo btmon”并在这里发布该终端的输出吗?这只是为了找出“hcitool lecc”失败的原因。我更新了日志,请检查。这是完整的日志吗?它似乎缺少一些数据,因为上面提到的“超时”没有日志。如果这确实是完整的日志,您可以重试该命令吗?如果硬件出现问题,也可以在这之前尝试“hciconfig hci0 reset”。我想要hci le connect api的c代码。以及替换hci_le_create_conn API。正在使用hci总线。您也可以在扫描btmgmt后编写连接步骤。查看:是否类似于添加设备-a 2-t 2 DE:82:35:E7:CE:beOk thahks以获取建议。
command :
hcitool lecc --random 52:B8:47:55:C5:9A  
 output:
Could not create connection: Connection timed out

sudo btmon output :
@ RAW Open: hcitool (privileged) version 2.22                                                                              {0x0003} [hci0] 183.156045
< HCI Command: LE Create Connection (0x08|0x000d) plen 25                                                                      #202 [hci0] 183.156918
        Scan interval: 2.500 msec (0x0004)
        Scan window: 2.500 msec (0x0004)
        Filter policy: White list is not used (0x00)
        Peer address type: Random (0x01)
        Peer address: 52:B8:47:55:C5:9A (Resolvable)
        Own address type: Public (0x00)
        Min connection interval: 18.75 msec (0x000f)
        Max connection interval: 18.75 msec (0x000f)
        Connection latency: 0 (0x0000)
        Supervision timeout: 32000 msec (0x0c80)
        Min connection length: 0.625 msec (0x0001)
        Max connection length: 0.625 msec (0x0001)
> HCI Event: Command Status (0x0f) plen 4                                                                                      #203 [hci0] 183.158026
      LE Create Connection (0x08|0x000d) ncmd 1
        Status: Success (0x00)
@ RAW Open: hciconfig (privileged) version 2.22