2013-04-28 58 views
4

到目前为止,我知道它可能从您的android手机与多个设备进行通信。但我的情况是,我想连接两个“类似”的设备。在Android中将多个设备连接到蓝牙

我的理解是,如果我需要连接2个设备,我需要使用不同的UUID,蓝牙聊天应用程序建议硬编码UUID。

现在的情景是,我正在为一款游戏进行编程,其中物理枪将通过蓝牙连接到手机(以跟踪拍摄等)。在这里,我可以要求枪支供应商对所有枪支的UUID进行硬编码,并且电话可以一次连接1把枪。

要求是,用户可能有更多的1枪!有人可以告诉我如何管理这个,如果我硬编码所有枪的单个UUID然后我不知道如何连接多枪。如果我没有对枪芯片中的UUID进行硬编码,我该如何找到UUID连接?

回答

6

UUID不是唯一的设备标识符; UUID是Bluetooth Service Discover Protocol用来识别蓝牙设备正在使用的协议的唯一标识符。 Bluetooth.org has a list of common UUIDs

假设你知道或可以控制枪支中的UUID(听起来你可以),那么你可以使用set up the phone as the Bluetooth server(使用与枪支相同的UUID)。枪然后connect as the clients使用相同的UUID(我知道枪可能不使用Android,但有一些示例代码可能会有所帮助)。

当然,您可能需要翻转客户端/服务器模型以满足您的特定需求。您应该能够根据需要制作尽可能多的这些服务器和客户端线程(在您的硬件强加的连接设备数量的限制范围内)。

+0

为什么你认为一个普通的客户端连接不起作用,我们必须在这种情况下使用'BluetoothServerSocket' – Prateek 2014-06-17 11:08:26

+0

对于蓝牙,一台设备需要成为一台服务器,其他设备需要成为客户端。我的建议是将手机用作服务器,将枪支用作客户端。您的具体使用情况可能会有所不同。 – 2014-06-17 12:10:46

+0

我也有类似的用例,但我只想确认是否将手机作为服务器提供了同时向其他蓝牙硬件设备传输数据的功能。如果你能提供一个具体的例子,那么这将是非常有用的。 – Prateek 2014-06-17 12:25:13