Χρόνοι λειτουργίας μπαταρίας Raspberry Pi Zero 2, βελτιστοποίηση και ρύθμιση

Πώς να λειτουργήσετε ένα Raspberry Pi από μια μπαταρία

Ο ευκολότερος τρόπος για μια εμπειρία plug-and-play είναι να το τρέξετε από ένα power bank που είναι κατασκευασμένο για την επαναφόρτιση τηλεφώνων. Είναι το ευκολότερο, επειδή όλα λειτουργούν, αλλά είναι επίσης το λιγότερο προσαρμόσιμο.

Αν θέλετε μια πιο προσαρμόσιμη λύση, σκεφτείτε να αποκτήσετε το PowerBoost 1000 Basic που θα σας επιτρέψει να αυξήσετε τις τάσεις από 1,8V, πράγμα που σημαίνει ότι μπορείτε να χρησιμοποιήσετε 2x μπαταρίες NiMH ή μία μπαταρία λιθίου για να τροφοδοτήσετε το Raspberry Pi Zero 2 W.

Παραδείγματα εφαρμογών που λειτουργούν με μπαταρία με το Pi Zero 2

Η χρήση του Raspberry Pi Zero 2 με μπαταρία έχει νόημα για εφαρμογές όπως,

  • Εξομοίωση παιχνιδιών ρετρό: ή ένα προσαρμοσμένη κατασκευή με οθόνη 7"
  • Συσκευές IoT/αυτοματισμού που βρίσκονται μακριά από πρίζα (αισθητήρες καιρού, ανιχνευτές ρύπανσης, κάμερες ζώων, συσκευές ποτίσματος φυτών, ταΐστρες κατοικίδιων ζώων).
  • Οθόνες ePaper: ψηφιακές ετικέτες ονομάτων, χρηματιστηριακά δελτία, λίστες εργασιών

Πώς να καταγράψετε το χρόνο λειτουργίας

pi zero 2 με μπαταρία

Για να καταγράψετε το χρόνο λειτουργίας σας, θα πρέπει να εγκαταστήσετε το πακέτο uptimed.

Ανοίξτε ένα τερματικό και εκτελέστε:

sudo apt-get install uptimed

Μετά την εγκατάσταση, πρέπει να εκκινήσετε και να εκτελέσετε την υπηρεσία εκτελώντας:

systemctl enable uptimed

τότε

systemctl start uptimed

Δεδομένου ότι προσπαθούμε να καθορίσουμε πόσο μεγάλο χρόνο λειτουργίας της μπαταρίας μπορούμε να περιμένουμε, είναι σημαντικό να διασφαλίσουμε ότι τα αρχεία ρυθμίσεων του uptimed επιτρέπουν πολύ μικρότερα διαστήματα καταγραφής από τα προεπιλεγμένα.

Από προεπιλογή, το uptimed γράφει στα αρχεία καταγραφής μόνο κάθε μία ώρα και δεν καταγράφει εγγραφές μικρότερες από μία ώρα.

Για να το αλλάξετε αυτό, πρέπει να αλλάξετε το αρχείο ρυθμίσεων. Από προεπιλογή

Στο τερματικό, εκτελέστε:

sudo nano /etc/uptimed.conf

Αλλάξτε τις ακόλουθες μεταβλητές:

UPDATE_INTERVAL=60

LOG_MINIMUM_UPTIMED = 60

Από προεπιλογή, και οι δύο μεταβλητές έχουν οριστεί σε μία ώρα (είτε 3600 δευτερόλεπτα είτε 1 ώρα). Θέτοντάς τες σε 60 δευτερόλεπτα, μπορούμε να καταγράψουμε το χρόνο λειτουργίας της μπαταρίας με ακρίβεια λεπτού.

Αδρανής χρόνος εκτέλεσης

Χρόνος εκτέλεσης: 30 ώρες 12 λεπτά

Έτρεξα μια τράπεζα τροφοδοσίας 5000mA στο Raspberry Pi Zero 2W χωρίς εξαρτήματα και στο Raspberry Pi OS (2021-10-31). Όλα είναι προεπιλεγμένα.

Αυτό αντιπροσωπεύει την καλύτερη δυνατή διάρκεια ζωής της μπαταρίας που θα μπορούσατε να έχετε από ένα προεπιλεγμένο Raspberry Pi Zero 2 W.

Χρόνος εκτέλεσης στρες

Στην πραγματικότητα, είναι πιθανό να έχετε ορισμένα προσαρτήματα σε αυτό, όπως HDMI ή κάτι στο GPIO. Έτσι, η επόμενη δοκιμή θα είναι ένας καλύτερος τρόπος για να μάθετε ποιο είναι το χειρότερο σενάριο.

Διάρκεια: 6 ώρες και 54 λεπτά

Για να εκτελέσω μια δοκιμή καταπόνησης, έτρεξα την εντολή

stress-ngcpu 4cpu-method fft

Χρησιμοποιήθηκαν οι μέθοδοι -cpu-method fft και -cpu 4. με βάση ένα συμπέρασμα στο φόρουμ του Raspberry Pi, η οποία διαπίστωσε ότι είχε ένα από τα υψηλότερα φορτία

Αμέσως παρατήρησα ότι η χρήση της CPU αυξήθηκε σε 100% κατά την εκτέλεση αυτής της εντολής.

Βελτιστοποιήσεις

Μπορείτε να μειώσετε περαιτέρω την κατανάλωση ενέργειας απενεργοποιώντας διάφορα εξαρτήματα του Raspberry Pi Zero 2 W.

