Pi正被推广为主要用于Python的教育设备。与此相关,在线上已经有一些很棒的例子,说明人们从Python访问GPIO。

但是,大多数现成的(而不是家用的)外设都具有USB接口。如何使用标准Debian / Python卡访问这些文件?有可用的Python库和良好的教程吗?

评论

我认为这需要更具体。您到底想用USB做什么?

这是一个非常好的问题,我一直想知道如何制作USB设备。

我想到的特定应用是访问模型铁路DCC控制器接口(例如Digitrax PR3)的JMRI型系统。但这对这个网站来说太具体了!该问题针对较低级别的“如何通过Python与USB上的任何设备进行通讯”-隐式地假定程序员具有他们要编程的设备的协议文档。
我将仔细观察这个问题。我正在看两个触摸屏显示器,它们都有简单的ASCII命令集和USB接口,我想在RasPi上尝试。

#1 楼

USB本质上只是串行通信设备。数据的通信方式是标准的,但数据的组成取决于设备。您的控制器制造商将发明一种api,该api包含“执行此操作”或“正在执行”形式的命令和消息。两个可能有用的链接是

https://walac.github.io/pyusb/

https://web.archive.org/web/20130327005316/http:/ /www.digitalmihailo.com/post/usb-programming-with-python-on-linux

USB Complete的重要信息来源

评论


谢谢-是的,这就是我要针对我的问题的水平。特定外围设备的协议/产品API是其他问题,或有关供应商文档的问题。

– winwaed
2012年6月17日在22:18

#2 楼

将其粘贴到我今天(2014年10月5日)的兔子路上的其他任何人。注意:这是从一个非常缺乏经验的PoV中获得的,因此,这对于许多人来说可能是显而易见的,但这并不是我的事,所以花了一些时间才弄清楚。通过USB将激光条形码扫描仪扫描到RaspberryPi B +,实际上没有使用Linux / RBPi等的经验。最终Google搜索将我带到了此页面。

我得到了David Sykes在2012年6月15日提供的答案通过PyUSB参考,从那里我发现了ADAFruit的Installation Python&PyUSB,这是他们入侵Microsoft Kinect的一部分。电脑但是通过RaspberryPi这样做确实让我陷入困境。如果您通读了该指南,将会遇到与我一样的障碍,即无法下载内容,也无法简单地将他们说的内容混入文件中。那么,如果您无法下载文件,该如何获取呢? [也许有一种下载这些文件的方法,但是在我的Pi上,我在源伪造上不断收到Error 400,而Midori不会下载Tar或Zip文件。]

引用Walac的PyUSB,您可以进入LXTerminal的第一部分以获取libusb,但随后给出的下一个命令假定您具有PyUSB的文件,并且可以在目录中找到它们。

所以这里是我更改后的步骤安装在RaspberryPi上的LibUSB和PyUSB:

我在LXTerminal中输入的命令顺序:

sudo apt-get install python libusb-1.0


用Y确认

sudo apt-get install python-pip


然后

sudo pip install --upgrade pyusb


注意:根据您之前所做的操作,其中一些可能已包含在RBPi ,但再次执行命令不会对它造成伤害,它只是告诉我该文件是最新的。
Downloading/unpacking pyusb
Downloading pyusb-1.0.0b1.tar.gz (44Kb): 44Kb downloaded
Running setup.py egg_info for package pyusb

Installing collected packages: pyusb
Running setup.py install for pyusb

Successfully installed pyusb
Cleaning up...


所以,我认为现在一切都很好,我可以返回我的教程。再次,我正在使用RaspberryPi B +,标准的NOOBS安装。.我主要参考了ADAFRUIT的LEARN之类的资源。系统主要由Model B制成,但到目前为止,我所做的一切都在B +上进行。

希望该信息对其他陷入困境的人有所帮助。