You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python 3.9+连接Windows 10蓝牙TimeBox evo遇WinError 10064问题

解决Windows 10下Python连接TimeBox evo蓝牙设备出现WinError 10064的问题

错误本质

OSError: [WinError 10064] 是目标蓝牙设备主动拒绝了连接请求——哪怕系统显示设备已配对,也不代表Python使用的RFCOMM端口或连接方式符合设备要求。

解决方案

1. 确认设备实际监听的RFCOMM端口

你代码里硬写的port=4大概率不是TimeBox evo实际使用的端口,按以下步骤查找:

  • 按Win+X打开设备管理器
  • 展开「蓝牙」分类,找到TimeBox evo设备
  • 右键→属性→切换到「服务」选项卡
  • 找到标注为「RFCOMM」的服务,查看对应的端口号,替换代码里的port值

2. 扫描设备的蓝牙服务UUID

部分蓝牙设备需要匹配特定服务UUID才能建立有效连接,用pybluez库扫描设备可用服务:
先安装依赖:

pip install pybluez

运行扫描脚本:

from bluetooth import find_service

target_mac = "11:75:58:ce:c7:52"
services = find_service(address=target_mac)
for svc in services:
    print(f"服务名称: {svc['name']}")
    print(f"UUID: {svc['service-id']}")
    print(f"RFCOMM通道: {svc['port']}\n")

找到和数据传输相关的服务(比如TimeBox evo的专属服务),用对应的port值替换代码里的端口。

3. 确保设备处于可连接状态

  • 关闭手机或其他设备上的TimeBox evo控制APP,避免其他程序占用蓝牙连接
  • 检查设备端是否需要手动开启「数据传输模式」,部分蓝牙设备配对后默认只允许系统级连接,需手动开放数据接收权限

4. 以管理员身份运行脚本

Windows下蓝牙连接可能需要更高权限:

  • 找到Python快捷方式,右键→以管理员身份运行
  • 再执行你的连接脚本

5. 改用兼容性更好的蓝牙库

原生socket在Windows蓝牙支持上有局限,推荐用pybluez重构连接逻辑:

from bluetooth import BluetoothSocket, RFCOMM

serverMACAddress = "11:75:58:ce:c7:52"
port = 你查到的正确端口号
sock = BluetoothSocket(RFCOMM)

try:
    sock.connect((serverMACAddress, port))
    print("连接成功")
    while True:
        text = input()
        if text == "quit":
            break
        sock.send(text.encode('UTF-8'))
except Exception as e:
    print(f"连接失败: {str(e)}")
finally:
    sock.close()

内容的提问来源于stack exchange,提问作者Pasquale

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 23:33:22