通过蓝牙连接 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 建立蓝牙连接,请避免使用该命令。
我创建了一个自定义应用程序以通过蓝牙连接到我的 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 建立蓝牙连接,请避免使用该命令。