无法将插座连接到蓝牙配对设备
can't connect a socket to bluetooth paired device
我正在尝试将我的 Raspberry Pi 3B 连接到具有 HC-05 蓝牙芯片以发送命令的 Arduino。
我已经使用
在 HC-05 和 Pi 之间成功配对
Device 98:7B:F3:57:76:34
Name: BT05
Alias: BT05
Paired: yes
Trusted: yes
Blocked: no
Connected: yes
LegacyPairing: no
UUID: Generic Access Profile (00001800-0000-1000-8000-00805f9b34fb)
UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)
UUID: Device Information (0000180a-0000-1000-8000-00805f9b34fb)
UUID: Unknown (0000ffe0-0000-1000-8000-00805f9b34fb)
Modalias: bluetooth:v000Dp0000d0110
现在我正在尝试使用 Python 发送命令。我的代码是:
import bluetooth
bd_addr = "98:7B:F3:57:76:34"
def connect ():
port = 1
sock=bluetooth.BluetoothSocket(bluetooth.RFCOMM)
print("Trying to pair to", bd_addr)
sock.connect((bd_addr, port))
a = "a"
while a != 'quit':
a = input("<<< ")
sock.send(a)
sock.close()
connect()
我在运行代码中出现异常,说是主机挂了,我找不到问题所在:
python3 tests/bt.py
Trying to pair to 98:7B:F3:57:76:34
Traceback (most recent call last):
File "<string>", line 3, in connect
_bluetooth.error: (112, 'Host is down')
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "tests/bt.py", line 16, in <module>
connect()
File "tests/bt.py", line 9, in connect
sock.connect((bd_addr, port))
File "<string>", line 5, in connect
bluetooth.btcommon.BluetoothError: (112, 'Host is down')
我已经尝试更换 HC-05 设备并重新启动蓝牙服务和 Pi,但我似乎仍然无法连接到 Arduino,我迷路了。
感谢所有帮助者
我通过两件事解决了这个问题:
首先,我的5个HC-05模块只有一个可以,这使得解决另一半问题变得非常困难。
另一个解决方案来自 post。
我更改了
中的 class 部分
/etc/bluetooth/main.conf
至:
Class = 0x400100
就是这样。我什至不需要在重新启动(Arduino 或 Pi)后配对我的设备。此代码连接 Pi 和 Arduino 并发送所有命令。
我正在尝试将我的 Raspberry Pi 3B 连接到具有 HC-05 蓝牙芯片以发送命令的 Arduino。 我已经使用
在 HC-05 和 Pi 之间成功配对Device 98:7B:F3:57:76:34
Name: BT05
Alias: BT05
Paired: yes
Trusted: yes
Blocked: no
Connected: yes
LegacyPairing: no
UUID: Generic Access Profile (00001800-0000-1000-8000-00805f9b34fb)
UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)
UUID: Device Information (0000180a-0000-1000-8000-00805f9b34fb)
UUID: Unknown (0000ffe0-0000-1000-8000-00805f9b34fb)
Modalias: bluetooth:v000Dp0000d0110
现在我正在尝试使用 Python 发送命令。我的代码是:
import bluetooth
bd_addr = "98:7B:F3:57:76:34"
def connect ():
port = 1
sock=bluetooth.BluetoothSocket(bluetooth.RFCOMM)
print("Trying to pair to", bd_addr)
sock.connect((bd_addr, port))
a = "a"
while a != 'quit':
a = input("<<< ")
sock.send(a)
sock.close()
connect()
我在运行代码中出现异常,说是主机挂了,我找不到问题所在:
python3 tests/bt.py
Trying to pair to 98:7B:F3:57:76:34
Traceback (most recent call last):
File "<string>", line 3, in connect
_bluetooth.error: (112, 'Host is down')
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "tests/bt.py", line 16, in <module>
connect()
File "tests/bt.py", line 9, in connect
sock.connect((bd_addr, port))
File "<string>", line 5, in connect
bluetooth.btcommon.BluetoothError: (112, 'Host is down')
我已经尝试更换 HC-05 设备并重新启动蓝牙服务和 Pi,但我似乎仍然无法连接到 Arduino,我迷路了。
感谢所有帮助者
我通过两件事解决了这个问题: 首先,我的5个HC-05模块只有一个可以,这使得解决另一半问题变得非常困难。
另一个解决方案来自
/etc/bluetooth/main.conf
至:
Class = 0x400100
就是这样。我什至不需要在重新启动(Arduino 或 Pi)后配对我的设备。此代码连接 Pi 和 Arduino 并发送所有命令。