Zephyrnet-logotyp

Optimera Raspberry Pi -strömförbrukning

Datum:

hallon pi strömförbrukning
Illustration: © IoT för alla

När Raspberry Pi enkortsdator var tillkännagavs först år 2012, Jag tvivlar på att många människor övervägde användningen av en Pi i en helt off-grid-inställning, särskilt med tanke på batteriteknikens tillstånd då.

Snabbspola fram till idag. Även om vi inte exakt har tillverkat kärnreaktorer hemma (ännu), har vi tillgång till robust batteri- och solenergiteknik tillsammans med nya skäl till att distribuera Raspberry Pis i edge computing -scenarier.

Varför Raspberry Pi?

Det finns många mikrokontroller och avskalade en-board-datorer (SBC) som Raspberry Pi Zero det är mer energieffektivt än en hel Raspberry Pi 4. Men den effektiviteten kommer med en egen kostnad när det gäller reducerade funktioner och funktionalitet.

Kanske frågan vi borde ställa är: "Varför i hela friden skulle vi vilja distribuera en Raspberry Pi på distans?"

Svaret? Vanligtvis skulle du inte!

Det finns dock några legitima undantag från detta:

CPU-kraft

Om du är kör Machine Learning -modeller på distans som måste bearbetas med minimal fördröjning, är ARM Cortex-A72 CPU som körs på 1.5 GHz svårt att slå. Specifika TinyML arbetsbelastningar kan köras i millisekunder på MCU: er, men om ditt projekt behöver utföra maskinsyn fungerar en SBC bättre.

Enkel expansion

Pi HAT-ekosystemet är moget och erbjuder produktionsklara expansionsalternativ för nästan alla scenarier. Fall i punkt, Notecard och Notecarrier Pi HAT från Blues Wireless möjliggör drop-in mobilkommunikation (vid 8 mA när den är inaktiv) för scenarier där fjärradata vidarebefordran är ett viktigt krav.

Python

Smakämnen Raspberry Pi OS fartyg med en komplett Python -distribution. Även om CircuitPython och MicroPython är acceptabla för de flesta IoT -projekt, stöder vissa Python -bibliotek inte dessa två derivat.

Energioptimeringstips

Ankaret runt halsen på Raspberry Pi beräknas 600mA aktiv strömförbrukning.

Här är några tekniker vi kan använda för att trimma ner det till ett hanterbart värde med några enkla konfigurationsändringar:

Inaktivera USB -kontrollen

Uppskattad energibesparing: cirka 100mA.

Om du kör din Raspberry Pi i en huvudlös konfiguration kan du förmodligen komma undan med att inte driva den inbyggda USB-kontrollern. Observera att även om du inte använder en mus eller tangentbord, så har de fortfarande ström!

För att inaktivera USB-styrenheten på din Raspberry Pi, kör följande kommando:

echo '1-1' |sudo tee /sys/bus/usb/drivers/usb/unbind

Och sedan för att återaktivera USB-kontrollen när det behövs igen:

echo '1-1' |sudo tee /sys/bus/usb/drivers/usb/bind

Efter en omstart kommer USB-styrenheten att aktiveras automatiskt.

Inaktivera HDMI -utgång

Uppskattad energibesparing: cirka 30mA.

När du använder en Raspberry Pi i en huvudlös konfiguration behöver du också per definition inte ansluta en bildskärm. Om så är fallet kan du också inaktivera HDMI -utgången.

För att inaktivera HDMI -utgången på din Raspberry Pi, kör följande kommando:

sudo /opt/vc/bin/tvservice -o

Och sedan, för att återaktivera HDMI-utgången när du behöver den igen, använd det här kommandot:

sudo /opt/vc/bin/tvservice -p

Precis som vid inaktivering av USB -kontrollen är HDMI -utgång aktiverad efter en omstart.

Inaktivera Wi-Fi och Bluetooth

Uppskattad energibesparing: cirka 40mA.

Om din lösning inte använder Wi-Fi eller Bluetooth kan du sannolikt också inaktivera dem. Observera dock att om du inaktiverar HDMI, USB och Wi-Fi samtidigt har du problem med att ansluta till din Pi!

För att inaktivera Wi-Fi och Bluetooth, öppna /boot/config.txt, lägg till dessa parametrar och starta om:

[all]
dtoverlay=disable-wifi
dtoverlay=disable-bt

För att återaktivera Wi-Fi och Bluetooth (eller bara en av dem) tar du bara bort parametrarna från filen och startar om.

Klocka ner CPU: n

Uppskattade energibesparingar: variabel baserad på applikationer.

