Zephyrnet-logo

Stroomverbruik van Raspberry Pi optimaliseren

Datum:

Raspberry Pi stroomverbruik
Illustratie: © IoT For All

Toen de Raspberry Pi-computer met één bord was voor het eerst aangekondigd in 2012, Ik betwijfel of veel mensen het nut van een Pi in een volledig off-grid omgeving in overweging namen, vooral gezien de stand van de batterijtechnologie op dat moment.

Snel vooruit naar vandaag. Hoewel we kernreactoren voor thuis (nog) niet echt een optie hebben gemaakt, hebben we wel toegang tot robuuste batterij- en zonnetechnologie, samen met nieuwe redenen om Implementeer Raspberry Pis in edge computing-scenario's.

Waarom Raspberry Pi?

Er zijn talloze microcontrollers en uitgeklede single-board computers (SBC's) zoals de Raspberry Pi Zero dat is energiezuiniger dan een volledige Raspberry Pi 4. Maar die efficiëntie heeft zijn eigen kosten in termen van verminderde functies en functionaliteit.

Misschien is de vraag die we ons moeten stellen: "Waarom zouden we in hemelsnaam een ​​Raspberry Pi op afstand willen inzetten?"

Het antwoord? Normaal gesproken zou je dat niet doen!

Hierop zijn echter enkele legitieme uitzonderingen:

CPU-vermogen

Als je Machine Learning-modellen draaien op afstand die met minimale vertraging moeten worden verwerkt, is de ARM Cortex-A72 CPU met 1.5 GHz moeilijk te verslaan. Specifiek TinyML workloads kunnen in milliseconden op MCU's worden uitgevoerd, maar als uw project machine vision-werk moet doen, past een SBC beter.

Uitbreidingsgemak

Het Pi HAT-ecosysteem is volwassen en biedt productieklare uitbreidingsopties voor bijna elk scenario. Voorbeeld, de Notecard en Notecarrier Pi HAT van Blues Wireless maken drop-in mobiele communicatie mogelijk (bij een stroomverbruik van 8 mA bij inactiviteit) voor scenario's waarin het doorgeven van gegevens op afstand een belangrijke vereiste is.

Python

De Raspberry Pi OS wordt geleverd met een volledige Python-distributie. Hoewel CircuitPython en MicroPython acceptabel zijn voor de meeste IoT-projecten, ondersteunen sommige Python-bibliotheken deze twee afgeleiden niet.

Tips voor vermogensoptimalisatie

Het anker rond de nek van de Raspberry Pi is de geschatte 600mA actief stroomverbruik.

Hier zijn een paar technieken die we kunnen gebruiken om dat terug te brengen tot een beheersbare waarde met enkele eenvoudige configuratiewijzigingen:

De USB-controller uitschakelen

Geschatte energiebesparing: ongeveer 100mA.

Als u uw Raspberry Pi in een headless-configuratie gebruikt, kunt u waarschijnlijk wegkomen door de ingebouwde USB-controller niet van stroom te voorzien. Merk op dat zelfs als u geen muis of toetsenbord gebruikt, ze nog steeds van stroom worden voorzien!

Voer de volgende opdracht uit om de USB-controller op uw Raspberry Pi uit te schakelen:

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

En om vervolgens de USB-controller opnieuw in te schakelen wanneer deze weer nodig is:

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

Na een herstart wordt de USB-controller automatisch ingeschakeld.

HDMI-uitgang uitschakelen

Geschatte energiebesparing: ongeveer 30mA.

Wanneer je een Raspberry Pi in een headless configuratie gebruikt, hoef je per definitie ook geen monitor aan te sluiten. Als dat het geval is, kun je ook de HDMI-uitgang uitschakelen.

Voer de volgende opdracht uit om de HDMI-uitgang op uw Raspberry Pi uit te schakelen:

sudo /opt/vc/bin/tvservice -o

En om vervolgens de HDMI-uitgang weer in te schakelen wanneer u deze weer nodig hebt, gebruikt u deze opdracht:

sudo /opt/vc/bin/tvservice -p

Net als bij het uitschakelen van de USB-controller, wordt HDMI-uitvoer ingeschakeld na een herstart.

Wi-Fi en Bluetooth uitschakelen

Geschatte energiebesparing: ongeveer 40mA.

Als uw oplossing geen wifi of Bluetooth gebruikt, kunt u deze waarschijnlijk ook uitschakelen. Houd er echter rekening mee dat als u HDMI, USB en Wi-Fi tegelijkertijd uitschakelt, u problemen zult hebben met de interface met uw Pi!

Om Wi-Fi en Bluetooth uit te schakelen, open /boot/config.txt, voeg deze parameters toe en start opnieuw op:

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

Om Wi-Fi en Bluetooth (of slechts één daarvan) opnieuw in te schakelen, verwijdert u eenvoudig de parameter(s) uit het bestand en start u opnieuw op.

Klok de CPU omlaag

Geschatte energiebesparing: variabel op basis van toepassingen.

Als je niet het volledige vermogen van de Raspberry Pi-CPU nodig hebt (wat sowieso al overkill is voor veel bewakingssituaties op afstand), kun je een paar mA besparen door de CPU te onderklokken.

Als u bijvoorbeeld de CPU-kloksnelheid op maximaal 900 MHz wilt instellen, kunt u updaten /boot/config.txt en wijzig de volgende parameters:

[all]
arm_freq=900
arm_freq_max=900

Je kunt ook spelen met de core_freq_minover_voltageover_voltage_min en vele andere parameters die goed gedocumenteerd zijn in de Raspberry Pi overklokopties.

Houd er rekening mee dat u in bepaalde scenario's mogelijk geen energiebesparing ziet. Als u bijvoorbeeld een proces heeft dat langer draait bij een lagere kloksnelheid in plaats van korter bij een hogere kloksnelheid, zult u geen netto verandering in het stroomverbruik zien.

Ingebouwde LED's uitschakelen

Geschatte energiebesparing: ongeveer 10mA.

We kunnen de ingebouwde LED's op de Pi uitschakelen door de . opnieuw te bewerken /boot/config.txt bestand, het volgende toevoegen en opnieuw opstarten:

[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

Houd er rekening mee dat deze configuraties specifiek zijn voor de Raspberry Pi 4 Model B; documentatie over variabelen die bruikbaar zijn in de /boot/config.txt bestand kan worden gevonden hier.

Wijzigingen permanent maken (of terugzetten naar standaard)

Eventuele wijzigingen in uw /boot/config.txt bestand blijft bestaan ​​na een herstart. Als u de USB-, HDMI-, Wi-Fi- en Bluetooth-uitschakelcommando's wilt geven bij het opstarten, bewerk dan uw .bashrc bestand en voeg die commando's toe.

Evenzo zal het verwijderen van de gemaakte wijzigingen en opnieuw opstarten uw Raspberry Pi terugzetten naar de standaardstatus.

Aanvullend vermogen

Misschien is de meest voor de hand liggende tip van allemaal voor implementaties op afstand: extra stroom van de zon halen. Door een redelijk groot zonnepaneel aan uw Raspberry Pi toe te voegen, kunt u de levensduur van de batterij aanzienlijk verlengen (zelfs een theoretisch volledig duurzame oplossing maken in omgevingen met volle zon).

De PiJuice HOED is een gemakkelijke manier om een ​​zonnepaneel toe te voegen aan uw Raspberry Pi. Het biedt ook mechanismen voor gracieus afsluiten (en opstarten) op vooraf gedefinieerde batterijniveaus.

Je kunt een PiJuice zien die in dit Hackster-project wordt gebruikt: Crypto-mijnbouw op zonne-energie met Raspberry Pi.

Als alternatief kunt u een USB-powerbank gebruiken met pass-through-opladen. Hierdoor kan de powerbank de Pi van stroom voorzien en een zonnepaneel om de batterij tegelijkertijd op te laden.

Deze regeling is getest in een ander Hackster-project: Remote Birding met TensorFlow Lite en Raspberry Pi.

Power-Optimized Cellular voor de Raspberry Pi

Oplossingen voor bewaking op afstand vallen vaak buiten het bereik van traditionele netwerkcommunicatie-opties zoals wifi. Dit is een van de redenen waarom Blues Wireless de ontwikkelaarsvriendelijke versie heeft gemaakt Notitiekaart om kosteneffectieve cellulaire oplossingen voor IoT-oplossingen te bieden.

De Notecard is een klein 30 mm x 35 mm System on Module (SoM) en wordt via de M.2-connector klaargemaakt om in een project in te bedden. Om prototyping gemakkelijker te maken, biedt Blues Wireless ook een reeks uitbreidingskaarten (genaamd Notecarriers).

De Notecarrier-Pi fungeert als host HAT voor de Notecard. Het biedt een interface tussen de Raspberry Pi en de Notecard. Met pass-through-headers past het precies bij alle andere Pi HAT's die je gebruikt (zoals de PiJuice HAT hierboven afgebeeld).

De schoonheid van de Notecard kan worden samengevat in:

  • De eenvoud van de API (JSON in en JSON uit).
  • De agnostische aard van volledige SBC- en MCU-compatibiliteit.
  • De prijs ($ 49 voor 10 jaar en 500 MB aan gegevens).
  • Het ingebakken beveiligingsmodel met versleuteld verkeer dat door VPN-tunnels gaat.
  • De power-nippende 8mA wanneer inactiviteit

PlatoAi. Web3 opnieuw uitgevonden. Gegevensintelligentie versterkt.
Klik hier om toegang te krijgen.

Bron: https://www.iotforall.com/optimizing-raspberry-pi-power-consumption

spot_img

Laatste intelligentie

spot_img

Chat met ons

Hallo daar! Hoe kan ik u helpen?