🛠 Surveiller température et fréquence du BCM2835

Raspberry Pi Model B (Rev 1, 2012) — Fiche carte · avance · Schéma : IMG-model-b-rev1-avance-2-modelb1-surveillance-thermique.svg — Boîtier du Model B Rev 1 avec son dissipateur, sonde de température, jauges vcgencmd mesure_temp et mesure_clock arm, graphique d'historique avec seuil de throttling à 85 °C

Objectifs

Mettre en place une surveillance continue du SoC BCM2835 : température, fréquence ARM courante et indicateur de bridage (throttling). Le firmware bride le CPU au-delà de 85 °C ou en cas de sous-tension détectée — sans coupure franche documentée pour cette carte. Vous allez utiliser vcgencmd, journaliser dans une base de texte et interpréter le drapeau get_throttled bit à bit.

Matériel

Code complet

#!/bin/sh
# surveil.sh - journalise temperature, clock et drapeau de bridage
# format: horodatage;temp_c;arm_hz;throttled_hex
while true; do
  T=$(vcgencmd measure_temp | sed 's/temp=//;s/.C//')
  C=$(vcgencmd measure_clock arm | cut -d= -f2)
  V=$(vcgencmd get_throttled | cut -d= -f2)
  echo "$(date -Is);${T};${C};${V}" >> /var/log/pisoc.csv
  sleep 30
done

# Lecture rapide :
# vcgencmd measure_temp      -> 'temp=52.3'C (bridage au-dela de 85 C)
# vcgencmd measure_clock arm -> 700000000 au repos nominal
# vcgencmd get_throttled     -> 0x0 = rien a signaler
#   bit 0 sous-tension | bit 2 sous-tension subie | bit 3 bridage thermique
#   bit 4 bridage sous-tension | bits 16-19 = memoire des événements passes

# Provoquer la montee (test seulement, 256 MB de RAM : pas de stress --vm) :
stress --cpu 1 --timeout 120

Vérification attendue

tail -f /var/log/pisoc.csv défile avec des températures cohérentes (30-60 °C au repos selon boîtier). Pendant stress --cpu 1, la température monte et la fréquence mesurée peut baisser sous 700 MHz si le seuil de 85 °C est atteint ; get_throttled affiche alors un drapeau non nul avec le bit 3 (bridage thermique) ou le bit 0 (sous-tension) positionné.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels