2

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

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 设置应用程序的蓝牙工作正常。

4

1 回答 1

0

当我查找“python tesla bluetooth api”时,我找到了访问该站点的方式,该站点记录了对您正在做的事情来说似乎很棒的AP​​I。这可以让你做很多事情,比如解锁、打开后备箱等。

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

我会确保你有正确的地址,你应该使用来自 Bleak doc 的扫描代码。另外,请确保您可以正常使用蓝牙,例如连接到无线扬声器。

于 2021-12-01T03:29:46.953 回答