【问题标题】:Bleak (python) does not respond on connectBleak(python)在连接时没有响应
【发布时间】:2022-01-07 17:09:30
【问题描述】:

我找到了我要连接的设备的正确蓝牙地址。当我运行下面的代码时,它会打印“连接到设备...”,但随后挂起并且从不打印“已连接”或完成运行。不会抛出任何错误。

import asyncio
from bleak import BleakClient

address = "24:71:89:cc:09:05" # Replaced with actual bluetooth address

async def main(address):
    print("Connecting to device...")
    async with BleakClient(address) as client:
        print("Connected")

asyncio.run(main(address))

此问题与我的 PC 软件/驱动程序有关吗?我在一台运行 Windows 11 的联想笔记本电脑上。

或者,某些设备不会响应简单的“连接请求”吗?我要连接的设备是特斯拉 Model 3,我知道我应该发送一组特定的数据进行身份验证。如果是这种情况,如何在不连接BleakClient的情况下发送数据?

更新:我应该提一下,通过 Bleak 扫描/发现设备可以正常工作。而且,我尝试通过 Bleak 连接到其他设备,并发生了同样的问题。不过,通过 Windows 设置应用程序的蓝牙工作正常。

【问题讨论】:

  • 您还没有说您是否已经完成了PC和汽车的“蓝牙配对”。我怀疑在允许连接之前需要这样做。您可能还想使用通用的低功耗蓝牙扫描和探索工具,如nRF Connect 进行测试。如果您的 PC 上有 Chrome 浏览器,您可以使用 URL chrome://bluetooth-internals/#devices 进行测试
  • @ukBaz 这就是问题所在!我使用 Microsoft 的 UWP BLE Sample 配对,然后 Bleak 能够连接。你知道有没有办法直接在 Bleak 中进行配对?
  • Bleak 在已发布的库中似乎没有配对代理。看起来他们可能在develop 分支中开始了某些事情。但是,鉴于配对是一次性设置活动,它有那么重要吗?现在你已经完成了两台机器之间的配对,从现在开始你应该可以很好地与 Bleak 连接了。

标签: python bluetooth-lowenergy tesla


【解决方案1】:

当我查找“python tesla bluetooth api”时,我找到了找到this site 的方法,它记录了似乎非常适合您正在做的事情的 API。这让你可以做很多事情,比如解锁、打开后备箱等。

听起来主要问题是您根本无法连接以做事。该网站的编写方式掩盖了该部分,只是说“发送过来”。

我会确保您拥有正确的地址,您应该使用this scanning code from the Bleak doc。另外,请确保您可以正常使用蓝牙,例如连接到无线扬声器。

【讨论】:

  • 感谢您的回复!我目前实际上正在努力改进并为该站点做出贡献:) 无论如何,扫描确实工作得很好,当我使用您链接的扫描代码时,我可以看到车辆。有趣的是,当我尝试通过 bleak 连接时,任何设备都会挂起,而不仅仅是汽车。不过,当我通过 Windows 设置连接到蓝牙设备时,它们工作正常。
猜你喜欢
  • 2018-06-10
  • 2017-04-11
  • 1970-01-01
  • 2019-02-14
  • 2012-09-27
  • 2011-10-20
  • 2020-12-30
  • 1970-01-01
  • 2021-10-17
相关资源
最近更新 更多