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
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-ng –cpu 4 –cpu-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
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.
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.
Si vous voulez en savoir plus sur ce que vous pouvez faire avec votre Raspberry Pi Zero 2, consultez le site suivant cet article.