【问题标题】:Connecting multiple devices to bluetooth in Android在Android中将多个设备连接到蓝牙
【发布时间】:2013-04-22 09:03:31
【问题描述】:

到目前为止,据我所知,它可以通过您的 android 手机与多个设备进行通信。但我的情况是我想连接两个“相似”的设备。

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

现在的情况是,我正在为游戏编程,其中物理枪将通过蓝牙连接到手机(以跟踪射击等)。好的,在这里我可以要求枪支供应商为所有枪支硬编码一个 UUID,并且手机一次可以连接到 1 支枪。这很容易。

要求是,用户可能拥有超过 1 支枪!有人可以告诉我如何管理这个,如果我为所有枪硬编码一个 UUID,那么我不确定如何连接多支枪。如果我没有对枪芯片中的 UUID 进行硬编码,我如何找到要连接的 UUID?

【问题讨论】:

    标签: android bluetooth connection uuid


    【解决方案1】:

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

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

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

    【讨论】:

    • 为什么您认为正常的客户端连接不起作用,在这种情况下我们必须使用BluetoothServerSocket
    • 使用蓝牙,一台设备需要作为服务器,而其他设备需要作为客户端。我的建议是将手机用作服务器,将枪支用作客户端。您的具体用例可能会有所不同。
    • 我也有类似的用例,但我只是想确认将手机作为服务器是否提供同时与其他蓝牙硬件设备传输数据的功能。如果你能提供一个具体的例子,那将非常有帮助。
    • Android Bluetooth documentation 有一些示例可以为您提供一个很好的起点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-02
    • 1970-01-01
    • 1970-01-01
    • 2013-04-11
    • 1970-01-01
    • 2010-10-21
    • 2014-08-08
    相关资源
    最近更新 更多