2016-12-14 30 views
1

私はpythonを使用してバイト・フォーマットでラズベリー・ピアーのUSBポートにデータを送信したい。これは私にとっては非常に新しいものなので、どうすればこのことができるのか理解できない。インストールして、動作中のサンプルコードがあれば誰でも共有することができます。このデータがUSBポートで正しく書かれているかどうかテストすることができます。ラズベリー・ピーのUSBポートに大量のデータを書き込む3

答えて

0

USBは未加工バイトの送信をサポートしていません。これはシリアルポートではありません。 自分自身を通信デバイスクラスとして宣言しているデバイスを接続する必要があります。デバイスとホストは、USBプロトコルでrawバイトをラップしようとしています。

オペレーティングシステムは、これをエンドポイントに関連付けます。 Linuxでは、最初のデバイスは/dev/ttyACM0に関連付けられています。 このエンドポイントに書き込むだけです。 bash:echo some byte > /dev/ttyACM0

ここは例です。私は私のLinuxラップトップに接続されたarduinoを持っています。

[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ここ は、カーネルが言うことです。 、私は行うことができ、Pythonのコンソールで

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

アルドゥイーノは、バイト(RX LEDが点滅して)を受信し、その内部プログラムに従って動作を確認します。

+0

サンプルコードがありますか? – Kishor

関連する問題