Durata della batteria di Raspberry Pi Zero 2, ottimizzazione e configurazione
Come far funzionare un Raspberry Pi con una batteria
Il modo più semplice per ottenere un'esperienza plug-and-play è quello di utilizzare un power bank per la ricarica dei telefoni. Sono i più semplici perché funzionano tutti, ma sono anche i meno personalizzabili.
Se si desidera una soluzione più personalizzabile, si può prendere in considerazione l'opzione PowerBoost 1000 Basic che vi consentirà di aumentare la tensione da 1,8 V, il che significa che potrete utilizzare due batterie NiMH o una batteria al litio per alimentare il vostro Raspberry Pi Zero 2 W.
Esempi di applicazioni alimentate a batteria con il Pi Zero 2
L'utilizzo del Raspberry Pi Zero 2 su una batteria ha senso per applicazioni quali,
- Emulazione di giochi retro: Custodia Retroflag GPi o un costruzione personalizzata con schermo da 7
- Dispositivi IoT/automazione lontani da una presa di corrente (sensori meteo, rilevatori di inquinamento, telecamere per animali, dispositivi per l'irrigazione delle piante, mangiatoie per animali domestici)
- Display ePaper: targhette digitali, indici di borsa, elenchi di cose da fare.
Come registrare il tempo di attività
Per registrare il tempo di attività, è necessario installare il pacchetto uptimed.
Aprire un terminale ed eseguirlo:
sudo apt-get install uptimed
Dopo l'installazione, è necessario avviare ed eseguire il servizio con il comando Esegui:
systemctl enable uptimed
allora
systemctl start uptimed
Dal momento che stiamo cercando di stabilire la durata dell'autonomia della batteria, è importante assicurarsi che i file di configurazione di uptimed consentano intervalli di registrazione molto più brevi di quelli predefiniti.
Per impostazione predefinita, uptimed scrive sui registri solo ogni ora e non registra alcun record inferiore a un'ora.
Per cambiare questo aspetto, è necessario modificare il file di configurazione. Per impostazione predefinita
Nel Terminale, eseguire:
sudo nano /etc/uptimed.conf
Modificare le seguenti variabili:
UPDATE_INTERVAL=60
LOG_MINIMUM_UPTIMED = 60
Per impostazione predefinita, entrambe le variabili sono impostate su un'ora (3600 secondi o 1h). Impostandole a 60 secondi, è possibile registrare il tempo di funzionamento della batteria al minuto.
Tempo di esecuzione inattivo
Tempo di esecuzione: 30 ore e 12 minuti
Ho utilizzato un power bank da 5000 mA sul Raspberry Pi Zero 2W senza accessori e con il sistema operativo Raspberry Pi (2021-10-31). Tutto è stato impostato come predefinito.
Questo rappresenta la migliore durata della batteria che si può ottenere con un Raspberry Pi Zero 2 W predefinito.
Tempo di esecuzione dello stress
In realtà, è probabile che vi siano alcuni collegamenti, come HDMI o qualcosa sul GPIO. Quindi, il prossimo test sarà un modo migliore per scoprire qual è lo scenario peggiore.
Durata: 6 ore e 54 minuti
Per eseguire uno stress test, ho eseguito il comando
stress-ng –cpu 4 –cpu-method fft
Sono stati utilizzati i metodi -cpu-metodo fft e -cpu 4. basato su una conclusione sul forum Raspberry Piche ha riscontrato uno dei carichi più elevati.
Ho notato immediatamente che l'utilizzo della CPU è salito a 100% dopo l'esecuzione di questo comando.
Ottimizzazioni
È possibile ridurre ulteriormente il consumo di energia spegnendo vari componenti del Raspberry Pi Zero 2 W.
Ecco i risparmi energetici che si possono attivare:
Spegnimento del LED: 5mA1
Spegnimento del WiFi: 11mA-187mA2
Utilizzare i driver legacy + disabilitare l'HDMI: 21mA + 17mA 2
Spegnere il LED
È possibile risparmiare 5 mA spegnendo il LED. Ecco come fare.
Se volete eseguirlo solo una volta, dovete eseguire questo comando nel terminale:
echo none | sudo tee /sys/class/leds/led0/trigger
Tuttavia, se si desidera che il LED sia permanentemente spento al riavvio, aprire il terminale e digitare:
sudo crontab -e
Una volta entrati nel file, scorrete fino in fondo e digitate queste righe:
@reboot echo none | sudo tee /sys/class/leds/led0/trigger &
Dopo il prossimo e i successivi riavvii, il LED verde del Pi Zero 2 W rimarrà acceso fino all'avvio del sistema operativo, dopodiché si spegnerà.
Disattivare il WiFi
Allo stesso modo, è possibile disattivare permanentemente il WiFi eseguendo il comando
sudo rfkill block wifi
Per eseguire questo comando al riavvio, aprire il terminale e digitare
sudo crontab -e
Scorrere fino in fondo e digitare questa riga
@reboot sudo rfkill block wifi &
Una volta riavviato, si dovrebbe vedere che il WiFi è disabilitato all'avvio.
Utilizzare i driver legacy + disabilitare l'HDMI
Se avete costruito un dispositivo alimentato a batteria, è molto probabile che non utilizziate un monitor.
O forse avete intenzione di far funzionare il vostro Raspberry Pi Zero 2 W in modalità headless. Anche questo è un motivo in più per disabilitare l'HDMI.
L'aspetto contraddittorio è che ho dovuto attivare il WiFi, con conseguente consumo di energia, per disattivare l'HDMI in modo da poter controllare il mio Pi Zero 2 tramite SSH. Quindi, scegliete le vostre battaglie.
Abilitare i driver GL legacy
Prima di disabilitare l'HDMI, è necessario utilizzare il driver grafico legacy.
Aprire un terminale ed eseguire:
sudo raspi-config
Poi, vai a Opzioni avanzate -> Driver GL -> Legacy
Ora che questo è stato fatto, si può procedere a disabilitare l'HDMI eseguendo il comando:
sudo nano /etc/rc.local
Appena sopra la riga "exit 0", digitate /usr/bin/tvservice -o
Per riabilitare l'HDMI, è sufficiente cancellare questa riga. L'ho fatto tramite SSH.
Disattivare i core
Sebbene tutti i suggerimenti di cui sopra riducano il consumo energetico in idle, è possibile limitare il consumo massimo disabilitando i core.
Per farlo, occorre aprire un terminale e digitare:
sudo nano /boot/cmdline.txt
Digitare maxcpus=1 nella prima riga e salvare il file premendo CTRL + X e poi Y.
Quindi, riavviare.
Al riavvio, è possibile verificare se la modifica ha funzionato eseguendo lscpu nel terminale.
Se viene visualizzato "Elenco CPU non in linea: 1-3", allora ha funzionato e si sta utilizzando un solo core.
Se volete saperne di più su ciò che potete fare con il vostro Raspberry Pi Zero 2, date un'occhiata a questo articolo.