首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PyBluez蓝牙L2CAP

PyBluez蓝牙L2CAP
EN

Stack Overflow用户
提问于 2014-06-28 04:12:21
回答 1查看 2.6K关注 0票数 0

我的问题是我得到了:

代码语言:javascript
复制
raise ValueError ("invalid protocol")
ValueError: invalid protocol

在这行代码中:

代码语言:javascript
复制
sock=bluetooth.BluetoothSocket(bluetooth.RFCOMM)

我不明白为什么我会得到这个错误。

我之所以使用它,是因为我想向通过蓝牙连接的设备发送一个键盘事件。

EN

回答 1

Stack Overflow用户

发布于 2014-08-01 21:13:55

您的问题标记"l2cap“与引用RFCOMM的代码片段不一致。根据我的经验,在Windows7上,sock=bluetooth.BluetoothSocket(bluetooth.RFCOMM)不会引发错误,而sock=bluetooth.BluetoothSocket(bluetooth.L2CAP)会引发错误。现在,如果你真的想要RFCOMM,这可能是一个硬件问题。例如,如果您的蓝牙驻留在USB蓝牙加密狗上,则在拔出加密狗时,软件将引发此错误。我回答的其余部分主要假设您正在尝试获取L2CAP。

通常,引发该错误是因为您的驱动程序不支持该协议。具体来说,我发现L2CAP在Windows7上的Python2或Python3的PyBluez中是不可访问的。在Linux上的Python3中,L2CAP可以通过“导入套接字”访问。

我不清楚Win7上的Widcomm和MSBT堆栈中是否都存在PyBluez限制。我也不清楚,如果PyBluez试图包装的驱动程序中的服务真的不可用,那么更多的PyBluez工作是否可以解决这个问题。

希望这能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24460076

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档