连接bluez后继续投放广告

时间:2019-05-21 10:54:32

标签: bluetooth-lowenergy bluez

我已使用hcitool在bluez中设置了广告,设备已按预期播种。

设置如下:

#advertising
sudo hcitool -i hci0 cmd 0x08 0x0008 18 02 01 06 02 0a 00 11 07 9e ca dc 24 0e e5 a9 e0 93 f3 a3 b5 01 00 40 6e 00 00 00 00 00 00 00
#scan response
sudo hcitool -i hci0 cmd 0x08 0x0009 0d 0c 09 6f 6f
#setup advertising interval
sudo hcitool -i hci0 cmd 0x08 0x0006 80 02 c0 03 00 00 00 00 00 00 00 00 00 07 00
#turn advertising on
sudo hcitool -i hci0 cmd 0x08 0x000a 01

连接设备后,广告消失了。我该如何继续进行广告宣传?

我做了一个变通方法,反复调用sudo hcitool -i hci0 cmd 0x08 0x000a 01

另一个问题是如何使用d-bus界面设置上面的广告。

ps。 在Bluetooth specification 5.0 (Core_v5.0.pdf), 7.8.5 LE Set Advertising Parameters command p.1321

中找到了许多信息

1 个答案:

答案 0 :(得分:0)

当设备状态从广告状态变为接受传入连接时,大多数堆栈/实现(包括BlueZ)将自动关闭广告。原因是,根据堆栈的链路层状态(请参见下图,这是可用的蓝牙规范v5.1,第6卷,B部分,第1.1节:链路层状态),设备的状态应从<由于设备不能同时处于两种不同的状态,因此strong>将广告更改为已连接

enter image description here

但是,一旦建立连接,您就可以按照手动操作重新启动广告。请查看下面的答案以获取更多信息:-

Link Layer state for more than one simultaneous connection

我希望这会有所帮助。