Batteritider för Raspberry Pi Zero 2, optimering och installation

Hur man driver en Raspberry Pi med ett batteri

Det enklaste sättet för en plug-and-play-upplevelse är att köra den från en powerbank gjord för att ladda telefoner. De är enklast eftersom allt fungerar, men de är också minst anpassningsbara.

Om du vill ha en mer anpassningsbar lösning kan du överväga att skaffa PowerBoost 1000 Grundläggande som gör att du kan öka spänningen från 1,8 V, vilket innebär att du kan använda 2x NiMH-batterier eller ett litiumbatteri för att driva din Raspberry Pi Zero 2 W.

Exempel på batteridrivna applikationer med Pi Zero 2

Att använda Raspberry Pi Zero 2 på ett batteri är meningsfullt för applikationer som t.ex,

  • Emulering av retrospel: Retroflag GPi-fodral eller en specialbyggd med en 7" skärm
  • IoT/automatiseringsenheter som är långt från ett eluttag (vädersensor, föroreningsdetektor, djurkameror, bevattningsanordningar för växter, foderautomater för husdjur)
  • ePaper-displayer: digitala namnbrickor, aktietickers, att-göra-listor

Hur man loggar drifttid

pi zero 2 med batteripaket

För att logga din drifttid bör du installera paketet uptimed.

Öppna en terminal och kör:

sudo apt-get install uptimed

Efter installationen måste du starta och köra tjänsten genom att köra:

systemctl enable uptimed

systemctl start uptimed

Eftersom vi försöker fastställa hur lång batteritid vi kan förvänta oss är det viktigt att se till att uptimeds konfigurationsfiler tillåter mycket kortare loggningsintervall än vad som är standard.

Som standard skriver uptimed bara till loggarna varje timme och registrerar inga poster som är kortare än en timme.

För att ändra detta måste du ändra konfigurationsfilen. Som standard är

I Terminal, kör:

sudo nano /etc/uptimed.conf

Ändra följande variabler:

UPPDATERING_INTERVALL=60

LOG_MINIMUM_UPTIMED = 60

Som standard är båda variablerna inställda på en timme (antingen 3600 sekunder eller 1h). Genom att ställa in dem på 60 sekunder kan vi logga batteriets drifttid ner till minuten.

Inaktiv körtid

Körtid: 30 timmar och 12 minuter

Jag körde en 5000mA powerbank på Raspberry Pi Zero 2W utan tillbehör och på Raspberry Pi OS (2021-10-31). Allt är standard.

Detta motsvarar den bästa batteritid som du skulle kunna få ut av en standard Raspberry Pi Zero 2 W.

Stress Runtime

I verkligheten är det troligt att du har vissa tillbehör till den, till exempel HDMI eller något på GPIO. Så nästa test blir ett bättre sätt att ta reda på vad som är det värsta tänkbara scenariot.

Körtid: 6 timmar och 54 minuter

För att köra ett stresstest körde jag kommandot

stress-ngcpu 4cpu-method fft

-cpu-metoden fft och -cpu 4 användes baserat på en slutsats på Raspberry Pi forumet, som fann att det drog en av de högre belastningarna

Jag märkte omedelbart att CPU-användningen sköt upp till 100% när jag körde det här kommandot.

Optimeringar

Du kan minska strömförbrukningen ytterligare genom att stänga av olika komponenter i Raspberry Pi Zero 2 W.

Här är de energibesparingar du kan göra:

Släck LED: 5mA1

Stäng av WiFi: 11mA-187mA2

Använd äldre drivrutiner + inaktivera HDMI: 21 mA + 17 mA 2

Släck LED

raspberry pi zero 2 led wifi
Före

Du kan spara 5 mA genom att stänga av LED-lampan. Så här gör du.

Om du bara vill köra det en gång behöver du köra det här kommandot i terminalen:

echo none | sudo tee /sys/class/leds/led0/trigger

Men om du vill att LED-lampan ska vara permanent avstängd vid omstart, öppnar du terminalen och skriver in:

sudo crontab -e

När du är i filen, skrolla hela vägen till botten och skriv in dessa rader:

@reboot echo none | sudo tee /sys/class/leds/led0/trigger &

Efter nästa och efterföljande omstarter kommer den gröna LED-lampan på din Pi Zero 2 W att vara tänd tills operativsystemet startas upp, varefter den släcks.

Stäng av WiFi

På samma sätt kan du stänga av WiFi permanent genom att köra kommandot

sudo rfkill block wifi

Om du vill att kommandot ska köras vid omstart öppnar du terminalen och skriver in

sudo crontab -e

Bläddra till botten och skriv in den här raden

@reboot sudo rfkill block wifi &

När du har startat om bör du se att WiFi är inaktiverat vid start.

hallon pi noll 2 inaktivera wifi och ledde avstängd
Efter

Använd äldre drivrutiner + inaktivera HDMI

Om du har byggt en batteridriven enhet är chansen mycket större att du inte kommer att köra en monitor.

Eller så kanske du planerar att köra din Raspberry Pi Zero 2 W i huvudlöst läge. Det är också en annan anledning att inaktivera HDMI.

Det motsägelsefulla här är att jag var tvungen att aktivera WiFi, vilket medförde strömförbrukning, för att kunna inaktivera HDMI så att jag kunde styra min Pi Zero 2 via SSH. Så, välj dina strider.

Aktivera äldre GL-drivrutiner

Innan du inaktiverar HDMI måste du använda den äldre grafikdrivrutinen. 

Öppna en terminal och kör:

sudo raspi-config

Gå sedan till Avancerade alternativ -> GL-drivrutin -> Legacy

Nu när detta är gjort kan du gå vidare och inaktivera din HDMI genom att köra kommandot:

sudo nano /etc/rc.local

Precis ovanför raden "exit 0" skriver du in /usr/bin/tvservice -o

För att återaktivera HDMI, radera bara den här raden. Jag gjorde det via SSH.

Inaktivera kärnor

Alla tips ovan minskar strömförbrukningen i viloläge, men du kan också begränsa den maximala strömförbrukningen genom att inaktivera kärnor.

För att göra detta vill du öppna en terminal och skriva in:

sudo nano /boot/cmdline.txt

Skriv in maxcpus=1 på första raden och spara filen genom att trycka på CTRL + X och spara genom att trycka på Y.

Starta sedan om.

Vid omstart kan du kontrollera om din ändring fungerade genom att köra lscpu i terminal.

Om du ser "Off-line CPU(s) list: 1-3", då fungerade det och du kör på en kärna.

inaktivera kärnor raspberry pi zero 2 w

Om du vill lära dig mer om vad du kan göra med din Raspberry Pi Zero 2, kolla in denna artikel.

Lämna en kommentar