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_tempL'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.shCome 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.shOra, modifica il tempmon.sh script con il seguente comando:
$ nano tempmon.sh
Ora, digita le seguenti righe di codici e salva il file con
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.shCome 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
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 + 32O
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:
$ ./tempmonCome puoi vedere, la temperatura è stampata in unità Fahrenheit.
Ecco come monitorare la temperatura in Raspberry Pi. Grazie per aver letto questo articolo.