L'obiettivo è accendere una ventola di scarico in una stazione di registrazione dati esterna in una centrale solare. Il programma di raccolta dati è scritto in Python sotto Raspbian.
Per leggere la temperatura della CPU da una riga di comando, c'è il comando vcgencmd
.
Esempio in bash:
echo "La CPU è a $ (vcgencmd measure_temp) gradi." La CPU è a temp = 39,2'C gradi.
come il comando restituisce la stringa "temp = 39.2'C"
Non l'ho mai visto personalmente fallire, anche se so che c'è una domanda su questo punto.
vcgencmd measure_temp non sempre funziona
Nel frattempo, vorrei ottenere la temperatura della CPU in Python.
Ritorno all'obiettivo: le ventole sono controllate dalle chiamate PiGPIO
e durante la registrazione dei dati mantengo le mie chiamate di sistema esterne al minimo (cioè, non ce ne sono diverso dall'I / O di file Python). Inoltre, sarebbe molto preferibile ottenere la risposta come un semplice valore in virgola mobile piuttosto che estrarla da un valore restituito.
La domanda è: come ottenere direttamente la temperatura della CPU in Python?