bluez:与5的连接错误
我得到上面的bluez:与5的连接错误,bluez,bluetooth-lowenergy,Bluez,Bluetooth Lowenergy,我得到上面的errno=5表单,这意味着该命令尚未收到,并且未在主机控制器中处理 谁能告诉我哪里错了吗 我想将蓝牙智能设备与linux计算机连接,但无法正常工作。 下面是功能的参数 hci_le_create_conn(device,htobs(0x0010),htobs(0x0010),0,0, peeraddr,0,15,15,0,3200,1,1,0,1000); 在运行函数之前,我应该先运行sudo hciconfig hci0 down和su
errno=5
表单,这意味着该命令尚未收到,并且未在主机控制器中处理
谁能告诉我哪里错了吗
我想将蓝牙智能设备与linux计算机连接,但无法正常工作。
下面是功能的参数
hci_le_create_conn(device,htobs(0x0010),htobs(0x0010),0,0,
peeraddr,0,15,15,0,3200,1,1,0,1000);
在运行函数之前,我应该先运行
sudo hciconfig hci0 down
和sudo hciconfig hci0 up
无论如何,我已成功连接到我的BLE设备 使用蓝牙守护程序重置硬件:
sudobluetoothctl
关闭电源
开机
我相信BlueZ正在逐步淘汰
hciconfig
和hcitool
等工具。可以找到更多信息。您真的必须使用hci_库而不是DBUS接口吗?hci_lib不受官方支持,沿着这条路线走只是通往pain IMHO的一条途径(我之前已经对其进行了评估)。@kaylum-DBUS接口是否允许访问非标准和/或不属于概要文件的GATT属性?当我开始使用Bluez时,有人告诉我不能用DBUS实现这一点,所以我最终使用了内核调用(这就是共享库最终所做的)。@TimTisdall是的,它做到了。两三个月前。新版本现已上市。但是它在技术上仍然是实验性的,并且通过将-E传递给Bluetooth来实现。我已经用过了,而且效果很好。请查看我的附带答案,并获取有关DBus接口的更多信息!我很确定这就是hciconfig hci0 reset
所做的。检查hciconfig hci0 reset的源代码,并在您的程序中实现类似的功能,因此每次您不需要从命令行hciconfig
发出命令时,它都将从BlueZ中逐步淘汰,就像hcitool
等。它利用原始套接字调用。请不要推荐这些作为答案。
int hci_le_create_conn(int dd, uint16_t interval, uint16_t window,
uint8_t initiator_filter, uint8_t peer_bdaddr_type,
bdaddr_t peer_bdaddr, uint8_t own_bdaddr_type,
uint16_t min_interval, uint16_t max_interval,
uint16_t latency, uint16_t supervision_timeout,
uint16_t min_ce_length, uint16_t max_ce_length,
uint16_t *handle, int to)