2016-12-14 39 views
1

我希望使用python以字节格式发送数据到rapberry pi3的USB端口。这对我来说非常新颖所以我不能理解我该如何做到这一点。安装,如果任何工作示例代码是他们的话,那么任何人都可以共享。如何测试这些数据是否在USB端口上正确写入。请问任何人都可以帮助我解决这个问题。在Raspberry pi的USB端口上写入大量数据3

回答

0

USB不支持发送原始字节。这不是一个串口。 您必须连接一个声明自己为通信设备类的设备。设备和主机将在USB协议中包装原始字节。

然后你的操作系统将它关联到一个端点。 在Linux下,第一个设备与/dev/ttyACM0关联。 你所要做的就是写入这个端点。 根据bash:echo some byte > /dev/ttyACM0

这里是一个例子。我有一个arduino uno连接到我的Linux笔记本电脑。 这里是内核这样说:

[37850.628522] usb 3-2: new full-speed USB device number 9 using xhci_hcd 
[37850.759206] usb 3-2: New USB device found, idVendor=2341, idProduct=0043 
[37850.759215] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=220 
[37850.759221] usb 3-2: Manufacturer: Arduino (www.arduino.cc) 
[37850.759224] usb 3-2: SerialNumber: 123456789
[37850.759590] usb 3-2: ep 0x82 - rounding interval to 1024 microframes, ep desc says 2040 microframes 
[37850.833630] cdc_acm 3-2:1.0: ttyACM0: USB ACM device 
[37850.834040] usbcore: registered new interface driver cdc_acm 
[37850.834044] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters     

最重要的部分是:ttyACM0

在蟒控制台中,我可以这样做:

with open("/dev/ttyACM0","w") as f: 
    f.write("hello world") 

Arduino的确认其接收的字节(RX LED闪烁),并且它根据其内部程序的行为。

+0

你有工作的示例代码吗? – Kishor