Raspberry Pi Temperature Monitor

Raspberry Pi Temperature Monitor



Το Raspberry Pi είναι ένας ισχυρός υπολογιστής Single Board (SBC). Μπορεί να χρησιμοποιηθεί για την εκτέλεση πολλών σύνθετων εργασιών. Αλλά αυτό θα αυξήσει τη θερμοκρασία του επεξεργαστή των συσκευών Raspberry Pi. Που δεν είναι καλό. Η απόδοση του Raspberry Pi SBC θα υποφέρει λόγω θερμοκρασίας. Αυτό είναι επίσης γνωστό ως θερμικό γκάζι.

Εάν η θερμοκρασία του επεξεργαστή του Raspberry Pi είναι πάνω από 80 βαθμούς Κελσίου, θα δείτε ένα εικονίδιο θερμόμετρου στην επάνω δεξιά γωνία της οθόνης. Επισήμως, το Foundationδρυμα Raspberry Pi συνιστά η θερμοκρασία της συσκευής σας Raspberry Pi να είναι κάτω από 85 βαθμούς Κελσίου για να λειτουργεί σωστά. Αυτό είναι το μέγιστο όριο. Αλλά θα ξεκινούσε να πετάει στους 82 βαθμούς Κελσίου.







Σε αυτό το άρθρο, θα σας δείξω πώς να παρακολουθείτε τη θερμοκρασία του Raspberry Pi. Θα χρησιμοποιώ το λειτουργικό σύστημα Raspbian στη συσκευή μου Raspberry Pi 3 Model B. Αλλά θα πρέπει να λειτουργεί σε οποιοδήποτε Raspberry Pi SBC με εγκατεστημένο το λειτουργικό σύστημα Raspbian.



Μπορείτε να μετρήσετε την κεντρική θερμοκρασία της συσκευής Raspberry Pi με την ακόλουθη εντολή:



$vcgencmd μέτρηση_τέμ

Η τρέχουσα θερμοκρασία του πυρήνα είναι 48,3 βαθμοί Κελσίου, όπως μπορείτε να δείτε στην επισημασμένη ενότητα του παρακάτω στιγμιότυπου οθόνης.





Όπως μπορείτε να δείτε, κάθε φορά που εκτελώ την εντολή εμφανίζει διαφορετική τιμή θερμοκρασίας.



Ανάλυση των δεδομένων θερμοκρασίας:

Τα δεδομένα θερμοκρασίας που λαμβάνουμε από το vcgencmd η εντολή είναι μια συμβολοσειρά. Δεν μπορείτε να κάνετε κανέναν υπολογισμό σε αυτό. Μπορούμε εύκολα να χρησιμοποιήσουμε την κανονική έκφραση για να εξαγάγουμε μόνο τα δεδομένα θερμοκρασίας και να εκτελέσουμε οποιονδήποτε τύπο υπολογισμού σε αυτά.

Εάν θέλετε να χρησιμοποιήσετε τα δεδομένα θερμοκρασίας σε ένα σενάριο κελύφους Bash, τότε μπορείτε να εξαγάγετε τα δεδομένα θερμοκρασίας με egrep εντολή ως εξής:

$vcgencmd μέτρηση_τέμ| egrep '[0-9] * . [0-9] *'

Όπως μπορείτε να δείτε, εκτυπώνονται μόνο τα δεδομένα θερμοκρασίας. Δεν υπάρχει τίποτα πριν ή μετά από αυτό.

Μπορείτε να το χρησιμοποιήσετε στο σενάριο κελύφους σας (ας πούμε print_temp.sh ) ως εξής:

$νανοprint_temp.sh

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

Στη γραμμή 5, χρησιμοποίησα πέταξε έξω για να εκτυπώσετε το περιεχόμενο του θερμ μεταβλητή στην οθόνη.

Η γραμμή 1 χρησιμοποιείται για να πει στο Linux ότι το σενάριο πρέπει να εκτελεστεί με /bin/bash από προεπιλογή.

Τώρα, κάντε το σενάριο εκτελέσιμο με την ακόλουθη εντολή:

$chmod+ x print_temp.sh

Τώρα, εκτελέστε το σενάριο ως εξής:

$Το/print_temp.sh

Όπως μπορείτε να δείτε, η επιθυμητή έξοδος εκτυπώνεται στην οθόνη.

Γράφοντας ένα σενάριο παρακολούθησης θερμοκρασίας Raspberry Pi:

Τώρα που μπορούμε να αναλύσουμε τα δεδομένα θερμοκρασίας που λαμβάνουμε από το vcgencmd εντολή, μπορούμε εύκολα να γράψουμε ένα σενάριο παρακολούθησης θερμοκρασίας για το Raspberry Pi. Το σενάριο παρακολούθησης θερμοκρασίας θα εκτυπώνει την τρέχουσα χρονική σήμανση και τη θερμοκρασία πυρήνα κάθε δευτερόλεπτο στην οθόνη με όμορφο μορφοποιημένο τρόπο.

Αρχικά, δημιουργήστε ένα νέο σενάριο tempmon.sh με την ακόλουθη εντολή:

$αφήtempmon.sh

Τώρα, επεξεργαστείτε το tempmon.sh script με την ακόλουθη εντολή:

$νανοtempmon.sh

Τώρα, πληκτρολογήστε τις ακόλουθες γραμμές κωδικών και αποθηκεύστε το αρχείο με + Χ και μετά πατήστε και ακολουθούμενη από Το

