Raspberry Pi Zero 2 batterijlooptijden, optimalisatie en installatie
Hoe een Raspberry Pi op een batterij werken
De eenvoudigste manier voor een plug-and-play-ervaring is om het te gebruiken met een powerbank die gemaakt is om telefoons op te laden. Ze zijn het makkelijkst omdat alles werkt, maar ze zijn ook het minst aanpasbaar.
Als je een meer aanpasbare oplossing wilt, overweeg dan om de PowerBoost 1000 Basis waarmee je spanningen van 1,8V kunt opvoeren, wat betekent dat je 2x NiMH-batterijen of één lithiumbatterij kunt gebruiken om je Raspberry Pi Zero 2 W van stroom te voorzien.
Voorbeelden van batterijgevoede toepassingen met de Pi Zero 2
Het gebruik van de Raspberry Pi Zero 2 op een batterij is zinvol voor toepassingen zoals,
- Emulatie van retro games: Retroflag GPi-koffer of een custom build met een 7" scherm
- IoT/automatiseringsapparaten die ver van een stopcontact staan (weersensor, vervuilingsdetector, camera's voor dieren, bewateringsapparaten voor planten, voederbakken voor huisdieren)
- ePaper-schermen: digitale naamplaatjes, aandelenkoersen, to-do lijsten
Uptime loggen
Om uw uptime te loggen, moet u het pakket uptimed.
Open een Terminal en voer deze uit:
sudo apt-get install uptimed
Na de installatie moet je de service starten en uitvoeren:
systemctl enable uptimed
dan
systemctl start uptimed
Omdat we proberen vast te stellen hoe lang de batterij kan meegaan, is het belangrijk om ervoor te zorgen dat de configuratiebestanden van uptimed veel kortere logintervallen toestaan dan standaard het geval is.
Standaard schrijft uptimed alleen elk uur naar de logs en zal geen records korter dan een uur opslaan.
Om dit te veranderen, moet je het configuratiebestand wijzigen. Standaard is
Voer in Terminal uit:
sudo nano /etc/uptimed.conf
Wijzig de volgende variabelen:
UPDATE_INTERVAL=60
LOG_MINIMUM_UPTIMED = 60
Standaard zijn beide variabelen ingesteld op één uur (3600 seconden of 1u). Door ze op 60 seconden in te stellen, kunnen we de gebruikstijd van de batterij tot op de minuut nauwkeurig loggen.
Inactieve runtime
Speelduur: 30 uur 12 minuten
Ik heb een 5000mA powerbank laten werken op de Raspberry Pi Zero 2W zonder hulpstukken en op het Raspberry Pi OS (2021-10-31). Alles is standaard.
Dit is de best mogelijke batterijlevensduur die je zou krijgen van een standaard Raspberry Pi Zero 2 W.
Stress Runtime
In werkelijkheid zul je er waarschijnlijk bepaalde aansluitingen op hebben zoals HDMI of iets op de GPIO. De volgende test zal dus een betere manier zijn om uit te vinden wat het slechtste scenario is.
Speelduur: 6 uur 54 minuten
Om een stresstest uit te voeren, voerde ik het commando
stress-ng –cpu 4 –cpu-method fft
De -cpu-methode fft en -cpu 4 werden gebruikt gebaseerd op een conclusie op het Raspberry Pi-forumwaaruit bleek dat het een van de hoogste belastingen trok
Ik merkte meteen dat het CPU-gebruik omhoog schoot naar 100% na het uitvoeren van dit commando.
Optimalisaties
Je kunt het stroomverbruik verder verminderen door verschillende onderdelen van de Raspberry Pi Zero 2 W uit te schakelen.
Hier zijn de energiebesparingen die je kunt inschakelen:
LED uitschakelen: 5mA1
WiFi uitschakelen: 11mA-187mA2
Oude stuurprogramma's gebruiken + HDMI uitschakelen: 21mA + 17mA 2
LED uitschakelen
Je kunt 5mA besparen door de LED uit te schakelen. Zo doe je dat.
Als je het maar één keer wilt uitvoeren, moet je dit commando in terminal uitvoeren:
echo none | sudo tee /sys/class/leds/led0/trigger
Als je echter wilt dat de LED permanent wordt uitgeschakeld bij het opnieuw opstarten, open dan je terminal en typ in:
sudo crontab -e
Als je eenmaal in het bestand bent, scroll je helemaal naar beneden en typ je deze regels in:
@reboot echo none | sudo tee /sys/class/leds/led0/trigger &
Na je volgende en daaropvolgende reboots, zal de groene LED van je Pi Zero 2 W blijven branden tot het OS opgestart wordt, waarna hij wordt uitgeschakeld.
Schakel WiFi uit
Op dezelfde manier kun je WiFi permanent uitschakelen met het commando
sudo rfkill block wifi
Om dit commando bij het opnieuw opstarten uit te voeren, open je je terminal en typ je in
sudo crontab -e
Scroll naar beneden en typ deze regel in
@reboot sudo rfkill block wifi &
Zodra je opnieuw opstart, zou je moeten zien dat je WiFi is uitgeschakeld bij het opstarten.
Gebruik oudere stuurprogramma's + schakel HDMI uit
Als je een apparaat op batterijen hebt gebouwd, is de kans veel groter dat je geen monitor gebruikt.
Of misschien ben je van plan om je Raspberry Pi Zero 2 W in headless modus te gebruiken. Dat is ook een reden om HDMI uit te schakelen.
Het tegenstrijdige hier is dat ik WiFi moest inschakelen, waardoor ik energie verloor, om HDMI uit te schakelen zodat ik mijn Pi Zero 2 via SSH kon besturen. Dus, kies je gevechten.
Oude GL-stuurprogramma's inschakelen
Voordat je HDMI uitschakelt, moet je het oudere grafische stuurprogramma gebruiken.
Open een terminal en voer uit:
sudo raspi-config
Ga dan naar Geavanceerde opties -> GL-stuurprogramma -> Legacy
Nu dit gedaan is, kun je je HDMI uitschakelen door het commando uit te voeren:
sudo nano /etc/rc.local
Typ net boven de regel "exit 0" in /usr/bin/tvservice -o
Om HDMI weer in te schakelen, verwijder je gewoon deze regel. Ik deed het via SSH.
Kernen uitschakelen
Hoewel alle bovenstaande tips het idle stroomverbruik verminderen, kun je ook het maximale stroomverbruik beperken door cores uit te schakelen.
Om dit te doen, open je een terminal en typ je in:
sudo nano /boot/cmdline.txt
Type in maxcpus=1 in de eerste regel en sla het bestand op door op CTRL + X te drukken en op te slaan door op Y te drukken.
Start vervolgens opnieuw op.
Na het herstarten kunt u controleren of uw wijziging werkte door het volgende uit te voeren lscpu in terminal.
Als je "Off-line CPU(s) lijst: 1-3", dan heeft het gewerkt en draai je op één core.
Als je meer wilt weten over wat je allemaal met je Raspberry Pi Zero 2 kunt doen, kijk dan eens op dit artikel.