Pinguino(PICマイコンでArduinoのようなことをするもの)について調べていたら、
http://wiki.pinguino.cc/index.php/Interfacing_with_Python
にUSBのパイプをPythonで扱う方法が出ていた。
PinguinoではUSBでホストとのデータ送受信ができるようであり、そのための例として載っている。
(ちなみにPinguinoは秋月で売っている PIC32MX220F032BのQFP44ピンバージョンであるPIC32MX220F032Dを搭載したバージョンがOLIMEXから販売されている)
ここによれば、
On Computer Side
#!/usr/bin/env python # import usb busses = usb.busses() # Search pinguino between all the usb devices for bus in busses: devices = bus.devices for dev in devices: if dev.idVendor==0x04d8 and dev.idProduct==0xfeaa: pingu = dev # Get a device handler for th usb device dh = pingu.open() # Set configuration 3 an interface 0 dh.setConfiguration(3) dh.claimInterface(0) # Read 5 bytes in Bulk mode, convert them to # a string and print it while 1 == 1: cadena = "" for i in dh.bulkRead(0x82, 5, 10000): cadena += chr(i) print cadena
という簡単な記述で扱えるらしい。