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

时间:2016-07-11 08:43:51

标签: python linux bluetooth rfcomm

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

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

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

Side 2 - linux设备:它应该有一种监听器,通过蓝牙连接设备,然后期待数据,接收和处理它。

第一面对我来说很清楚。

至于第2部分,现在我只使用一些命令行命令打开蓝牙,为设备设置一些名称,然后等待扫描。我使用“hciconfig”,通过在Python脚本中依次运行以下命令来实现:

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

此时,我的设备可以发现我的手机,并成功配对。现在,我坚持听部分。我希望linux设备在设备配对时运行某个功能(在Python中更喜欢),并期望从中接收数据。我已经通过网络阅读了一些链接,使用了RFCOMM和Bluez,但都没有成功......

有人可以帮忙吗? 感谢

1 个答案:

答案 0 :(得分:3)

早上好,有一个用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 `