Top > USB-IO

広告
  • The added line is THIS COLOR.
  • The deleted line is THIS COLOR.
  • Go to USB-IO.

もともとはいろいろな意味で有名なモルフィー企画が開発したUSB-パラレル(8+4bit)変換デバイス。~
USBデバイスを作ろうとすると簡単なデバイスでもUSBの事をいろいろ勉強しなくてはならないが、このUSB-IOを使うと、とても簡単にUSBデバイスが作れる。

モルフィー企画は閉じてしまったので、現在買おうとするなら

-[[テクノキット:http://www.technokit.biz/]]
-[[Km2Net:http://km2net.com/]]

で買える。

''でも出力bit数は少ないが[[FT245]]系でも同様のことをできるので、入手、扱いやすさの面で[[FT245]]系を使ったほうが良さそう。''
#al(USBIO1)
*ハード [#h1b30097]
8bitのport0と4bitのport1があって両方使えば12bit出力として使うことができる。~
port0の方は仕様上殆ど電流を出す事ができないので、入力インピーダンスの高いデバイスにしか繋げない。~
ところが、吸い込み(流れ込み)の場合は数mA程度流せるので、LEDなどを駆動することができる。
port1の方は吐き出しも吸い込みもmAオーダ流せる。

*準備・ドライバのインストール [#oc1af057]
[[バケさんの趣味の部屋:http://bake-san.com/]]に[[libusb>libusbについて]]を使った[[ドライバを使わない方法:http://bake-san.com/usb004.htm]]も紹介されている。~
ここでは、ドライバを使う方法を述べる

いとーひさしさんのページから[[USB-IO driver for Linux:http://uzu.neko.ac/morphy/]](閉鎖?)([[ミラー?:http://homepage.mac.com/orangkucing/morphy/]])をダウンロードしてくる。kernel 2.4のパッチと2.6のドライバがある。~
READMEの通りにやれば大丈夫だが、カーネル2.6.15以上の場合は「morphy-usbio.c」の中の
 .mode = S_IFCHR | S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH,
という行を削除するかコメントアウトする必要がある。

みそは「hid-core.c」を書き換えてカーネルの再構築をするのと「/etc/hotplug/usb.usermap」を書き換えることだろう。その辺を注意してREADMEの通りにやれば大丈夫。

うまくいくとUSB-IOを繋げたときに
 /dev/usbio0
というデバイスファイルが自動的に現れる。
失敗すると、認識されないか
 /dev/usb/hiddev0
というデバイスファイルが現れる。

繋げた後に
 # dmesg | tail
とやってメッセージを表示すると
 usb 5-4.1: new low speed USB device using ehci_hcd and address 8
 hiddev96: USB HID v1.00 Device [Km2Net          Km2Net USB-IO Ver1.0] on usb-0000:00:1d.7-4.1
 usbcore: registered new driver morphy-usbio
とでる。

*使いかた [#v413c226]
/dev/usbio0がrootかrootのグループに属しているユーザーしかアクセスできないので取り合えずrootになる。そしておもむろに
 # echo 010101010101 >/dev/usbio0
とやるとその通りに出力され、LEDなどが繋げてあれば光る。

perlでやるときは
 $dev="/dev/usbio0";
 $data="010101010101";
 open(USB,">$dev");
 print USB $_[0];
 close(USB);
てな感じで良い。ただし、実行はrootかrootのグループに属しているユーザーしかできない。実行しても何も起こらないか、エラーがでる。~
rootになるのが面倒なら自分をrootグループに入れるとか、セキュリティ上rootグループに入るのを避けたいなら「fakeroot」を使う。

広告

Reload   Diff   Front page List of pages Search Recent changes Backup Referer   Help   RSS of recent changes