标签: pyusb

窗口上的Pyusb - 没有可用的后端

我正在尝试通过USB将我的python应用程序接口与NFC设备连接.最好的选择似乎是pyusb,但我不能让它连接到libusb后端.我一直在

ValueError:没有可用的后端

我查看了堆栈跟踪,发现usb/backend/libusb10.py(这是pyusb的一部分)正在尝试加载libusb-1.0.dll以用作后端,但它无法找到它.这不是它不在我的道路上,它根本不在我的电脑上!

我安装了libusb-win32(http://libusb.org/wiki/libusb-win32),但生成的目录似乎只包含libusb0.dll.libusb-1.0.dll在哪里???

我很想知道在哪里获得该DLL,或者甚至不同的建议让pyusb在Windows 7上运行.

python libusb windows-7 pyusb

26
推荐指数
6
解决办法
4万
查看次数

为什么PyUSB/libusb在Linux上需要root(sudo)权限?

我最近一直在玩PyUSB,发现它在Linux上运行得很漂亮(Ubuntu有libusb 0.1和1.0,以及OpenUSB)...但是只有当我用root权限运行程序时(sudo当然).

任何人都可以告诉我为什么它需要提升权限,更重要的是,如果我可以以某种方式更改权限,使其适用于普通用户帐户?

python usb libusb pyusb

10
推荐指数
3
解决办法
8750
查看次数

如何逆向工程USB/HID /蓝牙加密狗.使用什么工具?

需要逆向工程蓝牙usb鼠标加密狗,并使用鼠标板测量距离,并用matplotlib绘制它们

在此输入图像描述

我发现这些工具可以帮助完成这项任务:

Linux的

  • 的lsusb
  • usbmon
  • USBHID转储
  • RFCOMM
  • hidrd-转换
  • XXD
  • hcitool
  • 了evdev转储

视窗


参考书目:

  1. https://www.silabs.com/Support Documents/TechnicalDocs/AN249.pdf
  2. www.usb.org/developers/devclass_docs/HID1_11.pdf
  3. Usbhid-dump - digimend
  4. Linux,HID和PyUSB
  5. Linux中的MagTek信用卡读卡器
  6. Evdev-dump - digimend

例子:

lnx#> lsusb -s 2

Bus 005 Device 002: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
Bus 003 Device 002: ID 192f:0716 Avago Technologies, Pte. 
Bus 002 Device 002: ID 1bcf:053a Sunplus Innovation Technology Inc. Targa Silvercrest OMC807-C optische Funkmaus
Run Code Online (Sandbox Code Playgroud)
lnx#> sudo lsusb -s 2:4 -v

Bus 002 Device 004: …
Run Code Online (Sandbox Code Playgroud)

usb bluetooth hid pyusb

9
推荐指数
1
解决办法
6670
查看次数

python pyusb import usb.core不起作用

我正在按照教程(http://pyusb.sourceforge.net/docs/1.0/tutorial.html)

我在windows xp sp3上,我的python版本是2.7,我下载并安装了pyusb-1.0.0-a1.zip

和libusb-win32-bin-1.2.4.0.zip

import usb
Run Code Online (Sandbox Code Playgroud)

工作良好

import usb.core
Run Code Online (Sandbox Code Playgroud)

根本不起作用

它说

Traceback (most recent call last):
  File "D:\py\usb.py", line 1, in <module>
    from usb import core
  File "D:\py\usb.py", line 1, in <module>
    from usb import core
ImportError: cannot import name core
Run Code Online (Sandbox Code Playgroud)

任何解决方案

谢谢!

ps"来自usb import core"这个

Traceback (most recent call last):
  File "D:\py\usb.py", line 1, in <module>
    from usb import core
  File "D:\py\usb.py", line 1, in <module>
    from usb import core
ImportError: cannot import name core
Run Code Online (Sandbox Code Playgroud)

完整源代码在这里

from …
Run Code Online (Sandbox Code Playgroud)

python usb import pyusb

8
推荐指数
2
解决办法
3万
查看次数

USB 设备发布

我目前正在研究 PyUSB。由于我是 USB 新手,我不知道\xe2\x80\x99t,我该如何执行以下操作。

\n\n

我已从 Python PyUSB 成功连接到我的 USB 设备硬件。在代码中,我需要重置 USB 设备硬件。\n我通过向硬件发送命令来完成此操作。现在,在硬件重置后,我想从 Python PyUSB 释放当前的 USB 设备。\n然后我想在 USB 设备硬件从重置恢复后再次连接到它。

\n\n

请告诉我,如何释放 USB 设备连接和接口等以便我可以重新连接?

\n\n

预先非常感谢您。

\n

python pyusb

8
推荐指数
1
解决办法
1万
查看次数

PyUSB:SCPI 与 OWON 示波器通信

这是一个更新和缩短的问题。

通过PyUSB与 USB 设备通信应该很容易。因此,我尝试在 Win10 下使用 PyUSB 从 USB 设备(示波器)读取数据。显然,自从找到设备以来,USB 驱动程序 (libusb-win32 v1.2.6.0) 已正确安装,并且我得到了一些响应print(dev)(见下文)。由此我可以看到输出端点地址是0x3,输入端点地址是0x81

根据示波器手册,我应该发送:SDSLSCPI#到设备以将其设置为 SCPI 模式,并且应该得到响应“:SCPION”。然而,当:SDSLSCPI#可再现地发送示波器的监视器时,它会冻结并且会重新启动。

如果我发送,*IDN?我应该得到回复,P1337,1842237,V2.4.0->。但前提是设备已处于 SCPI 模式。显然,事实并非如此,我收到超时错误(见下文)。

那么,我在这里做错了什么?我在PyUSB 教程中缺少哪些信息。我是否使用了错误的 PyUSB 命令/参数,或者是否缺少额外的驱动程序,或者是否与硬件(Win10 或设备硬件)有关?感谢您提供有关如何找出问题所在的提示。

顺便问一下, 中的第二个值是多少dev.read(0x81,7)?要读取的字节数?嗯,通常我不知道设备将发送多少字节。我期望在超时时间内读取一个命令,直到出现换行符或其他终止符。在哪里可以找到有关 PyUSB 的“万无一失”的文档、教程和示例?

代码:

import usb.core
import usb.util

dev = usb.core.find(idVendor=0x5345, idProduct=0x1234)
if dev is None:
    raise ValueError('Device is not found')
# device is found :-)
print(dev)

dev.set_configuration()

msg = ':SDSLSCPI#'
print("Write:", msg, dev.write(3,msg)) …
Run Code Online (Sandbox Code Playgroud)

python usb libusb pyusb

8
推荐指数
1
解决办法
4万
查看次数

pyusb:无法设置配置

我正在尝试制作一个脚本(在Linux上),可以打开或关闭鼠标中的灯光.

这是我到目前为止的代码:

import usb.core
import usb.util
import sys
interface = 0
dev = usb.core.find(idVendor=0x1532, idProduct=0x0017)

def main():

        if dev is None:
            print "device not found"

        else:
        print "device found"
        if dev.is_kernel_driver_active(interface) is True:
            print "but we need to detach kernel driver"
            dev.detach_kernel_driver(interface)
            print "claiming device"
            usb.util.claim_interface(dev, interface)


            print "release claimed interface"
            usb.util.release_interface(dev, interface)
            print "now attaching the kernel driver again"
            dev.attach_kernel_driver(interface)
            print "all done"
return 0

if __name__ == '__main__':
    main()
Run Code Online (Sandbox Code Playgroud)

这工作正常,但如果我尝试做:dev.set_configuration()

claim_interface(dev,interface)之后

该脚本返回错误:usb.core.USBError:资源忙

在分离内核驱动程序后,为什么它仍然很忙?

python usb libusb pyusb

7
推荐指数
1
解决办法
1万
查看次数

Pyusb - Errno 13访问被拒绝进行控制转移 - Mac OS X.

我试图通过pyusb通过Mac OS发送控制传输命令:dev.ctrl_transfer(0x21,0x09,0x0200,0x0,0x1)

我收到错误:

Traceback (most recent call last):
  File "./main.py", line 21, in <module>
    dev.ctrl_transfer(0x21,0x09,0x0200,0x0000,0x0001)
  File "/Library/Python/2.7/site-packages/usb/core.py", line 962, in ctrl_transfer
    self._ctx.managed_claim_interface(self, interface_number)
  File "/Library/Python/2.7/site-packages/usb/core.py", line 146, in managed_claim_interface
    self.backend.claim_interface(self.handle, i)
  File "/Library/Python/2.7/site-packages/usb/backend/libusb1.py", line 747, in claim_interface
    _check(self.lib.libusb_claim_interface(dev_handle.handle, intf))
  File "/Library/Python/2.7/site-packages/usb/backend/libusb1.py", line 552, in _check
    raise USBError(_strerror(ret), ret, _libusb_errno[ret])
usb.core.USBError: [Errno 13] Access denied (insufficient permissions)
Run Code Online (Sandbox Code Playgroud)

有人可以帮我弄这个吗.我试过sudo,su.我也在pyusb github用户组中发布了这个.我得到了这个(将自己添加到debian系统中的plugdev组)作为一种可能的解决方案,但我不知道如何继续使用Mac OS https://github.com/braiden/python-ant-downloader/issues/30# issuecomment-55293142

与以下问题相关联:

pyusb无法访问OUT端点

PyUSB dev.set_configuration()(解决方案适用于ubuntu)

macos usb pyusb

7
推荐指数
1
解决办法
2550
查看次数

Windows 7 上的 Pyusb 找不到任何设备

所以我安装了 Pyusb 1.0.0-alpha-1
在 Windows 下,我无法获得 USB 设备的任何句柄。

>>> import usb.core
>>> print usb.core.find()
None
Run Code Online (Sandbox Code Playgroud)

我确实插入了 1 个 USB 设备(idVendor=0x04d8,idProduct=0x0042),我尝试过,usb.core.find(idVendor=0x04d8, idProduct=0x0042)但也失败了。

在 Ubuntu 下,使用相同版本的 pyusb 和 python (2.6),我能够使用该代码成功找到我的设备,并与之通信。

那么如何让 pyusb 在 Windows 7 上找到 USB 设备呢?

python windows libusb pyusb libusb-1.0

6
推荐指数
2
解决办法
9693
查看次数

PyUSB 1.0:NotImplementedError:此平台不支持或未实现操作

我刚开始使用pyusb,基本上我在这里玩示例代码。

我使用的是 Windows7 64 位,并从https://walac.github.io/pyusb/下载了 zip 版本。后端是 libusb-1.0.19,它是从http://libusb.info/下载的 Windows 二进制文件。

我所有的代码是:

dev = usb.core.find(idVendor=3544, idProduct=9736)
if dev is None:
    sys.stdout.write("No device found")
    return;
print "deviceClass = " + str(dev.bDeviceClass);
for cfg in dev:
    sys.stdout.write("configuration: " + str(cfg.bConfigurationValue) + '\n')
    for intf in cfg:
        sys.stdout.write('\tInterface: ' + \
                             str(intf.bInterfaceNumber) + \
                             ',' + \
                             str(intf.bAlternateSetting) + \
                             '\n')
        for ep in intf:
            sys.stdout.write('\t\tEndpoint: ' + \
                                  str(ep.bEndpointAddress) + \
                                  ',' + \
                                  str(ep.bmAttributes) + \ …
Run Code Online (Sandbox Code Playgroud)

python-2.7 pyusb

6
推荐指数
1
解决办法
7897
查看次数

标签 统计

pyusb ×10

python ×7

usb ×6

libusb ×5

bluetooth ×1

hid ×1

import ×1

libusb-1.0 ×1

macos ×1

python-2.7 ×1

windows ×1

windows-7 ×1