Drakkar escribió:Hola Pirossi!
Te e hecho un script. Mira el script cuando lo ejecutas te da a elejir cada cuanto tiempo te tiene que registrar la temperatura. Yo lo e hecho para elegir entre un rango de 20 segundos a 1 minuto, vamos 20 segundos, 40 segundos, 60 segundos. Bien cuando lo ejecutes te aparece esto:
Elijes los segundos. 20 , 40 o 60 y le das enter, yo en este caso eleji 20:
Y aqui ya estará corriendo el script y monitoreando la temperatura de la raspi:
Cuando lo quieras parar pulsas control + c.
Edito: Habia puesto para ejecutarlo en segundo plano, pero en este script no se puede

, tendria que mirarlo. Pero, no tengo tiempo.
Si apagas o reinicias la pi, logicamente ya cuando vuelbas a encenderla tendras que volber a ejecutarlo.
Un resultado seria este:
Y este es el script, copialo y pegalo bien, para que no tengas errores.
Código: Seleccionar todo
#!/bin/sh
echo "20 segundos"
echo "40 segundos"
echo "60 segundos"
veinte(){
cpuTemp0=$(cat /sys/class/thermal/thermal_zone0/temp)
cpuTemp1=$(($cpuTemp0/1000))
cpuTemp2=$(($cpuTemp0/100))
cpuTempM=$(($cpuTemp2 % $cpuTemp1))
gpuTemp=$(/opt/vc/bin/vcgencmd measure_temp)
registro(){
log="/home/$USER/temp.txt"
if [ ! -f "$log" ] ; then
touch "$log"
fi
echo "$1" >> "$log"
}
while true
do
registro "$(date): CPU temp - $cpuTemp1.$cpuTempM'C, GPU temp - $gpuTemp;"
sleep 20
done
}
cuarenta(){
cpuTemp0=$(cat /sys/class/thermal/thermal_zone0/temp)
cpuTemp1=$(($cpuTemp0/1000))
cpuTemp2=$(($cpuTemp0/100))
cpuTempM=$(($cpuTemp2 % $cpuTemp1))
gpuTemp=$(/opt/vc/bin/vcgencmd measure_temp)
registro(){
log="/home/$USER/temp.txt"
if [ ! -f "$log" ] ; then
touch "$log"
fi
echo "$1" >> "$log"
}
while true
do
registro "$(date): CPU temp - $cpuTemp1.$cpuTempM'C, GPU temp - $gpuTemp;"
sleep 40
done
}
sesenta(){
cpuTemp0=$(cat /sys/class/thermal/thermal_zone0/temp)
cpuTemp1=$(($cpuTemp0/1000))
cpuTemp2=$(($cpuTemp0/100))
cpuTempM=$(($cpuTemp2 % $cpuTemp1))
gpuTemp=$(/opt/vc/bin/vcgencmd measure_temp)
registro(){
log="/home/$USER/temp.txt"
if [ ! -f "$log" ] ; then
touch "$log"
fi
echo "$1" >> "$log"
}
while true
do
registro "$(date): CPU temp - $cpuTemp1.$cpuTempM'C, GPU temp - $gpuTemp;"
sleep 60
done
}
echo "Elije el tiempo"; read tiempo
if [[ ${tiempo} == 20 ]];
then
echo "Monitoreando su temperatura cada 20 segundos"
veinte
elif [[ ${tiempo} == 40 ]];
then
echo "Monitoreando su temperatura cada 40 segundos"
cuarenta
elif [[ ${tiempo} == 60 ]];
then
echo "Monitoreando su temperatura cada 60 segundos"
sesenta
fi
if [ "$cpuTemp1" -gt "70" ]
then registro "Shutdown.......;"; `shutdown -h now`
fi
llamalo por ejemplo temp.sh y dale permisos de ejecucion
Y luego lo ejecutas
Si quieres que al pasar de 70 grados te apague la pi, creo que lo debes ejecutar como sudo (esto no lo e probado, porque no es mi caso y no quiero probarlo de subirla a mas de 70 por ahora)
Bueno esto es todo, no tengo tiempo, pero un rato e sacado y te hecho esto, descuidando a la familia, espero que te sirva.
Saludos
