在BlueZ中是否有一种方法可以创建具有多个连接的BLE设备?

3
我正在使用以下命令在Linux中广播BLE广告:
```bash ```
sudo hcitool -i hci0 cmd 0x08 0x0008 1E 02 01 1A 1A FF 4C 00 02 15 63 6F 3F 8F 64 91 4B EE 95 F7 D8 CC 64 A8 63 B5 00 00 00 00 C8

BLE设备可见,但不允许任何连接(因为它遵循iBeacon规范,我想)。 那么我的问题是,是否有一种方法可以使用BlueZ创建一个允许多个连接而不仅仅是一个连接的BLE设备? 我在某个地方读到,BLE设备应该能够允许最多20个连接,而经典蓝牙只支持7个。

非常感谢

1个回答

3
这取决于您的硬件和支持的蓝牙版本。使用蓝牙v4.1,所有限制都已被取消,您的设备可以成为连接到多个中心设备的外围设备。这在此链接中有提到:-
从规范的4.1版本开始,对角色组合的任何限制都已被删除,以下均可实现:
- 设备可以同时充当中央设备和外围设备。 - 中央设备可以连接到多个外围设备。 - 外围设备可以连接到多个中央设备。 - 规范的早期版本将外围设备限制为单个中央设备连接(尽管反之不然),并且限制了角色组合。
您可以通过hciconfig -a查找设备的蓝牙版本。
hci0:   Type: Primary  Bus: USB
    BD Address: 00:11:22:33:44:55  ACL MTU: 310:10  SCO MTU: 64:8
    UP RUNNING 
    RX bytes:736 acl:0 sco:0 events:57 errors:0
    TX bytes:5366 acl:0 sco:0 commands:57 errors:0
    Features: 0xff 0xff 0xcf 0xfe 0xdb 0xff 0x5b 0x87
    Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 
    Link policy: RSWITCH HOLD SNIFF PARK 
    Link mode: SLAVE ACCEPT 
    Name: 'uknown'
    Class: 0x1c0000
    Service Classes: Rendering, Capturing, Object Transfer
    Device Class: Miscellaneous, 
    **HCI Version: 4.0 (0x6)  Revision: 0x22bb**
    LMP Version: 4.0 (0x6)  Subversion: 0x22bb
    Manufacturer: Cambridge Silicon Radio (10)

我建议在Linux上使用bluetoothctl工具来进行广告推送,而不是通过hcitool进行操作,因为hcitool已经过时且不太用户友好。有关使用bluetoothctl进行广告推送和接受传入连接的更多信息可以在此处找到:


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接