python:bluetootherror:(111,'连接拒绝')

时间:2017-12-06 12:35:57

标签: python bluetooth

大家好!

通过蓝牙将手机连接到树莓派3似乎有问题。 我认为我的代码有问题。

这是我的代码

import bluetooth

from bluetooth import  *

serverMAC = 'xx:xx:xx:xx:xx:xx'

port = 1

s = blutooth.BluetoothScocket(bluetooth.RFCOMM)

s.connnect((serverMAC, port)

我想从手机收到Raspberry Pi的价值。

bluetooth.btcommon.BluetoothError: (111, 'Connection refused')

1 个答案:

答案 0 :(得分:2)

在尝试下面的代码之前,请确保脚本运行设备上的BT适配器已打开且目标蓝牙设备处于可发现模式(它的适配器已打开,并且它的广播功能发现)。

确保为目标设备使用正确的端口。您可以通过在可用设备上运行发现,然后将MAC匹配到找到的设备之一并在地址上发出find_service来实现。来源:Sending messages or datas with bluetooth via python

在本地计算机上尝试过此操作,请注意MAC将会更改,配置文件也会更改,因此如果您希望RFCOMM确保您的设备在尝试连接之前公开它:

from bluetooth import *
devices = discover_devices()
for device in devices:
    print([_ for _ in find_service(address=device) if 'RFCOMM' in _['protocol'] ])
# now manually select the desired device or hardcode its name/mac whatever in the script
bt_addr = ...
port = [_ for _ in find_service(address=bt_addr) if 'RFCOMM' in _['protocol']][0]['port']
s = BluetoothSocket(RFCOMM)
s.connect((bt_addr, port))