Lampone Pi

Monitor di temperatura Raspberry Pi

Monitor di temperatura Raspberry Pi
Raspberry Pi è un potente computer a scheda singola (SBC). Può essere utilizzato per svolgere molte attività sofisticate. Ma così facendo aumenterà la temperatura del processore dei dispositivi Raspberry Pi. Il che non va bene. Le prestazioni del Raspberry Pi SBC ne risentiranno a causa della temperatura. Questo è anche noto come strozzamento termico.

Se la temperatura del processore del tuo Raspberry Pi è superiore a 80 gradi Celsius, vedrai un'icona del termometro nell'angolo in alto a destra dello schermo. Ufficialmente, la Raspberry Pi Foundation raccomanda che la temperatura del tuo dispositivo Raspberry Pi sia inferiore a 85 gradi Celsius affinché funzioni correttamente. Questo è il limite massimo. Ma inizierebbe a rallentare a 82 gradi Celsius.

In questo articolo, ti mostrerò come monitorare la temperatura del tuo Raspberry Pi. Userò il sistema operativo Raspbian sul mio dispositivo Raspberry Pi 3 Model B. Ma dovrebbe funzionare su qualsiasi SBC Raspberry Pi con il sistema operativo Raspbian installato.

Misurazione della temperatura di Raspberry Pi SBC:

Puoi misurare la temperatura interna del tuo dispositivo Raspberry Pi con il seguente comando:

$ vcgencmd measure_temp

L'attuale temperatura interna è di 48.3 gradi Celsius come puoi vedere nella sezione contrassegnata dello screenshot qui sotto.

Come puoi vedere, ogni volta che eseguo il comando mostra un valore di temperatura diverso.

Analisi dei dati di temperatura:

I dati di temperatura che otteniamo da vcgencmd il comando è una stringa. Non puoi eseguire alcun calcolo su di esso. Possiamo facilmente usare l'espressione regolare per estrarre solo i dati di temperatura ed eseguire qualsiasi tipo di calcolo su di esso.

Se desideri utilizzare i dati della temperatura in uno script della shell Bash, puoi estrarre i dati della temperatura con egrep comando come segue:

$ vcgencmd misura_temp | egrep -o '[0-9]*\.[0-9]*'

Come puoi vedere, vengono stampati solo i dati della temperatura. Non c'è niente prima o dopo.

Puoi usarlo sul tuo script di shell (diciamo print_temp.sh) come segue:

$ nano print_temp.sh

Qui, sulla linea 3, ho impostato il temperatura variabile ai dati di temperatura analizzati che ottengo dal from vcgencmd e grep comando.

Sulla linea 5, ho usato eco per stampare il contenuto del temperatura variabile sullo schermo.

La riga 1 è usata per dire a Linux che lo script deve essere eseguito con /bin/bash per impostazione predefinita.

Ora rendi eseguibile lo script con il seguente comando:

$ chmod +x print_temp.sh

Ora, esegui lo script come segue:

$ ./temp_stampa.sh

Come puoi vedere, l'output desiderato viene stampato sullo schermo.

Scrivere uno script di monitoraggio della temperatura Raspberry Pi:

Ora che possiamo analizzare i dati di temperatura che otteniamo da vcgencmd comando, possiamo facilmente scrivere uno script di monitoraggio della temperatura per Raspberry Pi. Lo script di monitoraggio della temperatura stamperà il timestamp e la temperatura interna correnti ogni secondo sullo schermo in un modo ben formattato.

Per prima cosa, crea un nuovo script tempmon.sh con il seguente comando:

$ touch tempmon.sh

Ora, modifica il tempmon.sh script con il seguente comando:

$ nano tempmon.sh

Ora, digita le seguenti righe di codici e salva il file con + X e poi premere seguito da .

Qui, sulla linea 4, printf viene utilizzato per stampare le stringhe TIMESTAMP e TEMP(degC) come colonne a larghezza fissa.

Sulla linea 5, ho usato printf di nuovo per stampare una linea tratteggiata solo per rendere l'output più leggibile e attraente.

