Température processeur

#!/bin/bash

 

# récupération de la température ; on obtient ici une valeur à 5 chiffres sans virgules (ex: 44123) :

TEMP=$(cat /sys/class/thermal/thermal_zone0/temp)

 

# on divise alors la valeur obtenue par 1000, pour obtenir un résultat avec deux chiffres seulement (ex: 44) :

TEMP=$(($TEMP/1000))

 

# récupération de la date et l'heure du jour ; on obtient ici une valeur telle que "mercredi 31 décembre 2014, 00:15:01" :

DATE=`date +"%A %d %B %Y, %H:%M:%S"`

 

# récupération de la date et l'heure du jour sous un autre format ; on obtient ici un résultat sous la forme suivante : XX-YY-ZZZZ (ex: 31-12-2014) :

DATE2=`date +"%d-%m-%Y"`

 

# définition du chemin du répertoire à créer :

REP="/media/NAS/Captures/$DATE2"

 

# le fichier à créer dans ce répertoire est "temperature.html"

FICHIER="${REP}/temperature.html"

 

# Si le répertoire n'existe pas on le crée

if [ ! -d "$REP" ];then

 mkdir "$REP"

fi

 

# Si le fichier n'existe pas on le crée et on y injecte le code html minimum

if [ ! -f "$FICHIER" ];then

 touch "$FICHIER" &&

 echo "<!DOCTYPE html><html><head><meta charset='utf-8' /></head><body><center>" > "$FICHIER"

fi

 

# Tests des températures

 

# pour les températures inférieures à 40ḞC, on écrit la valeur en bleu dans le fichier.

if [ $TEMP -lt 40 ]; then

    echo "<font face='Courier'>${DATE}<br><strong><font color='blue'>${TEMP}ḞC</font></font></strong><br><br>" >> "$FICHIER"

 

# pour les températures comprises entre +40 et 50ḞC, on écrit la valeur en vert dans le fichier.

elif [ $TEMP -ge 40 ] && [ $TEMP -lt 50 ];then

    echo "<font face='Courier'>${DATE}<br><strong><font color='green'>${TEMP}ḞC</font></font></strong><br><br>" >> "$FICHIER"

 

# pour les températures comprises entre +50 et 70ḞC, on écrit la valeur en orange dans le fichier.

elif [ $TEMP -ge 50 ] && [ $TEMP -lt 70 ];then

    echo "<font face='Courier'>${DATE}<br><strong><font color='orange'>${TEMP}ḞC</font></font></strong><br><br>" >> "$FICHIER"

 

# pour les températures comprises entre +70 et 75ḞC, on écrit la valeur en rouge dans le fichier ; on envoi une alerte "surchauffe" par mail

elif [ $TEMP -ge 70 ] && [ $TEMP -lt 75 ];then

    echo "<font face='Courier'>${DATE}<br><strong><font color='red'>${TEMP}ḞC</font></font></strong><br><br>" >> "$FICHIER"

    echo "" | mutt -s "Alerte surchauffe, température = ${TEMP}ḞC" mon_email

 

# pour les températures dépassant 75Ḟ, on écrit la valeur en noir dans le fichier ; on envoi une alerte "température anormale" par mail et on ordonne l'arrêt du RPi.

elif [ $TEMP -ge 75 ];then

    echo "<font face='Courier'>${DATE}<br><strong><font color='black'>${TEMP}ḞC</font></font></strong><br><br>" >> "$FICHIER"

    echo "" | mutt -s "Alerte température anormale, arrêt immédiat du pi, température = ${TEMP}ḞC" mon_email

    sudo shutdown -h now

 

fi

exit 0

Raptozone{©} 2020 / 2022 | Info | Contact