Raspberry Pi 3 & Python 開発ブログ☆彡

Raspberry Pi 3の使い方、設定をわかりやすく解説。Raspberry Pi3 Model B(Element14版)、Raspbian 8.0(NOOBS Ver1.9.2)を使用して開発中。

【スポンサーリンク】

Watchdog Timer(ウォッチドッグタイマー)の使い方

【スポンサーリンク】

本日はWatchdog Timer(ウォッチドッグタイマー)の使い方を紹介したいと思います。マイコンでは当たり前の機能ですが、なんとRaspberry Piでも同じことができます。Raspberry Piが予期せずフリーズしても自動で再起動してくれるので、長期に動かく場合は設定しておくことをお勧めします。それでは使い方を紹介します。

watchdogのインストール

まず、下記のコマンドでモジュールをインストールを行います。

sudo apt-get install watchdog

watchdog.serviceファイルの編集

まず、/lib/systemd/system/watchdog.serviceファイルを下記のコマンドで開きます。

sudo nano /lib/systemd/system/watchdog.service

以下のように編集します。
[Install]の下に"WantedBy=multi-user.target"を追加します。

....
[Install]
WantedBy=multi-user.target

update-rc.dコマンドの実行

下記のコマンドを実行し、自動起動するようにします。

sudo update-rc.d watchdog enable

modprobe bcm2835_wdtの実行

下記のコマンドを実行し、モジュールをロードします。

sudo modprobe bcm2835_wdt

watchdog.confの編集

/etc/watchdog.confを下記のコマンドで開きます。

sudo nano /etc/watchdog.conf

以下のように編集します。
・#max-load-1 = 24 ⇒  #を外す。
・#watchdog-device = /dev/watchdog ⇒  #を外す
・watchdog-device = /dev/watchdogのすぐ下に、"watchdog-timeout = 10" を追加する

全て設定が終わったら、再起動します。

動作確認

うまく設定ができているか確認します。わざとシステムを停止するコマンドを実行します。ターミナルで ":(){ :|:& };:" と入力するとシステムを停止することができます。

pi@raspberrypi:~ $ :(){ :|:& };:

しばらくして、自動的に再起動すればWatchdog Timerが正常に動作しています。外部のハード要因等でRaspberr Piがフリーズした時に自動的に再起動するので、設定しておいたほうが長期に継続動作させることができます。