Sulla riga 7-13, ho eseguito un ciclo infinito per stampare i dati della temperatura ogni secondo.

Sulla riga 9, ho memorizzato i dati di temperatura analizzati sul temperatura variabile.

Sulla riga 10, ho archiviato i dati del timestamp che ho ricevuto dal Data comando sul marca temporale variabile.

Alla riga 11, ho stampato la data e l'ora in formato timestamp e i dati della temperatura in formato colonna a larghezza fissa.

Sulla riga 12, ho usato il comando sleep 1 per trattenere l'esecuzione dello script per un secondo. Successivamente, il ciclo continuerà.

Ora, crea lo script tempmon.sh eseguibile con il seguente comando:

$ chmod +x tempmon.sh

Infine, esegui lo script tempmon.sh con il seguente comando:

$ ./tempmon.sh

Come puoi vedere, lo script di monitoraggio della temperatura funziona perfettamente. Stampa i dati della temperatura ogni secondo.

Come puoi vedere, quando ho aumentato il carico del sistema, la temperatura è aumentata leggermente.

Se si desidera interrompere lo script di monitoraggio della temperatura, premere + c. Il monitoraggio della temperatura non funziona più come puoi vedere nello screenshot qui sotto.

Ora che lo script di monitoraggio della temperatura funziona, copialo in /usr/bin directory. In questo modo, puoi eseguirlo come qualsiasi altro comando Linux.

Per copiare lo script tempmon.sh al /usr/bin directory, eseguire il seguente comando:

$ sudo cp tempmon.sh /usr/bin/tempmon

Come puoi vedere, posso eseguire lo script di monitoraggio della temperatura proprio come eseguo i comandi standard di Linux.

Modifica tempmon per la stampa dei dati di temperatura in Fahrenheit:

Puoi facilmente convertire i dati della temperatura da Celsius a Fahrenheit.

La formula ampiamente conosciuta per calcolare le temperature in Fahrenheit da Celsius è,

FA = (9/5)* DO + 32
O
F = 1.8 * Do + 32

Ma il problema è che la shell bash non ha le funzioni necessarie per eseguire calcoli in virgola mobile. Quindi, devi fare affidamento su alcuni altri programmi come avanti Cristo.

avanti Cristo non è installato su Raspbian per impostazione predefinita. Ma puoi installarlo facilmente con il seguente comando:

$ sudo apt install bc

avanti Cristo dovrebbe essere installato.

Ora devi modificare lo script di monitoraggio della temperatura ed eseguire i calcoli necessari per convertire la temperatura in Fahrenheit da Celsius con avanti Cristo.

Modifica il tempmon.sh script con il seguente comando:

$ nano tempmon.sh

Ora, apporta le modifiche come indicato nello screenshot qui sotto.

Qui, sulla riga 4, ho stampato TEMP(F) invece di TEMP (gradi C).

Sulla riga 9, ho cambiato la variabile da temperatura per tempC.

Nella riga 10, ho aggiunto il risultato della conversione da Celsius a Fahrenheit in una variabile tempF.

Infine, ho stampato il valore di tempF variabile invece di temperatura sulla linea 12.

Ora, esegui lo script come segue:

$ ./tempmon

Come puoi vedere, la temperatura è stampata in unità Fahrenheit.

Ecco come monitorare la temperatura in Raspberry Pi. Grazie per aver letto questo articolo.

I migliori giochi da giocare con il tracciamento delle mani
Oculus Quest ha recentemente introdotto la grande idea del tracciamento manuale senza controller. Con un numero sempre crescente di giochi e attività ...
Come mostrare l'overlay OSD in app e giochi Linux a schermo intero
Giocare a giochi a schermo intero o utilizzare app in modalità a schermo intero senza distrazioni può tagliarti fuori dalle informazioni di sistema ri...
Le 5 migliori carte di acquisizione del gioco
Abbiamo tutti visto e amato i giochi in streaming su YouTube. PewDiePie, Jakesepticye e Markiplier sono solo alcuni dei migliori giocatori che hanno g...