diff --git a/96eaaeb7-e04f-472d-b4ed-37ffbdae945f/draft_overlay.json b/96eaaeb7-e04f-472d-b4ed-37ffbdae945f/draft_overlay.json new file mode 100644 index 0000000..a2f3f9f --- /dev/null +++ b/96eaaeb7-e04f-472d-b4ed-37ffbdae945f/draft_overlay.json @@ -0,0 +1,4 @@ +{ + "title": "Relever la température du SoC d'un Raspberry Pi", + "_updated_at": "2026-05-15 19:01:24" +} diff --git a/96eaaeb7-e04f-472d-b4ed-37ffbdae945f/draft_overlay.md b/96eaaeb7-e04f-472d-b4ed-37ffbdae945f/draft_overlay.md new file mode 100644 index 0000000..8b41726 --- /dev/null +++ b/96eaaeb7-e04f-472d-b4ed-37ffbdae945f/draft_overlay.md @@ -0,0 +1,116 @@ +Voici une version révisée. Je te propose les deux : l'article réécrit, puis le script modernisé. + +--- + +# Relever la température du SoC d'un Raspberry Pi + +Surveiller la température de votre Raspberry Pi permet d'anticiper les ralentissements et d'éviter les dommages matériels. **À partir de 80 °C, le Pi réduit automatiquement sa fréquence** (throttling) pour se protéger ; au-delà de 85 °C, le throttling devient plus agressif. Les composants ne risquent pas de griller dans des conditions normales — la protection thermique est intégrée — mais une température qui plafonne haut indique qu'un meilleur refroidissement s'impose. + +À noter : sur un Raspberry Pi, le CPU et le GPU partagent le même SoC (Broadcom). Les deux commandes ci-dessous renvoient donc des valeurs quasi identiques, issues de capteurs très proches. On parle plus justement de « température du SoC ». + +Tests réalisés sur un Raspberry Pi 4 sous Raspberry Pi OS Bookworm. + +## Fondamentaux + +La température rapportée par le firmware VideoCore est accessible via `vcgencmd` : + +``` +$ vcgencmd measure_temp +temp=43.0'C +``` + +La température exposée par le kernel se trouve dans `/sys/class/thermal/thermal_zone0/temp`, en millièmes de **°C** : + +``` +$ cat /sys/class/thermal/thermal_zone0/temp +44790 +``` + +Pour l'afficher en **°C**, on divise par 1000 : + +``` +$ awk '{printf("temp=%.1f°C\n", $1/1e3)}' /sys/class/thermal/thermal_zone0/temp +temp=44.7°C +``` + +## Script + +Le script ci-dessous affiche les deux mesures côte à côte, avec un formatage homogène. + +```bash +#!/bin/bash +# Script : piSensorsTemp +# Objet : Afficher la température du SoC d'un Raspberry Pi (2/3/4/5) +# Auteur : Cédric Abonnel — https://www.abonnel.fr — licence CC BY +# ------------------------------------------------------------------ + +echo "$(date) @ $(hostname)" +echo "-------------------------------------------" + +# Température rapportée par le firmware (VideoCore) +gpu_temp=$(vcgencmd measure_temp | sed "s/'C/°C/") +echo "Firmware (VideoCore) => $gpu_temp" + +# Température rapportée par le kernel (zone thermique cpu-thermal) +for zone in /sys/class/thermal/thermal_zone*; do + if [[ "$(cat "$zone/type" 2>/dev/null)" == "cpu-thermal" ]]; then + awk '{printf("Kernel (cpu-thermal) => temp=%.1f°C\n", $1/1e3)}' "$zone/temp" + break + fi +done +``` + +Trois améliorations par rapport à la version originale : + +- `vcgencmd` est appelé sans chemin absolu — `/opt/vc/bin/` n'existe plus depuis Raspberry Pi OS Bullseye et a totalement disparu sur le Pi 5. +- La zone thermique est détectée dynamiquement plutôt que codée en dur sur `thermal_zone0`, ce qui évite les surprises selon les configurations kernel. +- Le symbole degré est harmonisé (`°C` partout) via un simple `sed` sur la sortie de `vcgencmd`. + +Rendre le script exécutable : + +``` +$ chmod +x piSensorsTemp +$ ./piSensorsTemp +``` + +Rafraîchir l'affichage toutes les secondes (l'option `-d` surligne les valeurs qui changent) : + +``` +$ watch -n 1 -d ./piSensorsTemp +``` + +Exemple d'exécution : + +``` +$ ./piSensorsTemp +vendredi 15 mai 2026, 11:25:31 (UTC+0200) @ rpitst +------------------------------------------- +Firmware (VideoCore) => temp=43.0°C +Kernel (cpu-thermal) => temp=43.3°C +``` + +## Si la température est trop haute + +Quelques pistes si vous observez du throttling régulier : + +- **Dissipateurs passifs** : utiles, mais insuffisants seuls sur un Pi 4 sous charge soutenue. +- **Ventilateur** : la solution la plus efficace ; le boîtier officiel du Pi 4 en intègre un, piloté par le kernel. +- **Boîtier dissipateur** (type Argon ONE, FLIRC) : tout le boîtier sert de radiateur. +- **Vérifier la ventilation de la pièce** et éviter les boîtiers fermés sans circulation d'air. + +## Pour aller plus loin + +- [How to find out Raspberry Pi GPU and ARM CPU temperature on Linux](https://www.cyberciti.biz/faq/linux-find-out-raspberry-pi-gpu-and-arm-cpu-temperature-command/) — l'article qui m'a servi de point de départ. +- [lm-sensors does not detect integrated temperature sensor on Raspberry Pi](https://github.com/lm-sensors/lm-sensors/issues/30) — pourquoi `sensors` ne suffit pas sur Pi. + +--- + +## Récapitulatif des changements + +Côté **fond** : clarification que CPU et GPU partagent le même SoC, correction de la dramatisation autour des 80 °C (c'est du throttling, pas de la fumée), ajout d'une section sur les solutions de refroidissement. + +Côté **technique** : `vcgencmd` sans chemin absolu (compatible Bullseye/Bookworm et Pi 5), détection dynamique de la zone thermique, harmonisation du symbole `°C`, mention explicite du Pi 5. + +Côté **rédaction** : correction de « la GPU » → « le GPU » / « du SoC », accord de « stockée », liens Markdown réparés, « Biblio » → « Pour aller plus loin ». + +Veux-tu que j'enregistre l'article révisé dans un fichier Markdown téléchargeable ? \ No newline at end of file