您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在python中将蓝牙设备与Passkey / Password配对-RFCOMM(Linux)

在python中将蓝牙设备与Passkey / Password配对-RFCOMM(Linux)

最后,我能够使用PyBlueZ连接到设备。我希望这个答案将来能对其他人有所帮助。我尝试了以下方法

首先,导入模块并发现设备。

import bluetooth, subprocess
nearby_devices = bluetooth.discover_devices(duration=4,lookup_names=True,
                                                      flush_cache=True, lookup_class=False)

当发现要连接的设备时,您需要知道端口,地址和密钥。有了这些信息,请执行以下操作:

name = name      # Device name
addr = addr      # Device Address
port = 1         # RFCOMM port
passkey = "1111" # passkey of the device you want to connect

# kill any "bluetooth-agent" process that is already running
subprocess.call("kill -9 `pidof bluetooth-agent`",shell=True)

# Start a new "bluetooth-agent" process where XXXX is the passkey
status = subprocess.call("bluetooth-agent " + passkey + " &",shell=True)

# Now, connect in the same way as always with PyBlueZ
try:
    s = bluetooth.BluetoothSocket(bluetooth.RFCOMM)
    s.connect((addr,port))
except bluetooth.btcommon.BluetoothError as err:
    # Error handler
    pass

现在,您已连接!!您可以将套接字用于所需的任务:

s.recv(1024) # Buffer size
s.send("Hello World!")

官方PyBlueZ文档可在此处获得

python 2022/1/1 18:28:31 有478人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