Over temperature! Automatic shutdown - Raspberry

over temperature raspberryAncora qualche riga in python prima di cominciare con il making serio ed usare i GPIO. Visto che una delle prossime cose da fare sarà overcloccare il Raspberry, e visto che superati gli 85°C il Raspberry perde la garanzia (oltre a rischiare di diventare marmellata di lampone), ho preparato uno script in python che in caso di over temperature spegne immediatamente il rasp. In pratica non si fa altro che leggere ogni secondo la temperatura interna del processore, ed eseguire lo shutdown (grazie alla libreria os) nel caso si superino i 75°C (mi sono volutamente tenuto abbondantemente sotto il limite). Si comincia con l'inizializzazione della variabile h ed il caricamento dei moduli necessari. Quindi si entra in un ciclo while che legge la temperatura, la salva in float e attende 1 secondo (che sarà quindi il tempo minimo tra una lettura e l'altra) per poi ricominciare a confrontarla con la soglia di 75°C. Si esce dal ciclo solo se si va in over temperature, condizione che provoca lo shutdown del raspberry:

import subprocess
import time
import os
h = 0
while h < 75:
t = subprocess.check_output(["/opt/vc/bin/vcgencmd","measure_temp"])
a = str(t)
h = a[7:11]
float(h)
time.sleep(1)
else:
os.system("sudo shutdown -h now")

Salvato lo script non resta che aggiungere alla crontab di wheezy (digitando da shell crontab -e) una riga che lo mandi in esecuzione (basta vedere come ho fatto per questo altro script)