Ακολουθεί η εξοικονόμηση ενέργειας που μπορείτε να ενεργοποιήσετε:

Απενεργοποιήστε το LED: 5mA1

Απενεργοποίηση WiFi: 11mA-187mA2

Χρήση παλαιών προγραμμάτων οδήγησης + απενεργοποίηση HDMI: 21mA + 17mA 2

Απενεργοποίηση LED

raspberry pi zero 2 led wifi
Πριν από το

Μπορείτε να εξοικονομήσετε 5mA απενεργοποιώντας το LED. Ακούστε πώς.

Αν θέλετε να το εκτελέσετε μόνο μία φορά, πρέπει να εκτελέσετε αυτή την εντολή στο τερματικό:

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

Ωστόσο, αν θέλετε η λυχνία LED να σβήνει μόνιμα κατά την επανεκκίνηση, τότε ανοίξτε το τερματικό σας και πληκτρολογήστε:

sudo crontab -e

Μόλις μπείτε στο αρχείο, μετακινηθείτε μέχρι το τέλος και πληκτρολογήστε αυτές τις γραμμές:

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

Μετά την επόμενη και τις επόμενες επανεκκινήσεις σας, η πράσινη λυχνία LED του Pi Zero 2 W θα παραμείνει αναμμένη μέχρι την εκκίνηση του λειτουργικού συστήματος, οπότε και θα σβήσει.

Απενεργοποιήστε το WiFi

Με την ίδια λογική, μπορείτε να απενεργοποιήσετε μόνιμα το WiFi εκτελώντας την εντολή

sudo rfkill block wifi

Για να εκτελέσετε αυτή την εντολή κατά την επανεκκίνηση, ανοίξτε το τερματικό σας και πληκτρολογήστε

sudo crontab -e

Μετακινηθείτε προς τα κάτω και πληκτρολογήστε αυτή τη γραμμή

@reboot sudo rfkill block wifi &

Μόλις κάνετε επανεκκίνηση, θα πρέπει να δείτε ότι το WiFi είναι απενεργοποιημένο κατά την εκκίνηση.

raspberry pi zero 2 απενεργοποιήστε το wifi και το led απενεργοποιήθηκε
Μετά το

Χρήση παλαιών προγραμμάτων οδήγησης + απενεργοποίηση HDMI

Αν έχετε κατασκευάσει μια συσκευή που λειτουργεί με μπαταρία, οι πιθανότητες να μην έχετε οθόνη είναι πολύ μεγαλύτερες.

Ή ίσως σκοπεύετε να τρέξετε το Raspberry Pi Zero 2 W σε λειτουργία χωρίς κεφάλι. Αυτός είναι επίσης ένας ακόμη λόγος για να απενεργοποιήσετε το HDMI.

Το αντιφατικό πράγμα εδώ είναι ότι έπρεπε να ενεργοποιήσω το WiFi, άρα και την κατανάλωση ενέργειας, προκειμένου να απενεργοποιήσω το HDMI ώστε να μπορώ να ελέγξω το Pi Zero 2 μέσω SSH. Οπότε, επιλέξτε τις μάχες σας.

Ενεργοποίηση παλαιών προγραμμάτων οδήγησης GL

Πριν απενεργοποιήσετε το HDMI, θα πρέπει να χρησιμοποιήσετε το παλαιό πρόγραμμα οδήγησης γραφικών. 

Ανοίξτε ένα τερματικό και εκτελέστε:

sudo raspi-config

Στη συνέχεια, μεταβείτε στο Επιλογές για προχωρημένους -> Πρόγραμμα οδήγησης GL -> Legacy

Τώρα που αυτό έχει γίνει, μπορείτε να προχωρήσετε και να απενεργοποιήσετε το HDMI σας εκτελώντας την εντολή:

sudo nano /etc/rc.local

Ακριβώς πάνω από τη γραμμή "exit 0", πληκτρολογήστε /usr/bin/tvservice -o

Για να ενεργοποιήσετε ξανά το HDMI, απλά διαγράψτε αυτή τη γραμμή. Το έκανα μέσω SSH.

Απενεργοποίηση πυρήνων

Ενώ όλες οι παραπάνω συμβουλές μειώνουν την κατανάλωση ενέργειας στο ρελαντί, μπορείτε επίσης να περιορίσετε τη μέγιστη κατανάλωση ενέργειας απενεργοποιώντας πυρήνες.

Για να το κάνετε αυτό, θα πρέπει να ανοίξετε ένα τερματικό και να πληκτρολογήσετε:

sudo nano /boot/cmdline.txt

Πληκτρολογήστε maxcpus=1 στην πρώτη γραμμή και αποθηκεύστε το αρχείο πατώντας CTRL + X και αποθηκεύοντας πατώντας Y.

Στη συνέχεια, κάντε επανεκκίνηση.

Μετά την επανεκκίνηση, μπορείτε να ελέγξετε αν η τροποποίησή σας λειτούργησε εκτελώντας την εντολή lscpu στον τερματικό σταθμό.

Εάν δείτε τη λίστα "Λίστα CPU(s) εκτός λειτουργίας: 1-3", τότε αυτό λειτούργησε και τρέχετε με έναν πυρήνα.

απενεργοποίηση πυρήνων raspberry pi zero 2 w

Αν θέλετε να μάθετε περισσότερα για το τι μπορείτε να κάνετε με το Raspberry Pi Zero 2, επισκεφθείτε το αυτό το άρθρο.

Αφήστε ένα σχόλιο