文書の表示以前のリビジョンバックリンク全て展開する/折り畳む文書の先頭へ 文書の過去の版を開いています。もしこのまま保存すると、この文書が最新となります。 ====== やりたいこと ====== RaspberryPiでUPS(APC Smart-UPS LCDシリーズ)を監視 停電時にローカルネットワーク下のマシンを全てシャットダウンさせる apcupsdを使えばクソ高いネットワークカードを購入する必要はない ====== UPS ====== UPSのファームウエアを最新にして、動作モードをMODBUSに変更しないとだめ http://apcupsd.cvs.sourceforge.net/viewvc/apcupsd/apcupsd/ReleaseNotes?pathrev=Release-3_14_11 http://www.on-sky.net/~hs/index.cgi?date=20140813 ====== ますたー ====== APC Smart-UPS LCD以降は独自プロトコルのせいで apcupsd最新版(3.14.13以上)でなければUSB接続で監視できない rasbianでapt-getしておちてくるのは3.14.12なので自分でmakeしようと思ったがなんかエラーでてよくわからないから archlinuxのarmv7h用パッケージ解凍して無理やりいれる http://us.mirror.archlinuxarm.org/armv7h/community/apcupsd-3.14.13-3-armv7h.pkg.tar.xz apcups.confのUPS設定部分はこれ。これより下の方は適当 <code> UPSCABLE usb UPSTYPE usb DEVICE BATTERYLEVEL 残りバッテリー%になったらシャットダウン MINUTES 残りバッテリー分になったらシャットダウン TIMEOUT 0 </code> /etc/init.d/apcupsつくって起動でーもんスクリプト書く。deb拾ってきていれてもいいか。 sysv-rc-conf apcups onで自動起動 するはずだったがしない。イミフメイだから/etc/init.d/rc.localにかいてごまかす 一定条件になるとUPS電源落とすように設定 本来であればこれもinit.dに記述すべきだがやっぱり動かない なのでapccontrolのシャットダウン処理部分にapcupsd --killpowerいれこみ さらにpowerfailファイルがないと動かないのでonbatteryでtouchさせる offbatteryでは消す。 停電→onbattery→ups shutdown→pi shutdown 復電時にはUPS再起動に伴ってpi自動起動 さらにpiからwol飛ばしNAS起動させる このためにcroneでwakeuplan常に飛ばし続けるが停電時、条件そろうと再起動ループしてしまう 対策としてpowerfailの有無(あればバッテリー駆動、なければAC駆動)で分岐処理させて対応 ====== すれいぶ ====== うぃんどうずもlinuxもmacもmakeしろ synology nasはこれ起動スクリプトにする <code> #!/bin/sh # startup scripts for APCUPSD. apcupsd_enable=${apcupsd_enable:-YES} apcupsd_program=${apcupsd_program:-/opt/sbin/apcupsd} apcupsd_flags=${apcupsd_flags:-"--kill-on-powerfail"} apcupsd_pidfile=${apcupsd_pidfile:-/var/run/apcupsd.pid} apcupsd_lockfile=${apcupsd_pidfile:-/var/spool/lock/apcupsd.lock} </code> <code> case in </code> <code> start) case "${apcupsd_enable}" in [Yy][Ee][Ss]) rm -f /var/run/powerfail rm -f /var/run/nologin if [ -f ${apcupsd_program} ]; then echo -n " apcupsd" ${apcupsd_program} ${apcupsd_flags} || return=" Failed." touch ${apcupsd_lockfile} fi ;; esac ;; </code> <code> stop) PID=$(pidof apcupsd) kill $PID || return=" Failed." rm -f ${apcupsd_pidfile} ;; restart) stop sleep 5 start ;; status) /opt/sbin/apcaccess status ;; *) echo "usage: {start|stop|restart|status}" 1>&2 ;; esac exit 0; </code> 人間の証明として、ボックス内の全ての文字を入力してください。 この項目は空のままにして下さい:保存プレビューキャンセル 編集の概要 ログイン管理DetachClose この項目はまだ存在しません この項目はまだ作成されていません。もし、文書作成の権限がある場合は、文書の作成をクリックして最初の文書を作成することができます。 めも/raspberrypiにupsを監視させる.1463910283.txt.gz 最終更新: 2016/05/22 18:44by 127.0.0.1 ログイン