🛠 Surveillance thermique et fréquence sous contrainte 256 Mo

Raspberry Pi Model A (2013) — Fiche carte · avance · Schéma : IMG-model-a-avance-8-modela-surveillance-thermique.svg — Raspberry Pi Model A en boîtier fermé avec son dissipateur, sonde de température pointant vers le BCM2835, graphique de température et seuil de throttling à 85 °C avec jauge de fréquence 700 MHz

Objectifs

Matériel

Code complet

#!/usr/bin/env bash
# /usr/local/bin/thermonut.sh — un point de mesure par minute
T=$(vcgencmd measure_temp | cut -d= -f2 | tr -d "'C")
F=$(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq)
U=$(vcgencmd get_throttled | cut -d= -f2)
echo "$(date -Is),$T,$F,$U" >> /var/log/thermonut.csv
# Bit 0 de throttled = sous-tension ; bits 16-18 = bridage fréquence atteinte
[ $(( 0x$U & 0x10000 )) -ne 0 ] && logger -p user.warning "THERMIQUE: bridage détecté"
# /etc/cron.d/thermonut (ligne unique)
* * * * * root /usr/local/bin/thermonut.sh
# Consulter
vcgencmd get_throttled && tail /var/log/thermonut.csv

Vérification attendue

Le CSV se remplit chaque minute ; sous charge (yes > /dev/null &) la température grimpe et, au seuil de 85 °C, scaling_cur_freq chute sous 700000 kHz pendant que le drapeau get_throttled s'allume. >

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels