Linux「電話で電源いれましょ。shutdownで電源おとしましょ。尚明@福岡shibata@opost1.netspace.or.jpLinuxでのshutdown時に自動でPCの電源を落とし、また、外部からの電話着信で自動的にPCの電源が入るものを作りはじめました。ある程度動いてますので、公開してご意見を伺い、もうちょっと改良したいと思っておりますm(_|_)m。ご意見は、fj.os.linuxなどの関連NewsGroupかメールでお願いします。0.1新規作成アナログ回線での着信時電源ONおよび、空きCOMポートを利用したshutdown時の電源OFF確認1.経緯[次へ][前へ][目次へ]ATX機が自動で電源を落とせる話を聞いたり、某社のPCではモデムに着信があると電源を入れることができるという話を聞くたびに、良いなぁ~と思っておりました。会社から家に仕事のファイルを持ち帰って作業をして(^^;、そのまま忘れて会社に来たりしたことがあり、カミサンにPCの電源を入れてもらってダイヤルインしたりすることもありました(^^;;;;;;が、そうそう毎度は頼めません(^^;。うちのサーバ機はCRTがついていないので、カミサンにはshutdown時の電源OFFのタイミングがわかりにくいという話もあります。いう時は普通ATX機を買うのかもしれませんが、そんなお金はないです(T_T)し、ATXのマザーと電源の相性問題(?)もまだまだあると聞いてますので、買うにしてもしばらく待ちたいところです。現在使っているAT機で電源の制御をソフトウエアから行えるように無い知恵を絞ってみました。予算は5千円以内で済ますことを目標にしました。#ま、目標は、あくまで目標(^^;2.関連情報[次へ][前へ][目次へ]ATXの電源制御仕様ってどこかに落ちてないでしょうか?www.teleport.com/~atx/からたどっても、ろくなものは見つけられませんでした(T_T)3.用意したhardware[次へ][前へ][目次へ]LinuxがinstallされたPC/AT互換機(シリアルポートが二つ必要)modem(アナログ回線時)TA(ISDN時)今回自作のリモート電源制御装置(^o^)リモート電源制御の回路図に関しては下記をご覧ください。回路図と解説メインボードとパワー(電源)ボードです。基本的には単純なセットリセットのフリップフロップがあるだけで、そのフリップフロップの状態でリレーを動かすシンプルなものです。パワーボード上のマニュアルスイッチはON(上)-OFF(中立)-ON(下)の3個所で止まるタイプのレバースイッチで、ON(上)で強制セットとなり、電源ONとなります。逆にON(下)では強制リセットとなり、電源OFFです。OFF(中立)の位置では、外部からの情報でON/OFFするautoモードです。5cm程度のコンパクトな基板となり市販のキットとして1800円で販売されてます。大阪日本橋の「ワンダーキット」と言う会社のものです。FAX(06)644-4448です。私は福岡の「カホパーツセンター」で購入しました。注意する点として、このキットにはVcc(電源電圧)が5Vのものと12Vのものがあることです。私は回路図でお分かりのように5V版を使用しました。私は、上記のメインボードと、パワーボード(3端子レギュレータとパイロットLED付き)とACアダプタを分解して(^^;取り出したトランス込みで、3.5"FDが10枚入るアクリルケースに詰め込んでます。そのうち写真もお見せしますね(^^;セット(電源ON)ボードです。モデムとPCのCOMポート(私の場合はCOM2)の間に挟まる形のものです。したがって図上の右側のコネクタと左側のコネクタはオス/メスになっています。すべての信号線はそのままストレートで接続しています。電源ONはモデムへの着信時にモデム側から出力されるCI信号のレベルの変化を見ることに因っています。外部への影響を最小限にすることと、レベルコンバータの役目をかねて、フォトカプラを使っています。フォトカプラに直列につないでいる抵抗値は適当です(^^;が、一応電圧レベルは規格内に入っています。リセット(電源OFF)ボードです。PCの使用していないCOMポート(私の場合はCOM1)につなげます。電源OFFはCOMポートからデータを出力する際に変化するDTR信号のレベルの変化を見ることに因っています。適当に、そこらに転がっていた撚り対線を使っています(^^;で、パーツリストをまとめると。以下のようになります。3cm4.用意したsoftware[次へ][前へ][目次へ]以下のppp設定fileを作ります。pppの設定で既に書いてますので、関連する記述のみ示します。/etc/ppp/ip-up#!/bin/sh#ファイルの先頭行にこれを書いて、なおかつ実行可能フラグを立てないと��うまく行きません。/etc/ppp/ip-downip-downはshutdown時には動かないのですね。PPP-LOGを見て判明しました。shutdown時にpppdが動いている場合は、LOGファイルに落ちた時間をかき出すようにした方が、より正確になりますね。#コネクションを切った時間をlogに取る。else#外部からのダイヤルインによるpppの起動のときは。now#おもむろにshutdownを動かす。1#正常にshutdownが動いていれば、ここには来ないはず。$UP#家庭内LANからのon-demandダイヤルアップであることの足跡を残してます。/etc/rc.d/rc.6slackware3.1でshutdown時に動くrc.6の終わりの方に/dev/cua0(COM1)へのデータ出力をechoにて行います。-f5.動作確認をしたもの[次へ][前へ][目次へ]動作したものを示しますshutdownによる電源OFF外部からのmodem着信による電源ON6.いくつかの問題点[次へ][前へ][目次へ]何と言ってもISDNでの自宅へのダイヤルアップIP接続です。TAがオフフックしていないようなのでいかんともし難いです。情報をお待ちしています。やる(1)ISDNでの着信電源ON確認これ、やってみたんですが、うまく行ってません。YAMAHAのPC30iをグレ電につないで自宅のMN128にダイヤルしたのですが、まず、電話(といっていいのかな?)をとってくれません(?_?)。MN128の設定が悪いのだとは思いますが、なんだか引越しのどさくさでMN128のマニュアルが見つからなくて(^^;困っております。気が向いたらやる(1)ATXの電源OFF制御仕様が判れば、ボードを作ってみたい。お金があったらやる(1)ボードのマスクを起こしちゃう...キットがあるから無駄だな(^^;8.謝辞[次へ][前へ][目次へ]まお、今回の電源制御は基本的にすべてRS-232-Cで行ってます。このあたりの情報はFA-NET-MLの皆さんと、alm-hokkaiの藪中さんから頂いております。ありがとうございます。