通过蓝牙连接 Android phone 和 Raspberry Pi 时使用自定义 UUID

Using a custom UUID when connecting an Android phone and a Raspberry Pi through bluetooth

我创建了一个自定义应用程序以通过蓝牙连接到我的 Raspberry Pi。它所做的只是扫描蓝牙设备并通过 RFCOMM 套接字连接到它们。

根据 this Android 文档,在我的应用程序上使用众所周知的 SPP UUID 创建套接字时,我有以下代码。

val uuid: UUID = UUID.fromString("00001101-0000-1000-8000-00805f9b34fb")
device.createRfcommSocketToServiceRecord(uuid)

一切正常!

问题是,我希望只有那些使用我的应用程序的人(那些已经通过我的身份验证的人)才能连接到我的Raspberry Pi。

是否可以为 Raspberry 的 RFCOMM 服务器设置自定义 UUID?

编辑:

我通过使用 pybluez 模块中的 this example code 取得了一些进展。但是,现在发生的情况是,我可以使用两个不同的 UUID 建立连接,一个是我在 python 脚本中设置的,另一个是默认的众所周知的 SPP UUID。

我怎样才能让它只与我设置的那个一起工作?

我又一次回答了我自己的问题。很高兴这次没花我太长时间。

我 运行 sdptool add SP 作为 Raspberry Pi 蓝牙设置过程的一部分,我曾将该命令视为对多个不同线程的建议。这很有趣,因为预期的 UUID 不会被覆盖,它只是在同一个 RFCOMM 通道上等待它们中的任何一个。

无论如何,如果您尝试使用自己的 UUID 建立蓝牙连接,请避免使用该命令。