Autonomie, optimisation et configuration de la batterie du Raspberry Pi Zero 2

Comment faire fonctionner un Raspberry Pi à partir d'une batterie

La solution la plus simple pour une expérience "plug-and-play" est d'utiliser une banque d'énergie conçue pour recharger les téléphones. C'est la solution la plus simple car tout fonctionne, mais c'est aussi la moins personnalisable.

Si vous souhaitez une solution plus personnalisable, envisagez de vous procurer le logiciel PowerBoost 1000 Basic qui vous permettra d'augmenter la tension à partir de 1,8V, ce qui signifie que vous pouvez utiliser 2 batteries NiMH ou une batterie au lithium pour alimenter votre Raspberry Pi Zero 2 W.

Exemples d'applications alimentées par batterie avec le Pi Zero 2

L'utilisation du Raspberry Pi Zero 2 sur une batterie est judicieuse pour des applications telles que,

  • Emulation de jeux rétro : Boîtier Retroflag GPi ou un construction sur mesure avec un écran de 7 pouces
  • Appareils IoT/automatiques éloignés d'une prise de courant (capteur météorologique, détecteur de pollution, caméras pour animaux, dispositifs d'arrosage des plantes, mangeoires pour animaux de compagnie).
  • Affichages papier : badges numériques, téléscripteurs, listes de tâches à accomplir

Comment enregistrer le temps de fonctionnement

pi zero 2 avec batterie

Afin d'enregistrer votre temps de fonctionnement, vous devez installer le paquetage uptimed.

Ouvrez un Terminal et exécutez :

sudo apt-get install uptimed

Après l'installation, vous devez démarrer et exécuter le service en le lançant :

systemctl enable uptimed

puis

systemctl start uptimed

Puisque nous essayons de déterminer la durée d'utilisation de la batterie, il est important de s'assurer que les fichiers de configuration de uptimed permettent des intervalles d'enregistrement beaucoup plus courts que ceux par défaut.

Par défaut, uptimed n'écrit dans les journaux que toutes les heures et n'enregistre pas d'enregistrements de moins d'une heure.

Pour changer cela, vous devez modifier le fichier de configuration. Par défaut, le

Dans Terminal, exécutez :

sudo nano /etc/uptimed.conf

Modifier les variables suivantes :

INTERVALLE_MISE_À_JOUR=60

LOG_MINIMUM_UPTIMED = 60

Par défaut, les deux variables sont réglées sur une heure (soit 3600 secondes, soit 1h). En les réglant sur 60 secondes, nous pouvons enregistrer l'autonomie de la batterie à la minute près.

Temps d'exécution au repos

Durée d'exécution : 30 heures 12 minutes

J'ai utilisé un power bank de 5000mA sur le Raspberry Pi Zero 2W sans attachement et sur le Raspberry Pi OS (2021-10-31). Tout est par défaut.

Cela représente la meilleure autonomie que l'on puisse obtenir avec un Raspberry Pi Zero 2 W par défaut.

Durée d'exécution du stress

En réalité, il est probable que vous ayez certaines pièces jointes telles que HDMI ou quelque chose sur le GPIO. Le prochain test sera donc un meilleur moyen de déterminer le pire scénario possible.

Durée : 6 heures 54 minutes

Afin d'effectuer un test de résistance, j'ai exécuté la commande suivante

stress-ngcpu 4cpu-method fft

Les options -cpu-method fft et -cpu 4 ont été utilisées. sur la base d'une conclusion sur le forum Raspberry Piqui a constaté qu'elle attirait l'une des charges les plus élevées

J'ai immédiatement remarqué que l'utilisation du processeur montait en flèche jusqu'à 100% lors de l'exécution de cette commande.

Optimisations

Vous pouvez réduire davantage la consommation d'énergie en désactivant divers composants du Raspberry Pi Zero 2 W.

Voici les économies d'énergie que vous pouvez réaliser :

Eteindre la LED : 5mA1

Désactiver le WiFi : 11mA-187mA2

Utiliser les anciens pilotes + désactiver HDMI : 21mA + 17mA 2

Eteindre la LED

raspberry pi zero 2 led wifi
Avant

Vous pouvez économiser 5mA en éteignant la LED. Voici comment procéder.

Si vous ne voulez l'exécuter qu'une seule fois, vous devez lancer cette commande dans le terminal :

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

Cependant, si vous voulez que la LED soit définitivement éteinte au redémarrage, ouvrez votre terminal et tapez :

sudo crontab -e

Une fois que vous êtes dans le fichier, descendez jusqu'en bas et tapez ces lignes :

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

Après le prochain redémarrage, la LED verte de votre Pi Zero 2 W restera allumée jusqu'à ce qu'il démarre le système d'exploitation, après quoi elle s'éteindra.

Désactiver le WiFi

De même, vous pouvez désactiver définitivement le WiFi en exécutant la commande

sudo rfkill block wifi

Pour que cette commande soit exécutée au redémarrage, ouvrez votre terminal et tapez

sudo crontab -e

Descendez jusqu'en bas et tapez cette ligne

@reboot sudo rfkill block wifi &

Une fois que vous aurez redémarré, vous devriez voir que votre WiFi est désactivé au démarrage.

Le raspberry pi zero 2 désactive le wifi et les leds s'éteignent
Après

Utiliser les anciens pilotes + désactiver le HDMI

Si vous avez construit un appareil alimenté par batterie, il y a de fortes chances que vous n'utilisiez pas de moniteur.

Ou peut-être avez-vous l'intention de faire fonctionner votre Raspberry Pi Zero 2 W en mode sans tête. C'est une autre raison de désactiver le HDMI.

Ce qui est contradictoire, c'est que j'ai dû activer le WiFi, et donc consommer de l'énergie, pour désactiver le HDMI afin de pouvoir contrôler mon Pi Zero 2 via SSH. Alors, choisissez vos batailles.

Activer les anciens pilotes GL

Avant de désactiver le HDMI, vous devrez utiliser le pilote graphique hérité. 

Ouvrez un terminal et exécutez :

sudo raspi-config

Ensuite, allez sur Options avancées -> GL Driver -> Legacy

Maintenant que c'est fait, vous pouvez aller de l'avant et désactiver votre HDMI en exécutant la commande :

sudo nano /etc/rc.local

Juste au-dessus de la ligne "exit 0", tapez /usr/bin/tvservice -o

Pour réactiver HDMI, il suffit de supprimer cette ligne. Je l'ai fait via SSH.

Désactiver les cœurs

Si tous les conseils ci-dessus permettent de réduire la consommation d'énergie en mode veille, vous pouvez également limiter la consommation d'énergie maximale en désactivant des cœurs.

Pour ce faire, vous devez ouvrir un terminal et taper :

sudo nano /boot/cmdline.txt

Tapez dans maxcpus=1 dans la première ligne et enregistrez le fichier en appuyant sur CTRL + X et en sauvegardant en appuyant sur Y.

Ensuite, redémarrez.

Au redémarrage, vous pouvez vérifier si votre modification a fonctionné en lançant lscpu dans le terminal.

Si vous voyez "Off-line CPU(s) list : 1-3", cela signifie que cela a fonctionné et que vous travaillez sur un seul cœur.

désactiver les cœurs raspberry pi zero 2 w

Si vous voulez en savoir plus sur ce que vous pouvez faire avec votre Raspberry Pi Zero 2, consultez le site suivant cet article.

Laissez un commentaire