Monitor de temperatura Raspberry Pi

Raspberry Pi Temperature Monitor



Raspberry Pi es una potente computadora de placa única (SBC). Se puede utilizar para realizar muchas tareas sofisticadas. Pero hacerlo aumentará la temperatura del procesador de los dispositivos Raspberry Pi. Lo que no es bueno. El rendimiento de la Raspberry Pi SBC se verá afectado debido a la temperatura. Esto también se conoce como estrangulamiento térmico.

Si la temperatura del procesador de su Raspberry Pi está por encima de los 80 grados Celsius, verá un icono de termómetro en la esquina superior derecha de la pantalla. Oficialmente, la Fundación Raspberry Pi recomienda que la temperatura de su dispositivo Raspberry Pi sea inferior a 85 grados Celsius para que funcione correctamente. Ese es el límite máximo. Pero comenzaría a estrangularse a 82 grados centígrados.







En este artículo, le mostraré cómo controlar la temperatura de su Raspberry Pi. Usaré el sistema operativo Raspbian en mi dispositivo Raspberry Pi 3 Modelo B. Pero debería funcionar en cualquier Raspberry Pi SBC con el sistema operativo Raspbian instalado.



Puede medir la temperatura central de su dispositivo Raspberry Pi con el siguiente comando:



$vcgencmd Measure_temp

La temperatura central actual es de 48,3 grados Celsius, como puede ver en la sección marcada de la captura de pantalla a continuación.





Como puede ver, cada vez que ejecuto el comando muestra un valor de temperatura diferente.



Analizando los datos de temperatura:

Los datos de temperatura que obtenemos del vcgencmd el comando es una cadena. No puede realizar ningún cálculo sobre él. Podemos usar fácilmente la expresión regular para extraer solo los datos de temperatura y realizar cualquier tipo de cálculo sobre ellos.

Si desea utilizar los datos de temperatura en un script de shell Bash, puede extraer los datos de temperatura con garza comando de la siguiente manera:

$vcgencmd Measure_temp| garza -o '[0-9]*.[0-9]*'

Como puede ver, solo se imprimen los datos de temperatura. No hay nada antes ni después.

Puede usarlo en su script de shell (digamos print_temp.sh ) como sigue:

$nanoprint_temp.sh

Aquí, en la línea 3, configuro el temperatura variable a los datos de temperatura analizados que obtengo de la vcgencmd y sujeción mando.

En la línea 5, usé echo para imprimir el contenido del temperatura variable en la pantalla.

La línea 1 se usa para decirle a Linux que el script debe ejecutarse con / bin / bash por defecto.

Ahora, haga que el script sea ejecutable con el siguiente comando:

$chmod+x print_temp.sh

Ahora, ejecute el script de la siguiente manera:

$./print_temp.sh

Como puede ver, la salida deseada se imprime en la pantalla.

Escribir un script de monitoreo de temperatura de Raspberry Pi:

Ahora que podemos analizar los datos de temperatura que obtenemos del vcgencmd comando, podemos escribir fácilmente un script de monitoreo de temperatura para Raspberry Pi. El script de monitoreo de temperatura imprimirá la marca de tiempo actual y la temperatura central cada segundo en la pantalla con un formato agradable.

Primero, crea una nueva secuencia de comandos tempmon.sh con el siguiente comando:

$tocartempmon.sh

Ahora, edite el tempmon.sh script con el siguiente comando:

$nanotempmon.sh

Ahora, escriba las siguientes líneas de códigos y guarde el archivo con + x y luego presione y seguido por .

Aquí, en la línea 4, printf se utiliza para imprimir las cadenas TIMESTAMP y TEMP (degC) como columna de ancho fijo.

En la línea 5, usé printf nuevamente para imprimir una línea discontinua solo para que la salida sea más legible y atractiva.

En la línea 7-13, ejecuté un ciclo infinito para imprimir los datos de temperatura cada segundo.

En la línea 9, guardé los datos de temperatura analizados en el temperatura variable.

En la línea 10, guardé los datos de la marca de tiempo que obtuve del fecha comando en el marca de tiempo variable.

En la línea 11, imprimí la fecha y la hora en formato de marca de tiempo y los datos de temperatura en formato de columna de ancho fijo.

En la línea 12, utilicé el comando sleep 1 para detener la ejecución del script durante un segundo. Posteriormente, el bucle continuará.

Ahora, haz el guión tempmon.sh ejecutable con el siguiente comando:

$chmod+x tempmon.sh

Finalmente, ejecute el script tempmon.sh con el siguiente comando:

$./tempmon.sh

Como puede ver, el script del monitor de temperatura funciona perfectamente. Está imprimiendo los datos de temperatura cada segundo.

Como puede ver, a medida que aumentaba la carga del sistema, la temperatura aumentaba ligeramente.

Si desea detener el script de monitoreo de temperatura, presione + c . El monitoreo de temperatura ya no se está ejecutando, como puede ver en la captura de pantalla a continuación.

Ahora que la secuencia de comandos de monitoreo de temperatura está funcionando, copiemos a / usr / bin directorio. De esa manera, puede ejecutarlo como cualquier otro comando de Linux.

Para copiar el guion tempmon.sh al / usr / bin directorio, ejecute el siguiente comando:

$sudo cptempmon.sh/usr/soy/tempmon

Como puede ver, puedo ejecutar el script de monitoreo de temperatura del mismo modo que ejecuto los comandos estándar de Linux.

Modificando tempmon para imprimir datos de temperatura en grados Fahrenheit:

Puede convertir fácilmente los datos de temperatura de Celsius a Fahrenheit.

La fórmula ampliamente conocida para calcular temperaturas en Fahrenheit de Celsius es,

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

Pero el problema es que bash shell no tiene las funciones necesarias para realizar cálculos de punto flotante. Entonces, debes confiar en algunos otros programas como antes de Cristo .

antes de Cristo no está instalado en Raspbian de forma predeterminada. Pero puedes instalarlo fácilmente con el siguiente comando:

$sudoaptoInstalar en pc antes de Cristo

antes de Cristo debe estar instalado.

Ahora, debe modificar el script de monitoreo de temperatura y hacer los cálculos necesarios para convertir la temperatura a Fahrenheit de Celsius con antes de Cristo .

Edite el tempmon.sh script con el siguiente comando:

$nanotempmon.sh

Ahora, realice las modificaciones como se indica en la captura de pantalla a continuación.

Aquí, en la línea 4, imprimí TEMPERATURA (F) en lugar de TEMPERATURA (grados C) .

En la línea 9, cambié la variable de temperatura para tempC .

En la línea 10, agregué el resultado de la conversión de Celsius a Fahrenheit a una variable tempF .

Finalmente, imprimí el valor de tempF variable en lugar de temperatura en la línea 12.

Ahora, ejecute el script de la siguiente manera:

$./tempmon

Como puede ver, la temperatura está impresa en unidades Fahrenheit.

Así es como controlas la temperatura en Raspberry Pi. Gracias por leer este artículo.