【发布时间】:2015-06-29 19:05:08
【问题描述】:
我的电脑上有一个 RPi 和一个普通的 Debian,两者都使用蓝牙 Python 模块进行通信。两者都有一些蓝牙 USB 加密狗。
我可以将 pc 用作服务器,将 RPi 用作客户端,这种连接效果很好。但是我不能反之亦然,我检查了我的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')
【问题讨论】:
-
顺便提一下:我也尝试以 root 身份运行服务器,但行为相同。
-
l2ping双方都成功