作成したシステムの外観
- 外観はまるで時限爆弾です。
- システムの異常時に,システムの電源を入り切り(再起動)をするシステムです。
- Raspberry PiのGPIOで制御します。
- 監視対象はRaspberry Pi自身,または他のシステムにも適用できます。
ウォッチドッグタイマーの必要性
- 万一,システムがフリーズするなど,制御不能に陥った場合にはシステムの再起動が必要です。
- 特に,システムが遠隔地など物理的操作が容易でない場合はなおさらです。
- OSの再起動ではなく,電源の入り切りを必要とする場合があります。
筆者個人のニーズ
- 筆者は大学の研究において,Raspberry Pi Zeroを連続運用しています。
- 下記の異常時にRaspberry Pi Zeroの電源を入り切りする必要があります。
- 異常時1: 低スペックゆえにRaspberry Pi ZeroのOSがフリーズする。
- 異常時2: Raspberry Pi Zeroに接続してるUSBモジュールがとつぜん認識されなくなる。
しくみ
- Raspberry Piからウォッチドッグタイマーに定期的にトリガー信号を入力する。
- ウォッチドッグタイマーはしばらくトリガー信号が入力されないと,リレーを動作させる。
- システムに異常が発生するとトリガー信号を送信しない(またはできない)ので,リレーを経由したRaspberry Piの電源が入り切りされて,システムを再起動!
- GPIO25を使用しました。
- GPIOを出力したままフリーズしにくいかもと思って,プルダウンが有効らしい9~25のGPIOピンをつかいました。
- GPIO25を使用しました。
- タイマー$t_1$は600秒(10分)にしました。
- Raspberry Piは異常がないときにトリガーを毎分送信します。

