【问题标题】:Python Socket BluetoothPython Socket 蓝牙
【发布时间】:2016-07-10 18:09:52
【问题描述】:

我正在尝试将我的有氧蓝牙传感器与我的 Windows 电脑配对。 经过一番搜索,我找到了 x64 系统的 pyBluez,现在我能够发现我周围的蓝牙设备、它们的名称、地址和服务。 我的 Polar 传感器有一个 L2CAP 协议,理论上来说太简单了,无法监听传输的内容。

我找到了一个这样的例子

server_sock=bluetooth.BluetoothSocket(bluetooth.RFCOMM)

port = 5
server_sock.bind(port)
server_sock.listen(1)

client_sock = server_sock.accept()
print ("Accepted connection from "+address)

data = client_sock.recv(1024)
print ("received [%s]" % data)

还有不同的端口
当我运行这段代码时,我从来没有读过“接受的连接......”

可能的原因是 pyBluez windows 版本缺少 L2CAP。 我也尝试了套接字连接,但“socket.AF_BLUETOOTH”方法也不适用于 Windows。 你有什么建议吗?

非常感谢,对不起我的英语

【问题讨论】:

    标签: python windows sockets pybluez


    【解决方案1】:

    你试试套接字库。

    import socket
    
    baddr = 'a4:50:4f:f8:44:66'
    channel = 4
    s = socket.socket(socket.AF_BLUETOOTH, socket.SOCK_STREAM, 
    socket.BTPROTO_RFCOMM)
    s.connect((baddr,channel))
    s_sock = server_sock.accept()
    print ("Accepted connection from "+address)
    
    data = s_sock.recv(1024)
    print ("received [%s]" % data)
    
    s.listen(1)
    

    我试过 pybluez 但它没有运行。我在Linux上尝试。我希望它适用于 Windows...

    【讨论】:

    • 什么是baddr?你是怎么找到的?
    • MacOS:system_profiler SPBluetoothDataType Linux:hciconfig -a
    猜你喜欢
    • 2011-05-23
    • 1970-01-01
    • 1970-01-01
    • 2014-07-08
    • 1970-01-01
    • 1970-01-01
    • 2014-08-03
    • 2012-01-02
    • 2021-03-12
    相关资源
    最近更新 更多