Normalización de los datos de temperatura de los sensores de la CPU al ambiente [cerrado]

Mi escenario: quiero que mi aplicación se detenga o tome alguna decisión en función de la temperatura. diga como si mi ambiente es más de 41 quiero apagar la aplicación y no tenemos un sensor de temperatura separado y estamos tratando de usar los sensores de nuestra placa base

Lo siento: no sé si este es el foro adecuado para publicar esto

Para comprender los sensores de temperatura ambiente frente a los de la placa base, trazamos un gráfico de temperatura variando la temperatura ambiente de 30 a 43. Para registrar la temperatura de la placa base en syslog, usamos LM_SENSORS (comando de Linux) y Ambient registrado por el usuario manualmente.

Los datos trazados muestran un aumento/disminución constante en los puntos de temperatura de la placa base A (CPU) y B (placa). Durante los primeros 6 minutos hay un aumento constante en la temperatura de la placa/CPU y durante los siguientes 6 minutos hubo un descenso constante en la temperatura y este patrón continúa hasta el final de la prueba.

gráfico de temperatura

Archivo de datos de muestra

¿Existe algún mecanismo que nos permita usar esta información de temperatura y tomar alguna decisión sobre el final de mi aplicación?

Lo obvio sería ajustar una línea recta a sus gráficos anteriores, y luego hacer que su aplicación calcule la temperatura promedio durante los últimos, digamos, 20 minutos, y si excede el valor de la línea recta en la temperatura crítica, entonces elimínelo. . Sin embargo, presumiblemente si también está ejecutando una aplicación, eso causará picos de temperatura significativos que estropearán sus mediciones...
No puedo ver por qué tendrías que hacer algo. Su temperatura central está perfectamente bien, por lo que el ambiente térmico en el tablero está bien. Si te preocupa la temperatura, prefiero instalar un mejor ventilador. En términos generales, el silicio aquí no está estresado en absoluto. Si se trata de un problema de confiabilidad, lo que debe cuidar son los condensadores al lado de la CPU. Por lo general, se ejecutan muy por encima de sus clasificaciones seguras en placas base baratas.
@CuriousOne: solo estoy tratando de encontrar una correlación de datos entre mi temperatura central y el ambiente.
@Ragav Creo que puedes obtener un formulario de respuesta stackoverflow
Hola Ragav. La vinculación a nubes privadas, dropbox, etc., por varias razones, no es aceptable en SE, cf. esta meta publicación. 06.10.19: El enlace ahora está muerto.

Respuestas (1)

Sugeriría, como lo hizo uno de los comentaristas, tomar un promedio móvil durante los últimos T minutos y úselo como su métrica de decisión. Si X ( t ) es su temperatura medida en el momento t , entonces la salida promedio X ¯ ( t ) es dado por:

X ¯ ( t ) = 1 T t T t X ( τ ) d τ

En términos de muestras de datos discretos (que es lo que generará su sensor), esto podría aproximarse mediante:

X ¯ [ k ] = 1 norte norte = k norte + 1 k X [ norte ]

dónde

norte = T T s

y T s es el tiempo entre muestras en las mismas unidades de tiempo que T .

Por ejemplo, si sabe que las oscilaciones varían con un período de aproximadamente 12 minutos, como sugiere su trama, entonces puede configurar T = 12 minutos y use la salida de su filtro de promedio móvil como su métrica de decisión.