C 如何限制通过蓝牙连接到设备的手机数量?

C 如何限制通过蓝牙连接到设备的手机数量?,c,linux,bluetooth,bluez,C,Linux,Bluetooth,Bluez,应用场景: android应用程序通过蓝牙和一些数据传输连接到嵌入式设备。每时每刻,只有一个应用程序可以控制并向嵌入式设备发送数据 发展环境: linux、c/c++、bluez堆栈、cmdline工具,如bluetoothctl Bluetooth 4.0允许多个从属设备在蓝牙微微网中与主设备通信 那么如何限制连接到嵌入式设备的手机数量呢?使用蓝牙4.0,一个从设备只能连接到一个主设备。另一方面,主设备可以有多个从属设备(例如,在微微网中,您的Android设备可以连接到8个或更多从属设备,但

应用场景:

android应用程序通过蓝牙和一些数据传输连接到嵌入式设备。每时每刻,只有一个应用程序可以控制并向嵌入式设备发送数据

发展环境:

linux、c/c++、bluez堆栈、cmdline工具,如bluetoothctl

Bluetooth 4.0允许多个从属设备在蓝牙微微网中与主设备通信


那么如何限制连接到嵌入式设备的手机数量呢?

使用蓝牙4.0,一个从设备只能连接到一个主设备。另一方面,主设备可以有多个从属设备(例如,在微微网中,您的Android设备可以连接到8个或更多从属设备,但如果从属设备是4.0设备,则无法连接到另一个主设备)

Bluetooth 4.1中引入了一个从设备可以连接到多个主设备的功能,称为LE链路层拓扑。在此功能之前,从机只能有一个连接

因此,为了回答您的问题,您不需要做任何事情来限制可以连接到嵌入式设备的手机数量。一旦连接了电话,您的嵌入式设备将无法接受任何其他传入的可扩展连接

最后,实际上有一种方法可以确保您的从设备只连接到一个主设备,而不管使用的是什么版本的蓝牙。这是通过在连接中禁用广告来实现的。广告是接受传入连接的唯一方式,如果您的设备没有广告,则远程设备甚至看不到广告

有关更多信息,请参阅蓝牙规范v5.1,第6卷,B部分,第1.1节链路层状态

我希望这有帮助