O suco4halt é um chapéu de framboesa que atua como um UPS de curta duração. Ele usa 2 supercapacitores para alimentar o Raspberry Pi por alguns segundos, tempo suficiente para desligar com segurança no caso de uma falha de energia.
Para usar este dispositivo, são necessários alguns scripts para permitir a comunicação sobre o GPIO, entre o Raspberry Pi e o suco4halt. O site oficial fornece alguns aqui, mas esta versão usa systemd , que tem algumas vantagens.
NOTA: Isso é testado apenas no Stock Raspberry Pi OS. Outras distribuições podem funcionar, mas não são testadas.


O módulo Juice4Halt, à medida que parece quando instalado em um Raspberry Pi Modelo 3b+. Observe o tamanho daqueles capacitores robustos "bigcap".
Quando as botas Raspberry Pi, systemd ativa o juice4halt.service , que inicia o script watchdog.sh . Ele envia um pulso de gpio para o suco4halt, informando que a inicialização está completa. Em seguida, fica para sempre, ouvindo um pulso do suco4halt, indicando que a energia foi perdida. Neste ponto, o cão de guarda sai seu loop e inicia um desligamento do sistema.
Quando é necessária uma reinicialização manual (depois de instalar um novo software ou por qualquer outro motivo), systemd executa o script de scripts safe-shutdown.sh , como parte do processo de desligamento regular. Isso garante que o suco4halt esteja no estado correto na inicialização subsequente. Se isso não for feito, o suco4halt não funcionará corretamente após a reinicialização.
Quando um desligamento é acionado pelo watchdog.sh , este script automático de desligamento é ignorado, pois não é necessário.
NOTA IMPORTANTE: Se o sistema for ordenado a shutdown ou poweroff , (em oposição à reboot ) a energia deverá ser fisicamente removida do suco4halt e os capacitores devem ser descartados completamente. O Raspberry Pi não poderá iniciar uma nova inicialização antes que a energia seja completamente drenada.
/etc/rc.local , etc.)cd para o seu diretório doméstico /home/pigit clone [email protected]:skhg/juice4halt.gitcd para o novo diretório juice4haltsudo ./setup.sh para instalar a configuração systemd . Execute systemctl status juice4halt para ver as informações de status e confirmar que está em execução.
Saída de amostra:
● 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.
O script de guarda e scripts seguros são modificados a partir dos orgínios fornecidos pelo Juice4Halt em https://juice4halt.com/download.