gpt4 book ai didi

python - Raspberry Pyusb 使资源繁忙

转载 作者:行者123 更新时间:2023-11-28 19:48:53 26 4
gpt4 key购买 nike

我正在尝试通过 USB 将我的 Raspberry PI 连接到 Pic4550。 (Pic 功能在 windows c# 程序中是可以的!)。所以我安装了rpi 2,pyusb,并尝试在[https://github.com/walac/pyusb/blob/master/docs/tutorial.rst][1]的帮助下进行通信。

我连接到 USB 设备,lsusb 显示:

Bus 001 Device 006: ID 04d8:0080 Microchip Technology, Inc.

python 程序找到了设备!获取正确的配置但无法写入消息:

usb.core.USBError: [Errno 16] Resource busy

我尝试以 sudo 运行,我添加了规则:

SUBSYSTEM=="usb", ATTR{idVendor}=="04d8", ATTR{idProduct}=="0080", MODE="666"

不管怎样,我得到同样的资源忙

有胶水帮助链接吗?

最佳答案

对于像我这样的其他菜鸟,我发布了我的解决方案。总结一下:仔细阅读文档。

python :3.2

PyUSB 1.0

Endpoint 是一个 HID 设备。

这是我的代码正常工作。

import usb.core
import usb.util
import sys
from time import gmtime, strftime
import time

print ("Meteo kezdés",strftime("%Y-%m-%d %H:%M:%S", gmtime()))


# find our device
dev = usb.core.find(idVendor=0x04d8, idProduct=0x0080)

# was it found?
if dev is None:
raise ValueError('Device not found')
else:
print ("meteo megvan!")

reattach = False
if dev.is_kernel_driver_active(0):
reattach = True
dev.detach_kernel_driver(0)

endpoint_in = dev[0][(0,0)][0]
endpoint_out = dev[0][(0,0)][1]
#print ("endpoint_out",endpoint_out)
#print ("endpoint_in",endpoint_in)

# write the data
msg = b'\x81'

while 1:
try:
endpoint_out.write(msg)

# reading
#print ("Waiting to read...")
#print (endpoint.bEndpointAddress)
data = dev.read(endpoint_in.bEndpointAddress, 64, 1000)
DHT11_H = data[0] # a tobbi helyiertek kimaradt!!
DHT11_R = data[4]
BMP180_H = data[8]
BMP180_P = (data[12]+data[13]*256+data[14]*65536)/100

print (strftime("%Y-%m-%d %H:%M:%S", gmtime()),
"DHT t=" , str(DHT11_H) , "C| ",
"DHT r=", DHT11_R, "%| " ,
"BMP t=", BMP180_H, "C| " ,
"BMP p=", BMP180_P, "HPa"
)
#print (data)
time.sleep(10)
except usb.core.USBError:
print ("USB error")
except:
print ("write failed")
# end while

# This is needed to release interface, otherwise attach_kernel_driver fails
# due to "Resource busy"
usb.util.dispose_resources(dev)

# It may raise USBError if there's e.g. no kernel driver loaded at all
if reattach:
dev.attach_kernel_driver(0)

关于python - Raspberry Pyusb 使资源繁忙,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29345325/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com