PalmOrb で Palm をモニタ LED として使う
Posted by yoosee on Palm at 2004-10-28 23:42 JST1 PalmOrb - MATRIX ORBITAL Emulator
PalmOrb は、Matrix Orbital のシステム情報表示などに使われる 4x20 LED スクリーン、LK204-25 LCD を Palm 上でエミュレートするソフトウェア。使わなくなった Palm 等が転がっている人ならば結構楽しく使えそうなのでちょっと試してみた。2 Linux kernel 2.6 での USB デバイス認識
PalmOrb を Palm にインストールし、USB かシリアルケーブルで Linux に繋いで起動する。USB の場合は usbserial が以下のような感じで認識される。下記は kernel 2.6.7 と T|T3 での例。usb 1-2: new full speed USB device using address 7 usbserial 1-2:1.0: Handspring Visor / Palm OS converter detected usb 1-2: Handspring Visor / Palm OS converter now attached to ttyUSB0 (or usb/tts/0 for devfs) usb 1-2: Handspring Visor / Palm OS converter now attached to ttyUSB1 (or usb/tts/1 for devfs)pilot-xfer などでは ttyUSB1 を使うが、ここでは ttyUSB0 を使うといいようだ。但し2.6 以前の古い kernel や、CLIE T600 と kernel2.6 を繋いだときは ttyUSB1 でないと駄目だった。 /dev/ttyUSBx がない場合は
# mknod /dev/ttyUSBx c 188 x (x=0,1,2,3)という具合いにして作っておく。devfs の場合は /dev/usb/tts/(0,1,2) あたりを。うまく繋がれば、サンプルコード等を用いて文字が送れるのを確認できるはず。
3 LCDproc
Linux 側から Matrix Orbital LED に接続するには、LCDproc と言うプログラムを使う。他にも何個かプログラムはあるし、要はシリアルポートに何らかの情報を書き込んであげればいいので、システム情報だけではなく RSS News Ticker なんかも割と簡単に作れる。とは言え日本語は基本的に通らず、しかし何故か半角カナだけは表示可能のようだ。もしかして映画マトリックスで Matrix を外から見た画面が英数字と半角カナなのは、この Matrix Orbital から来てるのかな?LCDproc は Debian では lcdproc と言う名前でパッケージがあり、sid では最新版 stable の 0.4.5-1 が入っているようだが、/etc/init.d/LCDd の DESC に古いバージョンが書かれていて一瞬混乱した。LCDd.conf の設定は Driver を Matrix Orbital のものに変更。[MtxOrb] の設定部分で size や speed は設定されているので、他は特にはあまりいじる必要は無さそうだ。
Driver=MtxOrb該当するデバイスを /dev/lcd に symlink し、nobody で使う場合は read/write 権限も与えておく
# chmod 666 /dev/ttyUSB0 # ln -s /dev/ttyUSB0 /dev/lcdPalm を接続した後に LCDd を起動する。
# /etc/init.d/LCDd startLCDd はデフォルトでは 127.0.0.1:13666 を Listen する。ここにクライアントプログラムから情報を流し込めば PalmOrb 上に CPU Usage や Memory Usage などが表示される。パッケージ内には lcdproc と言うクライアントプログラムがあるのでこれを使ってみる。
% cp /usr/share/doc/lcdproc/examples/lcdproc.gz . % gunzip lcdproc % ./lcdproc Cうまくいっていれば、これで PalmOrb 上にスクリーンショットにあるような情報が出力されるはず。
4 うちの場合
T|T3 でも CLIE T600 でもうまく動くのだが、一度だけdrivers_getkey() Screen->Client List has timeout->-1と言ったログを大量に吐き、CPU を 50% 以上も喰ってくれた事があった。この時はデバイスを抜いた瞬間に Linux 側がフリーズもしてくれた。ディスプレイのないサーバマシンなどに便利だが、利用にはちょっと注意した方が良さそうだ。出来れば安全そうなシリアル経由で繋ぐのが良さそうだけど、シリアルクレードルを別途買うといい値段するんだよな。
不具合が出ることもあるものの、Palm 上にシステムのデータを表示させるのは面白いし、実際には文字のスクロールや点滅など動きがある表示が出来るので、見ていてもちょっと楽しい。今は以前使っていた CLIE T600 を繋ぎっぱなしにして遊んでいる。なお Windows で USB 接続の場合、USB-Serial Driver が無いため、うまく動かすのはちょっと面倒のようだ。
ちなみに本物の MATRIX ORBITAL は 5インチベイに収まるタイプが秋葉原辺りで売っていて、大体 10,000〜25,000円くらいらしい。