将一个蓝牙设备连接多个设备

6
我知道一个主设备可以连接多个蓝牙设备。我的问题很简单:单个带有单个MAC地址的蓝牙芯片能否作为多个客户端连接到另一个蓝牙设备?基本上,如果不可能接受具有相同MAC地址的多个蓝牙客户端,那么客户机计算机是否可以使用不同的伪造地址进行连接?例如,我正在编写模拟Wii/WiiU的Wiimote软件。我希望使用单个蓝牙USB Dongle模拟多个Wiimote。如果需要黑客技巧,则首选C或C ++代码。最好是针对Windows平台。请在任何答案中提供详细说明。
2个回答

1
我不确定您在问什么,但是:
蓝牙网络称为piconet,piconet必须有至少2个设备和最多8个设备(7个从设备和1个主设备)。一个设备可以是一个或多个piconet的成员,但他只能是其中一个的主设备,这个设备被称为桥接器,因为它将更多的piconet混合在一个scatternet中。
因此,您可以将单个蓝牙芯片与多个蓝牙设备连接,但我认为您无法将同一设备A作为多个客户端连接到同一个主设备M,因为当主设备M开始查询阶段时,A将仅响应一次他的MAC地址和时钟偏移量,稍后在页面阶段期间,M和A将建立一个连接。

1

蓝牙HID规范v1.0

4.4 主机上的多个设备/设备上的多个主机

蓝牙HID不应限制每个主机连接的设备数量(最多允许七个同时活动设备与一个piconet连接)。如果主机需要,所有受信任的设备(已经进行身份验证或无需安全程序的设备)都应被允许与主机同时连接。例如,允许多个蓝牙鼠标和键盘。在这种情况下,行为应与USB情况相同; 即允许来自所有设备的输入,并将数据流逻辑OR在一起。

同样,一个蓝牙HID设备可能已经与多个主机建立了绑定关系或者它的地址已知。但是,如果它声明自己是虚拟电缆连接的,那么该设备必须仅支持单个主机连接,并且每次仅支持与该主机建立一个控制和一个中断L2CAP通道(请参阅SDP属性HIDVirtualCable)。如果该设备没有声明自己是虚拟电缆连接的,则仍建议该设备一次只支持单个主机连接,即一次最多只能打开一个SDP、控制和中断通道。实现虚拟电缆功能的蓝牙HID设备应具有足够的资源来记住至少两个主机,建议记住四个主机,以便稍后重新连接时无需输入密码。

单个主机和单个客户端之间的多个SPP服务连接确实可以工作。但是,不确定HID是否也允许这样做。看起来蓝牙规范不推荐这样做,这表明BT堆栈可能有不同的允许项。从经验来看,HID主机似乎会覆盖某些蓝牙安全设置,可能违反了标准。因此,唯一确定的方法似乎是尝试一下。 - KC Wirefree

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