プリントサーバを使った外部コントロール
(2000-11-20, 2000-12-20)
■ きっかけ
- ネットワーク越しで出力(ON/OFF)を簡単にコントロールするものです。
- 安価で小型を考えるとプリントサーバを利用することになりました。
- 1 バイトのコントロールコードを用意しておき、これがプリンタサーバのコネクタに出力される、至って単純なものです。
■ 回路図とプログラム
- 回路図を下に示します。
- プリントサーバには、mini2/100(プラネックスコミュニケーションズ株)を用いました。
- プリンタに接続するコネクタに同図のような回路を組みます。
- データライン(8bit)は、LED を付けてモニタしましたが、要求にあったインターフェースを作って下さい。
- 留意点として、mini2 の出力は、オープンコレクタではない模様で、ここからワンショットマルチ(MC14538B)の入力保護ダイオードを逆流して電圧が印加されます。(つまり、無電源でこの IC は動作が可能となる)
- 上記の最大許容流出電流が不明のため、回路入力部に R があります。適当な定数に設定するか、プリンタサーバとこの回路の電源を同時にオンするようにします。
- プログラム
- 1 バイトのコントロールコードを用意します。ここでは、ファイルを作った例です。要するにプリンタに 1 バイトを送り出すことで全てが達成されるわけですね。
- これを lpr コマンドで送り出します。
- lpd のために printcap を用意します。
- 使い方は、 cat y.dat | lpr -Pmini2 のようになります。 lpq -a や lpc を利用してデバッグして下さい。
- プリンタサーバは、電源オンでオールゼロ(ロジック:"L")が出力される点に注意して下さい。
- mini2 の設定方法
- arp -s hostname ether_addr
- 恒久的な設定は、ブラウザ等で行います。
■ コメント
- 遠隔の LED 数個を点灯することで意味をなすような場合は、(電源も要らないし)ラッキー。
- 外部コントロールを lpd に頼るのがちょっと気持悪いですね。
- とことん単純なことが好きであれば、36PIN のコネクタを 1(/STB)-10(/ACK)-13(SEL)-32(/ERR) とだけ繋いで下さい。これで十分(LED の点灯だけであれば、データ線から電流をもらって)動くでしょう。おっと、11pin を GND しておく方が安定です。 サンプルプログラム