我有一个Linux C应用程序,它需要与BLE设备建立多个连接。该应用程序使用从gatttool剥离的库。 BLE设备的广告费率非常低,因此需要很长时间才能建立连接。因此,我需要能够同时发出多个gatt_connect请求。使用BlueZ同时建立多个BLE连接
gatt_connect使用标准套接字/连接来建立到设备的L2CAP连接。虽然此方法允许您拥有多个活动连接,但它只允许您一次建立一个连接。使用HCI接口,您可以同时建立多个接口(即hcitool lecc --whitelist),但是我无法想出一个方法使它与gattool库L2CAP套接字/连接一起工作。
任何人都可以提出一种方法来集成gattool L2CAP套接字/连接与hci接口(hci_open_dev/hci_le_create_conn)处理使用的“hcitool lecc --whitelist”,或一种方法来同时建立多个连接?
为什么不使用DBUS接口的任何原因?这是支持的接口,并且很容易同时建立多个连接(一旦你通过DBUS学习曲线)。 – kaylum
不幸的是,我必须在标准的ubuntu 14.04.03 LTS(bluez 4.101)和Intel Edison(bluez 5.x)上运行代码。 Ubuntu的bluez版本是4.101,据我的理解,它不能正确支持蓝色的dbus(或者至少不支持5.x的相同方式)。我也明白,关贸总协定仍然是试验性和经常变化的。 –
@mw。 :我也在尝试类似的东西。我想知道你的项目的状态。 – abhiarora