Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Raspberry pi bluez5 ble广告在首次连接后停止_Raspberry Pi_Bluetooth Lowenergy_Bluez - Fatal编程技术网

Raspberry pi bluez5 ble广告在首次连接后停止

Raspberry pi bluez5 ble广告在首次连接后停止,raspberry-pi,bluetooth-lowenergy,bluez,Raspberry Pi,Bluetooth Lowenergy,Bluez,我们不清楚bluez5中leadv命令的功能。 连接到设备并再次断开连接后,无法重新连接到同一设备。只有在再次呼叫leadv后才能重新连接 我们在各种平台(raspberrypi、x86)和各种版本的bluez5(5.15、5.16、5.18、5.21)以及broadcom和csr的bt加密狗上复制了这种行为 是否可以在不重新读取的情况下重新连接多次 Bluetooth with gatt服务器正在运行 我们发出了以下命令 hciconfig hci0 up hciconfig hci0 nos

我们不清楚bluez5中leadv命令的功能。 连接到设备并再次断开连接后,无法重新连接到同一设备。只有在再次呼叫leadv后才能重新连接

我们在各种平台(raspberrypi、x86)和各种版本的bluez5(5.15、5.16、5.18、5.21)以及broadcom和csr的bt加密狗上复制了这种行为

是否可以在不重新读取的情况下重新连接多次

Bluetooth with gatt服务器正在运行

我们发出了以下命令

hciconfig hci0 up
hciconfig hci0 noscan
hciconfig hci0 name foo
hciconfig hci0 leadv 0

我有完全相同的问题

有趣的是,在断开连接的过程中,“hcidump”不会显示bluez向蓝牙控制器发出的任何命令,这表明它关闭了广告

我正在使用此解决方法在设备断开连接后立即重新启用广告:

sudo dbus-monitor --system --profile | grep --line-buffered --only-matching InterfacesRemoved | xargs -n1 -I % sudo /home/pi/bluez/bluez-5.25/tools/hciconfig hci0 leadv 0
说明:

  • 由于dbus监视器不刷新其输出,因此需要使用'--line buffered'
  • “-I%”使xargs不会将grep'd“InterfaceRemoved”附加到已执行的命令中

事实证明,实际上可以自动重新启用广告,但它似乎只适用于选定的bluez/内核组合。我们最终让它与Bluez5.21和raspberry pi内核3.16一起为broadcom和csr软件狗工作。此后,我们再也没有尝试过其他组合,因为不久之后,我们就切换到了定制硬件(TI CC2451)