Juice4Haltは、短期間のUPSとして機能するRaspberry Pi Hatです。 2つのスーパーキャパシタを使用して、ラズベリーPIに数秒間電力を供給します。停電が発生した場合に安全にシャットダウンするのに十分な時間です。
このデバイスを使用するには、Raspberry PiとJuice4Haltの間のGPIOを介した通信を有効にするためにいくつかのスクリプトが必要です。公式サイトはここでいくつかを提供しますが、このバージョンはいくつかの利点があるsystemdを使用しています。
注:これは、ストックRaspberry Pi OSでのみテストされています。他の分布は機能するかもしれませんが、テストされていません。


Juice4haltモジュールは、Raspberry Piモデル3b+にインストールされたときに見えるように見える。これらの分厚い「ビッグキャップ」コンデンサのサイズに注意してください。
Raspberry PIブーツの場合、 systemd watchdog.shスクリプトを開始するjuice4halt.serviceをアクティブにします。 GPIOパルスをJuice4Haltに送信して、起動が完了していることを通知します。その後、それは永遠にループし、Juice4haltからの脈拍を聞き、電力が失われたことを示します。この時点で、ウォッチドッグはループを終了し、システムのシャットダウンを開始します。
マニュアルの再起動が必要な場合(新しいソフトウェアをインストールした後、またはその他の理由で)、 systemd通常のシャットダウンプロセスの一部としてsafe-shutdown.shスクリプトを実行します。これにより、Juice4haltがその後のブーツで正しい状態になることが保証されます。これが完了していない場合、Juice4Haltは再起動後に正しく動作しません。
watchdog.shによってシャットダウンがトリガーされると、この自動シャットダウンスクリプトは不要に応じてバイパスされます。
重要な注意:システムがshutdownまたはpoweroffを命じられている場合、( rebootとは対照的に)電源をJuice4haltから物理的に除去する必要があり、コンデンサを完全に排出することを許可する必要があります。 Raspberry Piは、パワーが完全に排出される前に新しいブートアップを開始することができません。
/etc/rc.localなどのコマンドを含むなど)/home/piへのcdgit clone [email protected]:skhg/juice4halt.gitjuice4haltディレクトリへのcdsudo ./setup.shを実行して、 systemd構成をインストールします。 systemctl status juice4haltを実行して、ステータス情報を確認し、実行中の状態を確認します。
サンプル出力:
● juice4halt.service - juice4halt
Loaded: loaded (/home/pi/juice4halt/conf/juice4halt.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2020-12-30 13:24:17 CET; 3h 25min ago
Main PID: 353 (watchdog.sh)
Tasks: 2 (limit: 1939)
CGroup: /system.slice/juice4halt.service
├─ 353 /bin/bash /home/pi/juice4halt/bin/watchdog.sh
└─6213 sleep 0.2s
Dec 30 13:24:17 television systemd[1]: Started juice4halt.
ウォッチドッグとセーフシャットダウンスクリプトは、https://juice4halt.com/downloadのJuice4Haltが提供するOrginalsから変更されます。