【问题标题】:Making a successful Bluetooth Connection to RPi与 RPi 建立成功的蓝牙连接
【发布时间】:2015-06-29 19:05:08
【问题描述】:

我的电脑上有一个 RPi 和一个普通的 Debian,两者都使用蓝牙 Python 模块进行通信。两者都有一些蓝牙 USB 加密狗。 我可以将 pc 用作服务器,将 RPi 用作客户端,这种连接效果很好。但是我不能反之亦然,我检查了我的rfcomm.confmain.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 双方都成功

标签: python bluetooth


【解决方案1】:

我知道这是一篇旧帖子,但仅针对可能需要它的其他人,同样的事情发生在我身上,所以我只好这样做:

$ sudo hciconfig hci0 piscan 

现在它变得可发现并能够发送和接收数据

【讨论】:

    【解决方案2】:

    原来我的配置文件不是那么好。 (它必须对配置文件做一些事情)

    /etc/bluetooth/main.conf 有一个类部分。 /var/lib/bluetooth/XX:XX:XX:XX:XX:XX/config 也有一个类部分。

    我不知道为什么,我不知道实际发生了什么或发生了什么,因为您无法在互联网上找到任何关于此的信息,但将 both 设置为 0x400100 修复了它.我不知道他们是否只是必须匹配,或者这是我运气好的一些特别的东西,但它有效,我真的不想再次打破它。

    也许对此有更多了解的人愿意在这里改进我​​的答案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-28
      • 1970-01-01
      • 2015-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多