Om du inte behöver Raspberry Pi -processorns fulla effekt (vilket ändå är överkill för många fjärrövervakningssituationer) kan du spara några mA genom att underklocka CPU: n.

Till exempel, för att ställa in CPU -klockhastigheten till högst 900 MHz, kan du uppdatera /boot/config.txt och ändra följande parametrar:

[all]
arm_freq=900
arm_freq_max=900

Du kan också leka med core_freq_minover_voltageover_voltage_min och många andra parametrar som är väl dokumenterade i Raspberry Pi överklockningsalternativ.

Observera att du kanske inte ser energibesparingar i vissa scenarier. Om du till exempel har en process som går längre med en lägre klockhastighet kontra kortare med en snabbare klockhastighet kommer du inte att se en nettoförändring i strömförbrukningen.

Inaktivera inbyggda lysdioder

Beräknad energibesparing: cirka 10mA.

Vi kan inaktivera de inbyggda lysdioderna på Pi genom att redigera igen /boot/config.txt filen, lägger till följande och startar om:

[pi4]
# Disable the PWR LED
dtparam=pwr_led_trigger=none
dtparam=pwr_led_activelow=off
# Disable the Activity LED
dtparam=act_led_trigger=none
dtparam=act_led_activelow=off
# Disable ethernet port LEDs
dtparam=eth_led0=4
dtparam=eth_led1=4

Observera att dessa konfigurationer är specifika för Raspberry Pi 4 Model B; dokumentation om variabler som kan användas i /boot/config.txt filen kan hittas här..

Göra ändringar permanenta (eller återställa till standard)

Alla ändringar som gjorts i din /boot/config.txt filen kvarstår efter en omstart. Om du vill utfärda inaktivering av USB-, HDMI-, Wi-Fi- och Bluetooth-kommandon vid start, redigera din .bashrc fil och lägg till dessa kommandon.

På samma sätt återställer du din Raspberry Pi genom att radera de ändringar du har gjort och starta om till standardläget.

Kompletterande kraft

Kanske är det mest uppenbara tipset av dem alla för fjärrdistributioner att ge extra kraft från solen. Genom att lägga till en lagom stor solcellsarray till din Raspberry Pi kan du förlänga batteriets livslängd avsevärt (till och med göra den till en teoretiskt fullt hållbar lösning i miljöer med full sol).

Använda PiJuice HATT är ett enkelt sätt att lägga till en solpanel till din Raspberry Pi. Den tillhandahåller också mekanismer för graciösa avstängningar (och uppstarter) vid fördefinierade batteriladdningsnivåer.

Du kan se en PiJuice som används i detta Hackster -projekt: Solkraftig Crypto Mining med Raspberry Pi.

Alternativt kan du använda en USB-powerbank med genomströmningsladdning. Detta gör att powerbanken kan driva Pi och en solcell för att ladda batteriet samtidigt.

Detta arrangemang testades i ett annat Hackster -projekt: Remote Birding med TensorFlow Lite och Raspberry Pi.

Power-Optimized Cellular för Raspberry Pi

Fjärrövervakningslösningar ligger ofta utanför intervallet för traditionella nätverkskommunikationsalternativ som Wi-Fi. Detta är en anledning till att Blues Wireless skapade utvecklarvänliga Anteckningskort att tillhandahålla kostnadseffektiva cellulära för IoT-lösningar.

Notecard är ett litet 30 mm x 35 mm system på modul (SoM) och levereras redo att bädda in i ett projekt via sin M.2 -kontakt. För att göra prototyper enklare tillhandahåller Blues Wireless även en serie expansionskort (kallade Notecarriers).

Notecarrier-Pi fungerar som en värd-HAT för Notecard. Det ger ett gränssnitt mellan Raspberry Pi och Notecard. Med genomgående rubriker passar det rätt in i alla andra Pi-hattar du använder (som PiJuice-hatten på bilden ovan).

Skönheten i Notecard kan kokas ner till:

  • Enkelheten i API: et (JSON in och JSON out).
  • Den agnostiska karaktären av full SBC- och MCU -kompatibilitet.
  • Priset ($49 för 10 år och 500 MB data).
  • Den inbyggda säkerhetsmodellen med krypterad trafik som färdas genom VPN-tunnlar.
  • Den strömslukande 8mA när den är inaktiv

PlatoAi. Web3 Reimagined. Datainformation förstärkt.
Klicka här för att komma åt.

Källa: https://www.iotforall.com/optimizing-raspberry-pi-power-consumption

plats_img

Senaste intelligens

plats_img

Chatta med oss

Hallå där! Hur kan jag hjälpa dig?