Strumento PiPower 5
Lo strumento PiPower 5 è il software companion per PiPower 5.
Fornisce:
Supporto per lo spegnimento sicuro
Gestione della batteria e della ricarica
Monitoraggio dell’alimentazione
Accesso al pannello di controllo Web
Notifiche di eventi
PiPower 5 può inviare richieste di spegnimento al Raspberry Pi nelle seguenti situazioni:
Il pulsante PiPower viene tenuto premuto per 2 secondi
Il livello della batteria scende al di sotto della percentuale di spegnimento configurata
Dopo il completamento dello spegnimento del Raspberry Pi, PiPower 5 può scollegare automaticamente l’alimentazione per prevenire il danneggiamento della scheda SD e problemi di perdita improvvisa di alimentazione.
Installare lo strumento pipower5
Installare lo strumento PiPower 5:
Clonare il repository:
git clone https://github.com/sunfounder/pipower5
Entrare nella directory:
cd pipower5
Eseguire l’installatore:
sudo python3 install.py
Riavviare il Raspberry Pi quando richiesto.
Riferimento dei comandi
Lo strumento pipower5 fornisce accesso alle informazioni di stato e alle opzioni di configurazione di PiPower 5.
Ad esempio, il seguente comando visualizza lo stato corrente di PiPower 5:
pipower5 -a
Esempio di output:
Input:
voltage: 0 mV
current: 0 mA
power: 0.000 W
plugged in: False
Output:
voltage: 5296 mV
current: 452 mA
power: 2.394 W
Battery:
voltage: 8028 mV
current: -315 mA
power: -2.529 W
percentage: 91 %
source: 1 - Battery
charging: False
Internal:
shutdown request: 0 - NONE
power button: 0 - RELEASED
max charging current: 0 mA
default on: on
shutdown percentage: 10 %
È possibile personalizzare queste impostazioni in base alle proprie esigenze.
Utilizzare pipower5 o pipower5 -h per le istruzioni.
usage: pipower5 [-h] [-v] [-c] [-drd [DATABASE_RETENTION_DAYS]]
[-dl [{debug,info,warning,error,critical}]] [-rd]
[-cp [CONFIG_PATH]] [-sp [SHUTDOWN_PERCENTAGE]] [-iv] [-ic]
[-ov] [-oc] [-bv] [-bc] [-bp] [-bs] [-ii] [-ichg] [-do] [-sr]
[-pb] [-cc] [-a] [-fv] [-pfs [POWER_FAILURE_SIMULATION]]
[-seo [SEND_EMAIL_ON]] [-set [SEND_EMAIL_TO]]
[-ss [SMTP_SERVER]] [-smp [SMTP_PORT]] [-se [SMTP_EMAIL]]
[-spw [SMTP_PASSWORD]] [-ssc [SMTP_SECURITY]] [-bzo [BUZZ_ON]]
[-bzv [BUZZER_VOLUME]] [-bzt [BUZZER_TEST]] [-u [{C,F}]]
[{start,stop}]
PiPower 5
positional arguments:
{start,stop} Command
options:
-h, --help show this help message and exit
-v, --version Show version
-c, --config Show config
-drd [DATABASE_RETENTION_DAYS], --database-retention-days [DATABASE_RETENTION_DAYS]
Database retention days
-dl [{debug,info,warning,error,critical}], --debug-level [{debug,info,warning,error,critical}]
Debug level
-rd, --remove-dashboard
Remove dashboard
-cp [CONFIG_PATH], --config-path [CONFIG_PATH]
Config path
-sp [SHUTDOWN_PERCENTAGE], --shutdown-percentage [SHUTDOWN_PERCENTAGE]
Set shutdown percentage, leave empty to read
-iv, --input-voltage Read input voltage
-ic, --input-current Read input current
-ov, --output-voltage
Read output voltage
-oc, --output-current
Read output current
-bv, --battery-voltage
Read battery voltage
-bc, --battery-current
Read battery current
-bp, --battery-percentage
Read battery percentage
-bs, --battery-source
Read battery source
-ii, --is-input-plugged_in
Read is input plugged in
-ichg, --is-charging Read is charging
-do, --default-on Read default on
-sr, --shutdown-request
Read shutdown request
-pb, --power-btn Read power button
-cc, --charging-current
Max charging current
-a, --all Show all status
-fv, --firmware PiPower5 firmware version
-pfs [POWER_FAILURE_SIMULATION], --power-failure-simulation [POWER_FAILURE_SIMULATION]
Power failure simulation
-seo [SEND_EMAIL_ON], --send-email-on [SEND_EMAIL_ON]
Send email on: ['battery_activated', 'low_battery',
'power_disconnected', 'power_restored',
'power_insufficient', 'battery_critical_shutdown',
'battery_voltage_critical_shutdown']
-set [SEND_EMAIL_TO], --send-email-to [SEND_EMAIL_TO]
Email address to send email to
-ss [SMTP_SERVER], --smtp-server [SMTP_SERVER]
SMTP server
-smp [SMTP_PORT], --smtp-port [SMTP_PORT]
SMTP port
-se [SMTP_EMAIL], --smtp-email [SMTP_EMAIL]
SMTP email
-spw [SMTP_PASSWORD], --smtp-password [SMTP_PASSWORD]
SMTP password
-ssc [SMTP_SECURITY], --smtp-security [SMTP_SECURITY]
SMTP security, 'none', 'ssl' or 'tls'
-bzo [BUZZ_ON], --buzz-on [BUZZ_ON]
Buzz on: ['battery_activated', 'low_battery',
'power_disconnected', 'power_restored',
'power_insufficient', 'battery_critical_shutdown',
'battery_voltage_critical_shutdown']
-bzv [BUZZER_VOLUME], --buzzer-volume [BUZZER_VOLUME]
Buzz volume
-bzt [BUZZER_TEST], --buzzer-test [BUZZER_TEST]
Test buzzer on selected event.
-u [{C,F}], --temperature-unit [{C,F}]
Temperature unit
Nota
Ogni volta che si modifica lo stato di pipower5.service, è necessario utilizzare il seguente comando per rendere effettive le modifiche di configurazione.
sudo systemctl restart pipower5.service
Verificare lo stato del programma pipower5 utilizzando lo strumento systemctl.
sudo systemctl status pipower5.service
In alternativa, ispezionare i file di log generati dal programma.
cat /opt/pipower5/log
Pannello di controllo Web
Lo strumento PiPower 5 include un pannello di controllo Web integrato per il monitoraggio e la configurazione.
Accedere al pannello di controllo dal browser:
http://<indirizzo-ip-raspberry-pi>:34001
Le funzionalità del pannello includono:
Monitoraggio della percentuale della batteria
Monitoraggio dello stato di carica
Monitoraggio della tensione di ingresso e uscita
Monitoraggio della corrente
Configurazione della percentuale di spegnimento
Gestione delle notifiche
Informazioni sul dispositivo Raspberry Pi
È anche possibile configurare la percentuale di spegnimento direttamente dal pannello di controllo:
Se non si necessita del pannello di controllo, rimuoverlo con:
pipower5 --remove-dashboard
Spegnimento sicuro
PiPower 5 supporta la protezione automatica con spegnimento sicuro per i sistemi Raspberry Pi.
Flusso di lavoro di spegnimento:
Spegnimento attivato
-> Il Raspberry Pi esegue uno spegnimento sicuro
-> PiPower 5 rileva il completamento dello spegnimento
-> PiPower 5 scollega automaticamente l'alimentazione
Questo aiuta a prevenire:
Il danneggiamento della scheda SD
Danni al file system
Problemi di perdita improvvisa di alimentazione
Spegnimento dopo l’arresto del Raspberry Pi
Per consentire a PiPower 5 di scollegare automaticamente l’alimentazione dopo lo spegnimento del Raspberry Pi, è necessaria una configurazione aggiuntiva.
Se si utilizza un Raspberry Pi 4 o 5:
Se si utilizza un Raspberry Pi 3 o precedente:
Impostare il ponticello
SDSIGsu PiPower 5 suGPIO26.
Aprire
/boot/firmware/config.txt:sudo nano /boot/firmware/config.txt
Aggiungere le seguenti righe:
dtoverlay=gpio-poweroff,gpio_pin=26,active_low=1 gpio=26=op,dh
Premere
Ctrl+X, poiY, e premereInvioper salvare il file e uscire.Riavviare il Raspberry Pi.
sudo reboot
Dopo la configurazione, PiPower 5 può rilevare automaticamente lo spegnimento del Raspberry Pi e scollegare l’alimentazione in modo sicuro.
I metodi di spegnimento sicuro supportati includono:
Tenere premuto il pulsante PiPower per 2 secondi
Spegnere dal menu del desktop Raspberry Pi
Eseguire
sudo shutdown nowSpegnimento automatico quando il livello della batteria scende al di sotto della percentuale di spegnimento configurata
Configurare la percentuale di spegnimento
È possibile configurare la percentuale della batteria che attiva lo spegnimento automatico.
Esempio:
pipower5 -sp 30
Questo imposta la soglia di spegnimento al 30%.
Quindi utilizzare il seguente comando per rendere effettive le modifiche di configurazione.
sudo systemctl restart pipower5.service
Quando il livello della batteria scende al di sotto del 30%, PiPower 5 chiederà al Raspberry Pi di spegnersi e scollegherà automaticamente l’alimentazione.
È anche possibile leggere la percentuale di spegnimento corrente:
pipower5 -sp
Suggerimento
Per i sistemi Raspberry Pi 5 con elevato consumo energetico (>3A), si consiglia di impostare la percentuale di spegnimento al 100%.
Questo garantisce che il Raspberry Pi si spenga immediatamente quando l’alimentazione esterna viene scollegata, aiutando a proteggere il sistema e i dispositivi di archiviazione.
Monitoraggio dell’alimentazione
PiPower 5 fornisce monitoraggio in tempo reale per:
Percentuale della batteria
Stato di carica
Tensione di ingresso
Tensione di uscita
Corrente di ingresso
Corrente di uscita
Tensione della batteria
Corrente della batteria
Comandi utili:
Visualizzare la percentuale della batteria:
pipower5 -bp
Visualizzare lo stato di carica:
pipower5 -ichg
Visualizzare la tensione di ingresso:
pipower5 -iv
Visualizzare tutte le informazioni di stato:
pipower5 -a
Per l’elenco completo dei comandi:
pipower5 --help
Notifiche
PiPower5 supporta notifiche guidate dagli eventi tramite:
Avvisi acustici (buzzer)
Notifiche email
Gli eventi supportati includono:
battery_activatedlow_batterypower_disconnectedpower_restoredpower_insufficientbattery_critical_shutdownbattery_voltage_critical_shutdown
Nota
Ogni volta che si modifica lo stato di pipower5.service, è necessario utilizzare il seguente comando per rendere effettive le modifiche di configurazione.
sudo systemctl restart pipower5.service
Descrizioni degli eventi
battery_activatedAttivato quando la batteria inizia a fornire alimentazione. Questo si verifica tipicamente se la fonte di alimentazione esterna è scollegata o non è in grado di fornire potenza sufficiente.
Condizione di ripristino: Si ripristina automaticamente dopo la disconnessione dell’alimentazione esterna.
low_batteryAttivato quando il livello di carica della batteria scende al di sotto della soglia di spegnimento configurata.
Ripetizione: Se la batteria rimane al di sotto di questa soglia, l’evento viene attivato ogni 10 minuti.
Condizione di ripristino: Si ripristina quando la carica della batteria risale sopra la soglia di spegnimento + 5%.
power_disconnectedAttivato quando la fonte di alimentazione esterna viene scollegata.
Condizione di ripristino: Si ripristina quando l’alimentazione esterna viene ripristinata.
power_restoredAttivato quando la fonte di alimentazione esterna viene ripristinata.
Condizione di ripristino: Si ripristina se l’alimentazione esterna viene nuovamente scollegata.
power_insufficientSi verifica quando l’alimentazione esterna è insufficiente, richiedendo alla batteria di fornire potenza supplementare.
Azione consigliata: Verificare la potenza nominale della fonte di alimentazione o controllare le impostazioni di potenza di carica configurate.
Condizione di ripristino: Si ripristina quando la fonte di alimentazione esterna viene scollegata.
battery_critical_shutdownAttivato appena prima dello spegnimento del sistema a causa della capacità della batteria criticamente bassa.
battery_voltage_critical_shutdownAttivato quando la tensione della batteria scende al di sotto della soglia critica, portando allo spegnimento.
Nota: Questo evento è raramente attivato nell’uso normale. In genere, l’evento
low_batteryavvia una sequenza di spegnimento prima che la tensione scenda così tanto. Questo funge da meccanismo di spegnimento di sicurezza.
Con questi eventi, PiPower5 fornisce sia avvisi proattivi (es. batteria scarica, potenza insufficiente) che salvaguardie critiche (es. attivatori di spegnimento), garantendo un funzionamento stabile e la protezione dei dati.
Avvisi acustici (Buzzer)
PiPower5 supporta notifiche acustiche per diversi eventi di sistema.
È possibile configurare gli avvisi acustici tramite il pannello di controllo Web o lo strumento a riga di comando. Quando si verifica un evento configurato, PiPower5 riproduce il suono acustico corrispondente.
Le funzionalità includono:
Notifiche acustiche basate sugli eventi
Volume del buzzer regolabile (1–10)
Anteprima del suono degli eventi
Supporto per effetti sonori personalizzati
Gli utenti avanzati possono anche creare effetti sonori acustici personalizzati.
Aprire il file di configurazione:
/opt/pipower5/venv/lib/python3.11/site-packages/pipower5/config.json
Individuare la sezione
pipower5_buzz_sequence.Ogni effetto sonoro è definito utilizzando il seguente formato:
[action, duration]
Dove:
actionpuò essere:Una nota musicale, come
"A4","D3"o"C#4"Un valore di frequenza (intero)
"pause"per il silenzio
durationè il tempo di riproduzione in millisecondi (ms)
Avvisi email
PiPower5 supporta notifiche email per eventi di sistema importanti, come:
Batteria scarica
Alimentazione scollegata
Alimentazione ripristinata
Eventi di spegnimento critico
Le notifiche email possono essere configurate tramite il pannello di controllo Web o lo strumento a riga di comando.
Per utilizzare gli avvisi email, è necessario un server SMTP. La maggior parte dei provider di posta elettronica supporta i servizi SMTP.
Per Gmail, è sufficiente creare una password per app
Per altri provider, abilitare l’accesso SMTP e generare una password SMTP dedicata se necessario
Prima della configurazione, preparare le seguenti informazioni:
Indirizzo del server SMTP (Esempio:
smtp.gmail.com)Porta SMTP (Esempio:
465o25)Tipo di crittografia (
None/SSL/TLS)Account SMTP (Solitamente il proprio indirizzo email)
Password SMTP (Password per app o password SMTP)
Dopo aver inserito le informazioni SMTP, configurare l’indirizzo email del destinatario.
Nota
PiPower5 utilizza il server SMTP per accedere al proprio account email e inviare notifiche.
È possibile utilizzare lo stesso indirizzo email sia come mittente che come destinatario.
Dopo la configurazione, utilizzare il comando di test per verificare la connessione SMTP e la consegna delle email.