蓝牙 - 即使在 Python 的 Linux 设备中也能监听配对

Dan*_*elY 4 python linux bluetooth rfcomm

我对蓝牙还很陌生,所以这可能是微不足道的,但我仍然会问:

我想通过蓝牙连接 2 个设备 - 一个带有 Linux 设备的移动设备(例如 Raspberry Pi,但另一个......)。

第 1 面 - 移动设备:它有一个应用程序,应与 Linux 设备配对,并向其发送一些数据(此时带有“Hello”的消息)。

第 2 面 - Linux 设备:它应该有一种侦听器来监听设备通过蓝牙连接到它的事实,然后期待数据、接收数据并处理它。

第 1 面对我来说一切都很好且清晰。

至于第二面,目前我只使用一些命令行命令来打开蓝牙,为设备设置一些名称,然后等待扫描。我使用“hciconfig”来完成此操作,在 Python 脚本中依次运行以下命令:

hciconfig hci0 up
hciconfig hci0 name MyDevice
hciconfig hci0 sspmode 1
hciconfig hci0 piscan
Run Code Online (Sandbox Code Playgroud)

此时,我的设备可以被我的手机发现,并且可以成功配对。现在,我被听力部分困住了。我希望 Linux 设备在设备配对时运行某个功能(更喜欢在 Python 中),并期望从中接收数据。我使用 RFCOMM 和 Bluez 在网上阅读了一些链接,但没有成功......

有人可以帮忙吗?谢谢

小智 5

早上好,有一个用 Python 编写的库,可以处理蓝牙连接,您可以PyBluez 安装使用sudo pip install pybluez 这里是一个关于如何使用套接字与蓝牙设备通信的示例

import bluetooth
bd_addr = "01:23:45:67:89:AB"
port = 1
sock=bluetooth.BluetoothSocket( bluetooth.RFCOMM )
sock.connect((bd_addr, port))
sock.send("hello!!")
sock.close()
Run Code Online (Sandbox Code Playgroud)

完整的指南位于使用 PyBluez 进行蓝牙编程 `