Moniteur de batterie
Objectif
Ce script a été conçu pour vérifier les perfomances d’une batterie de remplacement pour un Razer Blade 15 Advanced (2020), mais il peut supporter la plupart des ordinateurs portables, ou système sur batterie utilisant Linux. Il permet d’enregistrer périodiquement le courant, la tension, la capacité, la charge ainsi que la température et l’état de la batterie. Ce script vous permet de spécifier l’intervalle de temps entre chaque enregistrement, le chemin de la batterie, le fichier de sortie, le temps d’acquisition et si vous voulez ou non une interface en temps réel.
Fonctionnalités
- Enregistre les données de la batterie dans un fichier CSV.
- Permet de spécifier le fichier de sortie et l’intervalle.
- Option pour spécifier un chemin de batterie personnalisé.
- Temps d’acquisition maximum (fonctionne indéfiniment par défaut).
- Affiche une interface en temps réel avec les données de la batterie.
- Prend en charge les arguments de ligne de commande et les options d’aide.
Prérequis
- Système Linux avec
/sys/class/power_supply/
pour les informations sur la batterie. - Commande
acpi
installée (pour la lecture de la température, optionnel). - Shell Bash.
Installation
chmod +x battery_logger.sh
Usage
./battery_logger.sh [OPTIONS]
Options:
-o, --output <FILE>
Spécifie le fichier CSV de sortie où les données de la batterie seront enregistrées (par défaut :battery_log.csv
).-i, --interval <SECONDS>
Spécifie l’intervalle de temps entre chaque enregistrement en secondes (par défaut :60
).-b, --battery <BATTERY_PATH>
Spécifie le chemin vers les informations de la batterie (par défaut :/sys/class/power_supply/BAT*
et prend la première occurence).-t, --time <SECONDS>
Spécifie le temps d’acquisition maximum du script en secondes. Si non spécifié ou0
, le script fonctionne indéfiniment.--no-interface
Désactive l’interface en temps réel (par défaut : activée).-h, --help
Affiche l’aide.
Pour quitter le script, appuyez sur Ctrl+C
.
Examples:
Pour enregistrer indéfiniment les données de la première batterie toutes les 30 secondes dans un fichier nommé
battery_0_log.csv
:./battery_logger.sh -o battery_0_log.csv -i 30
Pour enregistrer les données de la deuxième batterie toutes les 2 secondes dans un fichier nommé
my_battery_log.csv
pendant 1 heure :./battery_logger.sh -o my_battery_log.csv -i 2 -b /sys/class/power_supply/BAT1 -t 3600
Interface en temps réel:
L’interface affiche les données de la batterie en temps réel et la taille du fichier de log. Elle est activée par défaut et peut être désactivée en utilisant l’option --no-interface
.
====================== BATTERY LOGGER =====================
Interval: 10 seconds
Battery Path: /sys/class/power_supply/BAT0
Start Time: Fri Dec 6 07:31:27 PM EST 2024
===========================================================
Log File: battery_log.csv
Current Log File Size: 4.0K
=================== Current Battery Data ==================
| Metric | Value (converted) | Raw Value |
|----------------|--------------------|-------------------|
| current_now | 1089.000 mA | 1089000 |
| charge_now | 4073.000 mAh | 4073000 |
| voltage_now | 16.071 V | 16071000 |
| capacity | 75 % |
===========================================================
temperature : 27.8 °C
charging status : Discharging
===========================================================
Progress: |########### | ETA: 01:36:21
Notes
- current_now : Courrant en microampères. Notez que certains systèmes peuvent ne rapporter que des valeurs positives. Dans ce cas, l’état de charge peut être utilisé pour déterminer la direction du courant.
- charge_now : Charge en microampères-heures.
- capacity : Capacité de la batterie en pourcentage.
- voltage_now : Tension en microvolts.
- temperature : Température de la batterie en degrés Celsius.
- charging status :
Etat Valeur Charging 1 Discharging -1 Full 0 Unknown 0
Problèmes connus
- Temperature de la batterie : sur certains systèmes, la température de la batterie est toujours de 27.8°C.