HOME 無線 PC−1245 MSX ゲーム機 迷路
パソコン通信 売店 病院 PC−9800 PDA 太陽光発電 経済


JP3TLC's homepage
無線



「無線」メニュー

USBリレーで100V電源をオフオンする

 USBリレーで100V電源をコントロールできるようです。スマートプラグも売っていますが、 こちらの方がパソコンで自由にコントロールできてよいと思います。 今回購入したのは
DSTUR-T20
dstur-t20
という商品で、アマゾンで3000円弱で購入できます。 接続は、使う端子のネジを緩めて被覆をむいた電線を下の横穴につっこみネジを締め直せばOK。 写真は上からなので横穴が見えませんが、ネジの所で接続するわけじゃないので念のため。 COMには必ずつなぎます。もう1本をNO(Normaly open)につなぐと リレーがオフ(初期状態)のとき切断、リレーがオンのとき導通になります。 もう一本をNC(Normaly close)につなぐとリレーがオフ(初期状態)のとき導通、 リレーがオンのとき切断になります。なお、NO・COM・NCは背面に表示があります。 電源コードの片方だけこのリレーを経由するようにすれば、 2チャンネル目を別の用途に使用可能。 電源コードは壊れた家電のコードを根元と中間(片方だけ)で切って、 コンセントの受け口はホームセンターで買ってきた物を使用しました。 コントロールソフトはこちらにあります。 relay.exeが実行ファイルです。右上に検索ボックスがあり、検索するといくつかのバージョンがダウンロードできるようです。 でもWidows7では動きませんでした。代わりにrelay.pyを使いました。これは検索してもいいのですが、 ルートにあるので画面の下の方で見つかります。 relay.pyはpythonで動かしてください。 pythonをインストールしたら、 perlと違ってパスが通っていないので環境変数を設定後再起動してください。 「設定」で「環境変数」を検索して出るウィンドウの下の方にボタンがあります。 「path」に元々設定されている値(と;)に続けてpython.exeがあるフォルダを書けばOKです。 このリレーは命令を内蔵シリアルポートを通して送る仕組みになっていますので、 「python -m pip install pyserial」を実行してシリアル通信が使えるようにしてください。 perlと違ってプログラムの先頭に必要なモジュールを書くのではなく前記の操作が必要です。 リレーのドライバー(というかこのリレーに内蔵のシリアル通信のドライバー)は こちらにあります。Windows7の場合はその後dpinst_x86.exeを実行。 リレーを付属のコード(でなくてもいいけど)でUSB端子につなぎ、 「python relay.py list-ports」(relay.exeが使える方は 「python relay.py」を「relay.exe」に置き換えて読んでください)を実行すると、 使われているシリアルポート(COM番号)が分かります。私の環境ではCOM3になりました。

【使い方】(COM番号とリレー番号は例ですので適宜変更してください)
@リレーをONにする
python relay.py --port COM3 relay 1 on
AリレーをOFFにする
python relay.py --port COM3 relay 1 off

 さて、このリレーを買った目的は 「ルータ(および光モデム等)がおかしくなった時に自動的に再起動したい」というものでありました。 それを行うPerlスクリプトがこちらです。リレーの端子はNCの方を使っています。ご参考にどうぞ。
use LWP::Simple;
print $0."\n";
$t = localtime;
(select(STDOUT), $|=1);
print STDOUT $t."\n";

LS:
sleep 30;
$a='';
$a = get('https://www.google.com/');
if(index($a,'<')>-1){goto LS;}
$a='';
$a = get('https://www.yahoo.co.jp/');
if(index($a,'<')>-1){goto LS;}

system(1,'python relay.py --port COM3 relay 1 on');
sleep 10;
system(1,'python relay.py --port COM3 relay 1 off');
sleep 180;

goto LS;
※その後、停電(瞬断)が発生しましたが180秒では短かすぎて再起動を繰り返してしまいました。 上記の180はもっと大きな値に変更をお願いします。とりあえず600にしてみましたが、 それで問題ないかは次回の停電待ちです。

「無線」メニュー
このホームページの内容についてのご意見ご感想は jp3tlc@jarl.com までお願いします。返信を希望される場合はGmailからのメールを受信できるようにしてください。
HOME 無線 PC−1245 MSX ゲーム機 迷路
パソコン通信 売店 病院 PC−9800 PDA 太陽光発電 経済