Monitor de temperatura de Raspberry Pi

Monitor de temperatura de Raspberry Pi
Raspberry Pi es una poderosa computadora de una sola tabla (SBC). Se puede usar para hacer muchas tareas sofisticadas. Pero hacerlo aumentará la temperatura del procesador de dispositivos Raspberry Pi. Que no es bueno. El rendimiento de la Raspberry Pi SBC sufrirá debido a la temperatura. Esto también se conoce como aceleración térmica.

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

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

Medir la temperatura de Raspberry Pi SBC:

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

$ VCGENCMD MEDE_Temp

La temperatura central actual es 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.

Analización de los datos de temperatura:

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

Si desea utilizar los datos de temperatura en un script de shell bash, puede extraer los datos de temperatura con municipal Comando de la siguiente manera:

$ VCGENCMD MEDE_TEMP | egrep -o '[0-9]*\.[0-9]*'

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

Puedes usarlo en tu script de shell (digamos print_temp.mierda) como sigue:

$ nano print_temp.mierda

Aquí, en la línea 3, configuré el temperatura variable a los datos de temperatura analizados que obtengo del vcgencmd y grep dominio.

En la línea 5, usé eco 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.mierda

Ahora, ejecute el script de la siguiente manera:

ps ./print_temp.mierda

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 del núcleo cada segundo en la pantalla de una manera bien formateada.

Primero, crea un nuevo script tempmon.mierda Con el siguiente comando:

$ touch tempmon.mierda

Ahora, edite el tempmon.mierda Script con el siguiente comando:

$ nano tempmon.mierda

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

Aquí, en la línea 4, printf se usa para imprimir las cadenas de marca de tiempo y temperatura (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 bucle infinito para imprimir los datos de temperatura cada segundo.

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

En la línea 10, almacené 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 mantener la ejecución del script por un segundo. Después, el bucle continuará.

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

$ chmod +x tempmon.mierda

Finalmente, ejecuta el guión tempmon.mierda Con el siguiente comando:

ps ./tempmon.mierda

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

Como puede ver, a medida que aumenté la carga del sistema, la temperatura aumentó ligeramente.

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

Ahora que el script de monitoreo de temperatura está funcionando, copiémoslo para /usr/bin directorio. De esa manera, puede ejecutarlo como cualquier otro comando de Linux.

Para copiar el script tempmon.mierda hacia /usr/bin directorio, ejecute el siguiente comando:

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

Como puede ver, puedo ejecutar el script de monitoreo de temperatura tal como ejecuto los comandos estándar de Linux.

Modificador tempmon Para la impresión de datos de temperatura en 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 funciones necesarias para realizar cálculos de puntos flotantes. Entonces, debes confiar en otros programas como antes de Cristo.

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

$ sudo apt instalación bc

antes de Cristo debe instalarse.

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.

Editar el tempmon.mierda Script con el siguiente comando:

$ nano tempmon.mierda

Ahora, haga las modificaciones marcadas en la captura de pantalla a continuación.

Aquí, en la línea 4, imprimí Temperatura (f) en lugar de Temperatura (DEGC).

En la línea 9, cambié la variable de temperatura a TEMPC.

En la línea 10, agregué el resultado del Celsius a la conversión de 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:

ps ./tempmon

Como puede ver, la temperatura se imprime en la unidad Fahrenheit.

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