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
という簡単な記述で扱えるらしい。
