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

Bluetooth - listening to a pairing even in a Linux device in Python

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

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

第 1 方 - 手机:它有一个应与 Linux 设备配对的应用程序,并向它发送一些数据(此时带有 "Hello" 的消息)。

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

第 1 面对我来说很好,很清楚。

至于第 2 面,目前我只使用一些命令行命令打开蓝牙,为设备设置一些名称,然后等待扫描。我使用 "hciconfig",通过 运行 在 Python 脚本中一个接一个地执行以下命令:

hciconfig hci0 up
hciconfig hci0 name MyDevice
hciconfig hci0 sspmode 1
hciconfig hci0 piscan

此时,我的设备可以被我的手机发现并成功配对。现在,我被困在听力部分。我希望 linux 设备在配对时 运行 某个功能(首选 Python),并期望从中接收数据。我已经使用 RFCOMM 和 Bluez 在网上阅读了一些链接,但是 none 成功了...

有人可以帮忙吗? 谢谢

早上好,已经有一个用 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()

完整指南位于 Bluetooth Programming with PyBluez `