UPSって案外安いもんなんですな.さくっと買っちゃいました.
とりあえずFreeBSD QandA 318とか見ながら,最悪ケーブル自作すれば何とかなるって事でアタリはつけとりました.が,「Windows2000でふつーに動いている」物が,なんでわざわざ抵抗入りケーブルつくらにゃならんの?というのがあって,早速解析開始.
マニュアルに載っている端子仕様は下記の通り.
ピン番号 | 信号名 |
---|---|
1 | BL (Battery Low) |
2 | |
3 | BS (Backup Stop) |
4 | |
5 | COM |
6 | |
7 | |
8 | BU (Backup) |
9 |
出力は全てO.C.出力.で,Windows2000とかだと,付属のケーブル(7pin以外がストレート結線)で接続するだけで“PowerAssistant”なるソフトでシリアル通信で,バッテリーの使用開始日などを記録できたりするらしい.って,どう見ても上の仕様鵜呑みにすると,そんな芸当出来るはずがない.マニュアルに記載されていない他のピンに何かあるぞと,分解して中開けてみると・・・.
あるわあるわ,わけのわからん回路が(汗).他にも,タイマーICの555とか,謎のリレーがあったりしたけど,面倒なので解析してないっす.555_X/555_Yというオフページ信号線が555へ繋がっているらしき信号.RELAY_X/RELAY_Yというのがリレーへ繋がっているらしき信号.どうも555は昇圧回路の発振器の模様.
これって,ふつーにストレート結線で繋いで,RTS/DTRをイネーブルにしとけば,ちゃんとプルアップされるやん・・・みたいな.ただし信号のLowレベルがRS232Cの本来の負電圧ではなく,0VになるのでPCの機種によってはちゃんと信号が検出出来ない恐れがあるけど,ほとんどのドライバICではスレッショルド電圧が1Vあたりなので,トランジスタの飽和電圧差し引いて,ぎりぎり検出可能・・・.(^^; あと,純正ケーブルが7pin繋いでなかったり,7pinからR/C/Di通してBSに繋がってるのがいまいち訳が分からない・・・.
PowerAssistantだと,ちゃんとシリアル通信でやりとりしてるんでしょうな.BUなんかも端子で見るのではなくて,通信して情報ひっぱってるのかな? RxDにいたっては,ちゃんと負電圧吐けるようになってるし.ただ,通信コマンド調べるのはちょっと鬱なので今回は諦め.
とりあえず,ふつーに市販のストレートの9pinオスーメスケーブル(またの名を延長ケーブル)で繋いで,RTS/DTRイネーブルで,BUのセンス成功〜.BLも多分大丈夫だろう(を.ブレーク信号発生で電源停止成功〜.で,FreeBSD QandA 318の工藤氏のソースをちょこっといじくったのがこれです.DIP-SWの設定は3番がONであること(BS認識まで10秒以上)を想定してます.3番がOFF(BS認識まで10ms以上)だと,RTSイネーブルにした瞬間に電源が落ちるかも知れません(滝汗).もしこのプログラムを使用して損害が発生しても責任もてませんので,参考までに.てか,BSDのプログラム生まれて初めて書いた(変更した)よ.シャットダウン&UPS電源断は,かなりいいかげんに書いているので,書き直すことをオススメします.てか,識者の方,ちゃんと書き直して.(願)