diff --git a/96eaaeb7-e04f-472d-b4ed-37ffbdae945f/draft_overlay.json b/96eaaeb7-e04f-472d-b4ed-37ffbdae945f/draft_overlay.json deleted file mode 100644 index 1631d21..0000000 --- a/96eaaeb7-e04f-472d-b4ed-37ffbdae945f/draft_overlay.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "title": "Relever la température du SoC d'un Raspberry Pi", - "_updated_at": "2026-05-15 19:02:23", - "slug": "relever-la-temperature-du-soc-d-un-raspberry-pi", - "published": true, - "published_at": "2020-04-17 20:51", - "category": "Électronique", - "tags": { - "tags": [ - "Raspberry Pi", - "devOps" - ] - }, - "seo_title": "", - "seo_description": "" -} diff --git a/96eaaeb7-e04f-472d-b4ed-37ffbdae945f/draft_overlay.md b/96eaaeb7-e04f-472d-b4ed-37ffbdae945f/draft_overlay.md deleted file mode 100644 index 67507e2..0000000 --- a/96eaaeb7-e04f-472d-b4ed-37ffbdae945f/draft_overlay.md +++ /dev/null @@ -1,100 +0,0 @@ -# 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. diff --git a/96eaaeb7-e04f-472d-b4ed-37ffbdae945f/index.md b/96eaaeb7-e04f-472d-b4ed-37ffbdae945f/index.md index 8980236..67507e2 100644 --- a/96eaaeb7-e04f-472d-b4ed-37ffbdae945f/index.md +++ b/96eaaeb7-e04f-472d-b4ed-37ffbdae945f/index.md @@ -1,67 +1,100 @@ -# Relever la température dans la GPU et le CPU d'un Raspberry Pi +# Relever la température du SoC d'un Raspberry Pi -Il est judicieux de connaître la température du processeur et de la puce graphique afin de ne pas endommager votre Raspberry Pi. **La température maximale est de 80 °C**, au delà de 93 °C les composants peuvent subir des dommages irréversibles. Le pire ? Griller votre carte ! +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. -Voici mes tests réalisés avec un Raspberry Pi 4. +À 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 de la GPU est accessible depuis la commande `vcgencmd` et le paramètre `measure_temp` : + +La température rapportée par le firmware VideoCore est accessible via `vcgencmd` : ``` $ vcgencmd measure_temp temp=43.0'C ``` -La température du processeur est stocké dans le fichier `/sys/class/thermal/thermal_zone0/temp`, exprimée en millième de **°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 afficher la valeur en **°C**, il faut effectuer une division par 1000 de la valeur contenue dans `/sys/class/thermal/thermal_zone0/temp` : +Pour l'afficher en **°C**, on divise par 1000 : + ``` -$ awk '{printf("\ntemp=%.1f°C\n\n",$1/1e3)}' /sys/class/thermal/thermal_zone0/temp -temp=44.7'C +$ awk '{printf("temp=%.1f°C\n", $1/1e3)}' /sys/class/thermal/thermal_zone0/temp +temp=44.7°C ``` -## Script évolué -Le script ci-dessous affiche la température de la GPU et du CPU. -```BASH +## Script + +Le script ci-dessous affiche les deux mesures côte à côte, avec un formatage homogène. + +```bash #!/bin/bash -# Script: piSensorsTemp -# Purpose: Display the ARM CPU and GPU temperature of Raspberry Pi 2/3/4 -# Author: Cédric Abonnel under CC BY -# ------------------------------------------------------- +# 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 "-------------------------------------------" -echo "GPU => $(/opt/vc/bin/vcgencmd measure_temp)" -echo "CPU => $(awk '{printf("temp=%.1f°C\n\n",$1/1e3)}' /sys/class/thermal/thermal_zone0/temp)" + +# 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 ``` -Pour rendre exécutable le code : +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 : ``` -$ sudo chmod +x piSensorsTemp +$ chmod +x piSensorsTemp $ ./piSensorsTemp ``` -Pour afficher toutes les secondes, les informations rafraîchies : +Rafraîchir l'affichage toutes les secondes (l'option `-d` surligne les valeurs qui changent) : ``` $ watch -n 1 -d ./piSensorsTemp ``` -Exemple d'execution : +Exemple d'exécution : + ``` $ ./piSensorsTemp -vendredi 17 janvier 2020, 11:25:31 (UTC+0100) @ rpitst ---- -GPU => temp=43.0'C -CPU => temp=43.3°C +vendredi 15 mai 2026, 11:25:31 (UTC+0200) @ rpitst +------------------------------------------- +Firmware (VideoCore) => temp=43.0°C +Kernel (cpu-thermal) => temp=43.3°C ``` -## Biblio -[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/) +## Si la température est trop haute -[lm-sensors does not detect integrated temperature sensor on Raspberry Pi](https://github.com/lm-sensors/lm-sensors/issues/30) \ No newline at end of file +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. diff --git a/96eaaeb7-e04f-472d-b4ed-37ffbdae945f/meta.json b/96eaaeb7-e04f-472d-b4ed-37ffbdae945f/meta.json index f09a98a..924363a 100644 --- a/96eaaeb7-e04f-472d-b4ed-37ffbdae945f/meta.json +++ b/96eaaeb7-e04f-472d-b4ed-37ffbdae945f/meta.json @@ -1,18 +1,32 @@ { "uuid": "96eaaeb7-e04f-472d-b4ed-37ffbdae945f", - "slug": "relever-temperature-cpu-gpu", - "title": "Relever la température dans la GPU et le CPU d'un Raspberry Pi", + "slug": "relever-la-temperature-du-soc-d-un-raspberry-pi", + "title": "Relever la température du SoC d'un Raspberry Pi", "author": "cedric@abonnel.fr", "published": true, - "published_at": "2020-04-17 20:51:11", + "featured": false, + "published_at": "2020-04-17 20:51", "created_at": "2020-04-17 20:51:11", - "updated_at": "2020-04-17 20:51:11", - "revisions": [], + "updated_at": "2026-05-15 19:02:24", + "revisions": [ + { + "n": 1, + "date": "2026-05-15 19:02:24", + "comment": "Titre modifié, tags modifiés, contenu modifié", + "title": "Relever la température dans la GPU et le CPU d'un Raspberry Pi" + } + ], "cover": "", "files_meta": [], "external_links": [], "seo_title": "", "seo_description": "", "og_image": "", - "category": "Électronique" + "category": "Électronique", + "tags": { + "tags": [ + "Raspberry Pi", + "devOps" + ] + } } diff --git a/96eaaeb7-e04f-472d-b4ed-37ffbdae945f/revisions/0001.md b/96eaaeb7-e04f-472d-b4ed-37ffbdae945f/revisions/0001.md new file mode 100644 index 0000000..8980236 --- /dev/null +++ b/96eaaeb7-e04f-472d-b4ed-37ffbdae945f/revisions/0001.md @@ -0,0 +1,67 @@ +# Relever la température dans la GPU et le CPU d'un Raspberry Pi + +Il est judicieux de connaître la température du processeur et de la puce graphique afin de ne pas endommager votre Raspberry Pi. **La température maximale est de 80 °C**, au delà de 93 °C les composants peuvent subir des dommages irréversibles. Le pire ? Griller votre carte ! + +Voici mes tests réalisés avec un Raspberry Pi 4. + +## Fondamentaux +La température de la GPU est accessible depuis la commande `vcgencmd` et le paramètre `measure_temp` : + +``` +$ vcgencmd measure_temp +temp=43.0'C +``` + +La température du processeur est stocké dans le fichier `/sys/class/thermal/thermal_zone0/temp`, exprimée en millième de **°C** : + +``` +$ cat /sys/class/thermal/thermal_zone0/temp +44790 +``` + +Pour afficher la valeur en **°C**, il faut effectuer une division par 1000 de la valeur contenue dans `/sys/class/thermal/thermal_zone0/temp` : +``` +$ awk '{printf("\ntemp=%.1f°C\n\n",$1/1e3)}' /sys/class/thermal/thermal_zone0/temp +temp=44.7'C +``` + +## Script évolué +Le script ci-dessous affiche la température de la GPU et du CPU. +```BASH +#!/bin/bash +# Script: piSensorsTemp +# Purpose: Display the ARM CPU and GPU temperature of Raspberry Pi 2/3/4 +# Author: Cédric Abonnel under CC BY +# ------------------------------------------------------- +echo "$(date) @ $(hostname)" +echo "-------------------------------------------" +echo "GPU => $(/opt/vc/bin/vcgencmd measure_temp)" +echo "CPU => $(awk '{printf("temp=%.1f°C\n\n",$1/1e3)}' /sys/class/thermal/thermal_zone0/temp)" +``` + +Pour rendre exécutable le code : + +``` +$ sudo chmod +x piSensorsTemp +$ ./piSensorsTemp +``` + +Pour afficher toutes les secondes, les informations rafraîchies : + +``` +$ watch -n 1 -d ./piSensorsTemp +``` + +Exemple d'execution : +``` +$ ./piSensorsTemp +vendredi 17 janvier 2020, 11:25:31 (UTC+0100) @ rpitst +--- +GPU => temp=43.0'C +CPU => temp=43.3°C +``` + +## Biblio +[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/) + +[lm-sensors does not detect integrated temperature sensor on Raspberry Pi](https://github.com/lm-sensors/lm-sensors/issues/30) \ No newline at end of file