与 RPi 建立成功的蓝牙连接
Making a successful Bluetooth Connection to RPi
我的电脑上有一个 RPi 和一个普通的 Debian,它们都使用蓝牙 Python 模块进行通信。两者都有一些蓝牙 USB 加密狗。
我可以将电脑用作服务器,将树莓派用作客户端,这种连接效果很好。但是我不能反之亦然,我检查了我的 rfcomm.conf
和 main.conf
,但两者似乎都没问题。
还有其他陷阱吗?
#Server.py
import bluetooth
server_sock=bluetooth.BluetoothSocket( bluetooth.RFCOMM )
port = 1
server_sock.bind(("",port))
server_sock.listen(1)
client_sock,address = server_sock.accept()
print "Accepted connection from ",address
data = client_sock.recv(1024)
print "received [%s]" % data
client_sock.close()
server_sock.close()
#Client.py
import bluetooth
bd_addr = #myspecificmacaddress
port = 1
sock=bluetooth.BluetoothSocket( bluetooth.RFCOMM )
sock.connect((bd_addr, port))
sock.send("hello!!")
sock.close()
所以更准确地说:RPi 上的 运行 Client.py
和 PC 上的 Server.py
工作正常,反之亦然,显然更正 MAC,简单地说: bluetooth.btcommon.BluetoothError: (112, 'Host is down')
原来我的配置文件不太好。 (它必须对配置文件做些什么)
/etc/bluetooth/main.conf
有一个 class 部分。 /var/lib/bluetooth/XX:XX:XX:XX:XX:XX/config
也有一个 class 部分。
我不知道为什么,我不知道实际发生了什么,因为你无法在互联网上找到任何关于这个的信息,但是设置 both 到0x400100
修复了它。我不知道他们是否只需要匹配,或者这是我偶然想到的一些特别的东西,但它有效,我真的不想再破坏它了。
也许对此有更多了解的人愿意在这里改进我的回答。
我知道这是一个旧的post,但只是为了其他可能需要它的人,同样的事情发生在我身上,所以我不得不这样做:
$ sudo hciconfig hci0 piscan
现在它可以被发现并能够发送和接收数据
我的电脑上有一个 RPi 和一个普通的 Debian,它们都使用蓝牙 Python 模块进行通信。两者都有一些蓝牙 USB 加密狗。
我可以将电脑用作服务器,将树莓派用作客户端,这种连接效果很好。但是我不能反之亦然,我检查了我的 rfcomm.conf
和 main.conf
,但两者似乎都没问题。
还有其他陷阱吗?
#Server.py
import bluetooth
server_sock=bluetooth.BluetoothSocket( bluetooth.RFCOMM )
port = 1
server_sock.bind(("",port))
server_sock.listen(1)
client_sock,address = server_sock.accept()
print "Accepted connection from ",address
data = client_sock.recv(1024)
print "received [%s]" % data
client_sock.close()
server_sock.close()
#Client.py
import bluetooth
bd_addr = #myspecificmacaddress
port = 1
sock=bluetooth.BluetoothSocket( bluetooth.RFCOMM )
sock.connect((bd_addr, port))
sock.send("hello!!")
sock.close()
所以更准确地说:RPi 上的 运行 Client.py
和 PC 上的 Server.py
工作正常,反之亦然,显然更正 MAC,简单地说: bluetooth.btcommon.BluetoothError: (112, 'Host is down')
原来我的配置文件不太好。 (它必须对配置文件做些什么)
/etc/bluetooth/main.conf
有一个 class 部分。 /var/lib/bluetooth/XX:XX:XX:XX:XX:XX/config
也有一个 class 部分。
我不知道为什么,我不知道实际发生了什么,因为你无法在互联网上找到任何关于这个的信息,但是设置 both 到0x400100
修复了它。我不知道他们是否只需要匹配,或者这是我偶然想到的一些特别的东西,但它有效,我真的不想再破坏它了。
也许对此有更多了解的人愿意在这里改进我的回答。
我知道这是一个旧的post,但只是为了其他可能需要它的人,同样的事情发生在我身上,所以我不得不这样做:
$ sudo hciconfig hci0 piscan
现在它可以被发现并能够发送和接收数据