Εδώ, στη γραμμή 4, printf χρησιμοποιείται για την εκτύπωση των συμβολοσειρών TIMESTAMP και TEMP (degC) ως στήλης σταθερού πλάτους.

Στη γραμμή 5, χρησιμοποίησα printf και πάλι για να εκτυπώσετε μια διακεκομμένη γραμμή μόνο για να κάνετε την έξοδο πιο ευανάγνωστη και ελκυστική.

Στη γραμμή 7-13, έτρεξα έναν άπειρο βρόχο για να εκτυπώσω τα δεδομένα θερμοκρασίας κάθε δευτερόλεπτο.

Στη γραμμή 9, αποθήκευσα τα δεδομένα ανάλυσης θερμοκρασίας στο θερμ μεταβλητός.

Στη γραμμή 10, αποθήκευσα τα δεδομένα χρονικής σήμανσης που πήρα από το ημερομηνία εντολή στο χρονική σήμανση μεταβλητός.

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

Στη γραμμή 12, χρησιμοποίησα την εντολή sleep 1 για να κρατήσω την εκτέλεση του σεναρίου για ένα δευτερόλεπτο. Στη συνέχεια, ο βρόχος θα συνεχιστεί.

Τώρα, φτιάξτε το σενάριο tempmon.sh εκτελέσιμο με την ακόλουθη εντολή:

$chmod+ x tempmon.sh

Τέλος, εκτελέστε το σενάριο tempmon.sh με την ακόλουθη εντολή:

$Το/tempmon.sh

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

Όπως μπορείτε να δείτε, καθώς αύξησα το φορτίο του συστήματος, η θερμοκρασία αυξήθηκε ελαφρώς.

Εάν θέλετε να σταματήσετε το σενάριο παρακολούθησης της θερμοκρασίας, πατήστε + ντο Το Η παρακολούθηση της θερμοκρασίας δεν εκτελείται πλέον, όπως μπορείτε να δείτε στο παρακάτω στιγμιότυπο οθόνης.

Τώρα που λειτουργεί το σενάριο παρακολούθησης της θερμοκρασίας, ας το αντιγράψουμε /usr/bin Ευρετήριο. Με αυτόν τον τρόπο, μπορείτε να το εκτελέσετε όπως όλες οι άλλες εντολές Linux.

Για να αντιγράψετε το σενάριο tempmon.sh στο /usr/bin κατάλογο, εκτελέστε την ακόλουθη εντολή:

$sudo cptempmon.sh/usr/είμαι/tempmon

Όπως μπορείτε να δείτε, μπορώ να εκτελέσω το σενάριο παρακολούθησης θερμοκρασίας όπως εκτελώ τυπικές εντολές Linux.

Τροποποίηση tempmon για εκτύπωση δεδομένων θερμοκρασίας σε Φαρενάιτ:

Μπορείτε εύκολα να μετατρέψετε τα δεδομένα θερμοκρασίας από Κελσίου σε Φαρενάιτ.

Ο ευρέως γνωστός τύπος για τον υπολογισμό των θερμοκρασιών σε Φαρενάιτ από Κελσίου είναι,

F =(9/5)*C +32
Ή
F =1.8 *C +32

Αλλά το πρόβλημα είναι ότι το κέλυφος bash δεν έχει τις απαραίτητες λειτουργίες για να εκτελέσει υπολογισμούς κυμαινόμενου σημείου. Έτσι, πρέπει να βασιστείτε σε κάποια άλλα προγράμματα όπως π.χ. προ ΧΡΙΣΤΟΥ Το

προ ΧΡΙΣΤΟΥ δεν είναι εγκατεστημένο στο Raspbian από προεπιλογή. Αλλά μπορείτε εύκολα να το εγκαταστήσετε με την ακόλουθη εντολή:

$sudoκατάλληλοςεγκαθιστώ προ ΧΡΙΣΤΟΥ

προ ΧΡΙΣΤΟΥ πρέπει να εγκατασταθεί.

Τώρα, πρέπει να τροποποιήσετε το σενάριο παρακολούθησης της θερμοκρασίας και να κάνετε τους απαραίτητους υπολογισμούς για να μετατρέψετε τη θερμοκρασία σε Φαρενάιτ από Κελσίου με προ ΧΡΙΣΤΟΥ Το

Επεξεργαστείτε το tempmon.sh script με την ακόλουθη εντολή:

$νανοtempmon.sh

Τώρα, κάντε τις τροποποιήσεις όπως σημειώνονται στο παρακάτω στιγμιότυπο οθόνης.

Εδώ, στη γραμμή 4, εκτύπωσα TEMP (F) αντί TEMP (degC) Το

Στη γραμμή 9, άλλαξα τη μεταβλητή από θερμ προς το tempC Το

Στη γραμμή 10, πρόσθεσα το αποτέλεσμα της μετατροπής Κελσίου σε Φαρενάιτ σε μεταβλητή tempF Το

Τέλος, εκτύπωσα την αξία του tempF μεταβλητή αντί θερμ στη γραμμή 12.

Τώρα, εκτελέστε το σενάριο ως εξής:

$Το/tempmon

Όπως μπορείτε να δείτε, η θερμοκρασία εκτυπώνεται σε μονάδα Φαρενάιτ.

Έτσι παρακολουθείτε τη θερμοκρασία στο Raspberry Pi. Ευχαριστώ που διαβάσατε αυτό το άρθρο.