SAAPにAutoReset回路追加
SAAPも機能が充実し、24時間運用を本格的にさるため、何らかの原因でフリーズした場合に備えて、リセットがかかり再起動するよう回路を追加してみました。
- 構成
SAAP のResetボタン == USBシリアル変換モジュール(FT232RL?使用) == 本サーバ(Ubuntu10.1)
- リセット回路部分
1)FT232RL+フォトカプラ
秋月にて以前購入済み、FT232RLを使用したUSB-シリアル変換
モジュールにダイオードとフォトカプラを使用した。
モジュールのピン2、3、がそれぞれRTS、DTR出力となっていて、
そこにダイオード経由で、フォトカプラを駆動する簡単なもの。
ただし、このままUSBを挿すと、各出力が不論理なため、フォトカプラが
ONになりっぱなし。従って、最初に、FT232RLの出力を
>>MProg:http://www.ftdichip.com/Resources/Utilities.htm
>>設定方法:http://www.rupis.net/ply_009.php
により出力ピンの初期値を反転させ(正論理にし)ておく。*1
2)ソフト
今回もbashのShell Script で作成。基本的には以下の通りで、これをバックグランドで実行しておくだけ。
今回はDTRの制御(gentest -d /dev/ttyUSB)のみ使用。
----- rs.sh ----
#!/bin/bash
echo "Initial DATA" > /root/getf.txt
while :
do
/usr/bin/wget -S -nd -nv -o getf.txt -t1 http://192.168.xxx.yyy/
if [ ! -s /root/getf.txt ]; then
/sbin/gentest -d /dev/ttyUSB0 &
sleep 1
pkill -9 gentest
echo "Initial DATA" > /root/getf.txt
fi
if [ -f /root/index.html.1 ]; then
rm /root/index.html.*
fi
sleep 30
done