Bonjour à tous. Aujourd’hui je vais vous montrer comment tester l’alimentation de votre Raspberry PI. Je possède depuis quelques temps un Raspberry PI et je me suis toujours posé la question si ce dernier recevait le bon voltage.
Un Raspberry PI peut tout à fait fonctionner en sous-voltage, mais le processeur sera bridée en performances.
J’ai trouvé sur internet un script permettant de faire un ‘stress test‘ et de voir si le processeur se bride lors de sa montée en fréquence.
Avant de commencer, ce script est compatible avec tous les modèles de Raspberry PI car il se base sur le composant ‘get_throttled‘ qui remonte différents codes d’erreurs qui indiquent l’état du système en temps réel.
Préparation de la machine
Avant de mettre en place le script, il faut s’assurer que le paquet sysbench soit bien installé :
sudo apt-get install sysbench
Mise en place du Script
Maintenant, nous allons créer notre script (dans mon cas il sera crée dans le dossier scripts) :
sudo nano /home/pi/scripts/test_pi.sh
Puis ajoutez les lignes suivantes :
#!/bin/bash function throttleCodeMask { perl -e "printf \"%s\", $1 & $2 ? \"$3\" : \"$4\"" } # Rendre le code limité lisible # # Voir la documentation de la méthode 'get_throttled' sur: https://www.raspberrypi.org/documentation/raspbian/applications/vcgencmd.md # function throttledToText { throttledCode=$1 throttleCodeMask $throttledCode 0x80000 "Limite de température matérielle ateinte, " "" throttleCodeMask $throttledCode 0x40000 "Un étranglement s'est produit, " "" throttleCodeMask $throttledCode 0x20000 "La fréquence ARM est limitée, " "" throttleCodeMask $throttledCode 0x10000 "une sous-tension s'est produite, " "" throttleCodeMask $throttledCode 0x8 "Limite de température matérielle active, " "" throttleCodeMask $throttledCode 0x4 "Etranglement en cours, " "" throttleCodeMask $throttledCode 0x2 "Fréquence ARM limitée, " "" throttleCodeMask $throttledCode 0x1 "Sous-tension détectée, " "" } # Couper Sysbench si il est interrompu trap 'kill -HUP 0' EXIT sysbench --test=cpu --cpu-max-prime=10000000 --num-threads=4 run > /dev/null & maxfreq=$(( $(awk '{printf ("%0.0f",$1/1000); }' < /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq) -15 )) # Lecture des informations système, les afficher et boucler while true; do temp=$(vcgencmd measure_temp | cut -f2 -d=) real_clock_speed=$(vcgencmd measure_clock arm | awk -F"=" '{printf ("%0.0f", $2 / 1000000); }' ) sys_clock_speed=$(awk '{printf ("%0.0f",$1/1000); }' </sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq) voltage=$(vcgencmd measure_volts | cut -f2 -d= | sed 's/000//') throttled_text=$(throttledToText $(vcgencmd get_throttled | cut -f2 -d=)) echo "$temp $sys_clock_speed / $real_clock_speed MHz $voltage - $throttled_text" sleep 5 done
Pour enregistrer, faites CTRL X puis O
Afin de rendre le script exécutable faites la commande suivante :
sudo chmod u+x /home/pi/scripts/test_pi.sh
Puis exécutez le script :
cd scripts/ ./test_pi.sh
Fonctionnement du script
Si votre Raspberry PI est correctement alimenté (alimentation stable et câble de qualité), après avoir exécuté le script, vous devriez obtenir quelque chose comme :
45.6'C 1400 / 600 MHz 1.3813V - 55.3'C 1400 / 1400 MHz 1.3813V - 58.0'C 1400 / 1400 MHz 1.3813V - 60.2'C 1400 / 1400 MHz 1.3813V - 60.2'C 1400 / 1400 MHz 1.3813V - 61.1'C 1400 / 1400 MHz 1.3813V - 61.1'C 1400 / 1400 MHz 1.3813V - 60.8'C 1400 / 1400 MHz 1.3813V -
Si votre alimentation ne peut pas fournir une alimentation stable ou si le câble n’est pas assez bon, vous devriez obtenir quelque chose comme :
39.7'C 1400 / 1400 MHz 1.3875V - Un étranglement s'est produit, une sous-tension s'est produite, 48.3'C 1400 / 1400 MHz 1.3875V - Un étranglement s'est produit, une sous-tension s'est produite, 52.1'C 1400 / 1400 MHz 1.3875V - Un étranglement s'est produit, une sous-tension s'est produite, 54.8'C 1400 / 1400 MHz 1.3875V - Un étranglement s'est produit, une sous-tension s'est produite, 55.8'C 1400 / 1400 MHz 1.3875V - Un étranglement s'est produit, une sous-tension s'est produite, 56.4'C 1400 / 1400 MHz 1.3875V - Un étranglement s'est produit, une sous-tension s'est produite, 57.5'C 1400 / 1400 MHz 1.3875V - Un étranglement s'est produit, une sous-tension s'est produite, 58.0'C 1400 / 1400 MHz 1.3875V - Un étranglement s'est produit, une sous-tension s'est produite, 59.6'C 1400 / 1400 MHz 1.3875V - Un étranglement s'est produit, une sous-tension s'est produite,
Cet article totalise 1 252 vues 👍 Merci pour votre visite! 🙂
0 commentaire