聯(lián)通沃手WordPress打不開昆明自動(dòng)seo
前言:USB(通用串行總線)作為一種高度通用性的硬件接口,在諸多領(lǐng)域均有應(yīng)用。在C中可以直接使用libusb庫(kù)即可完成USB設(shè)備信息查詢、USB設(shè)備監(jiān)聽、與USB設(shè)備控制端點(diǎn)、數(shù)據(jù)(同步、批量、中斷)端點(diǎn)進(jìn)行指令、數(shù)據(jù)交互等功能。python中提供了對(duì)libusb的封裝,但需要進(jìn)行配置。
1. pyusb安裝
pip insall pyusb
安裝完成后直接使用一般會(huì)報(bào)“沒有可用后端“的錯(cuò)誤,需要安裝后端到系統(tǒng)或者放到項(xiàng)目中并在調(diào)用時(shí)聲明。
2. 安裝后端
Windows:
可以在這里下載后端,下載.7z壓縮文件,解壓后將內(nèi)部的MS64/dll/libusb-1.0.dll拷貝到C:/windows/System32/。
Linux:
通過apt/yum等包管理器直接安裝
apt install libusb-1.0-0-dev
自定義
不安裝,在項(xiàng)目中直接使用,只需要將庫(kù)放到相對(duì)路徑下,之后顯式傳入就可以了,下面以windows為例:
import usb
from usb.backend import libusb1
backend = libusb1.get_backend(find_library=lambda x: "./lib/libusb-1.0.dll")
device = usb.core.find(backend=backend,find_all=True)
3. 使用
設(shè)備匹配
測(cè)試設(shè)備為ESP32-S2,idVendor=0x303a,idProduct=0x0002
import usb
from usb.backend import libusb1
backend = libusb1.get_backend(find_library=lambda x: "./lib/libusb-1.0.dll")
device = usb.core.find(backend=backend,idVendor=0x303a,idProduct=0x0002)
print(device)
輸出
DEVICE ID 303a:0002 on Bus 002 Address 010 =================bLength : 0x12 (18 bytes)bDescriptorType : 0x1 DevicebcdUSB : 0x200 USB 2.0bDeviceClass : 0xef MiscellaneousbDeviceSubClass : 0x2bDeviceProtocol : 0x1bMaxPacketSize0 : 0x40 (64 bytes)......