diabetes-management-strategies
Stratégies de gestion des Openaps Durée de vie des batteries et consommation d'énergie
Table of Contents
Présentation
OpenAPS (Open Artificial Pancreas System) donne aux personnes atteintes de diabète une façon puissante et personnalisable d'automatiser la livraison d'insuline. Le système repose généralement sur un ordinateur simple comme un Raspberry Pi, un moniteur de glucose continu (CGM) et une pompe à insuline. Le maintien de cette plate-forme en vie pendant une journée complète d'activités, de sommeil et d'exercice est un défi courant. Une batterie morte signifie une perte de la fonction de boucle fermée, des alarmes potentielles et une perturbation du contrôle du glucose. Cet article fournit des stratégies pratiques pour maximiser la durée de vie de la batterie et optimiser la consommation d'énergie dans les systèmes OpenAPS. En comprenant où va la puissance, en choisissant les bons composants et en choisissant les réglages logiciels, vous pouvez obtenir un fonctionnement fiable en continu.
Comprendre la consommation d'énergie en OpenAPS
Chaque composant de votre appareil OpenAPS contribue à la puissance totale. Les plus gros consommateurs sont généralement l'ordinateur monocommande (SBC), la radio Bluetooth et le récepteur ou émetteur CGM. La pompe à insuline elle-même fonctionne généralement sur sa propre batterie interne et n'est pas alimentée par la machine, mais la communication avec la pompe utilise le module Bluetooth ou radio SBC, ajoutant une charge.
Tirage de puissance typique des composants OpenAPS communs
- Raspberry Pi 4/5 (idle):[ 2,5–3 W sans périphériques; peut atteindre 7 W sous pleine charge de processeur. Des modèles de puissance inférieure comme le Raspberry Pi Zero 2 W dessinent environ 1–1,5 W au ralenti.
- Raspberry Pi Zero W / Zero 2 W: 0,8–1,2 W au ralenti, 1,5–2 W sous charge. Ce sont les choix les plus populaires pour les constructions conscientes de la batterie.
- Wi‐Fi dongles / intégré Wi‐Fi: 0,3–0,5 W lorsque vous transmettez activement; 0,05–0,1 W lorsque vous êtes connecté mais que vous êtes au ralenti.
- Adaptateur Bluetooth (construit ou USB):[ 0,2–0,4 W pendant la communication active. Beaucoup de pompes sondent toutes les 5 minutes, de sorte que l'adaptateur passe la plupart de son temps en mode d'écoute de faible puissance.
- Récepteur CGM (p. ex., récepteur Dexcom G6):[ 0,1–0,2 W; si vous utilisez un téléphone ou un appareil compatible comme récepteur, cet appareil supplémentaire aura ses propres frais généraux.
- USB chargeur de téléphone / perte de conversion de banque d'alimentation: 10-20% de la puissance tirée est perdue comme la chaleur pendant la conversion de tension.
Avec une banque de puissance de 10 000 mAh à 5V, qui donne 50 Wh d'énergie utilisable (en supposant une efficacité de 100 %), ce qui se traduit par environ 20 à 33 heures d'autonomie. Des réglages plus exigeants (driver de pompe Pi 4+Wi-Fi+haute performance) peuvent réduire de moitié cela. Les stratégies ci-dessous visent à prolonger le temps d'autonomie de 2 à 3 jours avec un pack de batterie modéré.
Stratégies pour étendre la durée de vie des batteries
L'optimisation se divise en quatre catégories : sélection du matériel, configuration du logiciel, gestion de la puissance des périphériques et discipline de communication.
Sélection et mise à jour du matériel
- Choisir un SBC écoénergétique : Le Raspberry Pi Zero 2 W est actuellement le meilleur équilibre de la puissance de calcul et de la faible consommation pour OpenAPS. Si vous devez utiliser un Pi 4 ou 5, envisager de sous-cocher le processeur et de désactiver le GPU (il est pas nécessaire pour des opérations sans tête).
- Supprimer les périphériques inutiles: Les LED, les affichages et même le port HDMI peuvent tirer un courant mesurable. Si vous n'avez pas besoin d'un écran, désactiver la sortie HDMI ( options) ou choisir une carte sans un.
- Utilisez une banque de puissance 5V de haute qualité :[ Recherchez des banques avec une efficacité de conversion >90%, une capacité annoncée en watt-heures (Wh) plutôt que des milliamp-heures (mAh) pour la comparaison des pommes à des pommes. 20 000 mAh à 5V = 100 Wh, qui devraient fonctionner sur un banc typique pendant 2 à 3 jours.
- Considérez un tableau de gestion de batterie dédié: Certains amateurs construisent avec des cellules lithium‐ion et un convertisseur de pas en haut. Cela peut être plus efficace qu'une banque de puissance commerciale parce que vous pouvez correspondre à la tension de la batterie à l'entrée du tableau (p. ex., direct 3.7V à Pi Zero via un régulateur de tension qui saute l'étape de boost).
- Shield contre le brouillage radio avec précaution:[ Les boîtiers métalliques peuvent dégrader la résistance du signal Wi‐Fi/Bluetooth, forçant la radio à augmenter la puissance.
Optimisation des logiciels et des logiciels
- Désactiver les services inutiles : Arrêter Bluetooth, Wi‐Fi ou toute pile de réseau lorsqu'ils ne sont pas activement utilisés par la boucle. De nombreux utilisateurs ne permettent pas le Wi‐Fi et ne l'activent que périodiquement pour la synchronisation Nightscout. Utilisez des fichiers d'unités système ou un script cron pour basculer les services.
- Fréquence du processeur basse:[ Réglez le régulateur du processeur à -powersave-up ou -ondemand-up et réduisez la fréquence maximale. Sur Raspberry Pi, modifiez pour ajouter ou plus bas (par défaut 1000–1500 MHz). Cela peut couper la puissance au ralenti de 10–15 %.
- Utilisez un système d'exploitation maigre : Raspberry Pi OS Lite (pas de bureau) est un must. Désactivez les démons inutiles comme avahi-daemon, triggerhappy et BlueZ si vous n'en avez pas besoin toutes les secondes.
- Optimiser la fréquence de la boucle : La plupart des boucles OpenAPS (oref0, oref1, autotune) fonctionnent toutes les 5 minutes. C'est déjà un peu trop. Cependant, si vous avez des scripts personnalisés ou un enregistrement de données fréquent, envisagez de loter les écritures sur la carte SD ou la RAM (éviter les écritures de flash constant).
- Débranchez les pull-ups GPIO pour les broches inutilisées: Certaines broches GPIO ont des pull-ups internes qui gaspillent une petite quantité de courant. Avec le Pi Zero, vous pouvez modifier avec pour régler les broches inutilisées pour obtenir faible.
Techniques de gestion de l'énergie
- Activez le surpeind auto pendant les périodes de ralenti : Si votre communication avec la pompe est robuste, vous pouvez mettre le système dans un sommeil peu profond entre les cycles de boucle. OpenAPS peut être modifié pour se réveiller d'une alarme RTC. Ceci est avancé mais donne des gains énormes : un Pi Zero endormi tire <0,1 W.
- Utilisez une horloge en temps réel (RTC) avec réveil: Ajouter un module DS3231 RTC vous permet de programmer les réveils toutes les 5 minutes exactement, en économisant la puissance dans le sommeil profond.
- Optimiser la puissance USB:[ Certaines banques de puissance ont une auto-choc lorsque le courant tombe en dessous de ~50mA, ce qui peut éteindre un système de faible puissance. Utilisez une banque de puissance qui a un mode de courant --faible -- ou ajoutez une résistance de charge USB (~10-) pour garder la banque active.
- Reduce SD card writes: Logging to RAM (tmpfs) instead of the SD card reducespower by eliminating periodic write cycles. Create a script that syncs logs to permanent storage once per night.
- Contrôlez la puissance de communication de la pompe:[ Si votre pompe supporte la puissance de transmission variable (par exemple, Medtronic avec CareLink USB), vous pouvez la baisser près du banc pour réduire le courant Bluetooth ou radio.
Optimisation de la communication des données
- Fonctionnement de lots vers Nightscout:[ Au lieu de télécharger toutes les 5 minutes, agréger les données localement et télécharger toutes les 15 à 30 minutes. Cela maintient la radio Wi-Fi active pour des rafales plus courtes. Sur de nombreux appareils, Wi-Fi est le plus grand consommateur après le processeur.
- Utiliser un téléphone comme un point d'accès au réseau au lieu de la connexion Wi-Fi directe: Le Bluetooth qui s'attache à un téléphone consomme moins d'énergie sur le système que de faire fonctionner le Wi-Fi toute la journée.
- Disable interfaces SSH interactives et web: Si vous n'êtes pas activement débogage, éteignez SSH et n'importe quel tableau de bord web. Chaque port d'écoute maintient la pile réseau partiellement occupée.
- L'exploitation hors ligne :[ De nombreuses boucles fonctionnent parfaitement sans internet pendant des heures. Si vous n'avez pas besoin de surveillance à distance en temps réel, gardez le système hors de Wi-Fi jusqu'à ce que vous synchronisez manuellement.
Considérations avancées
Beyond the basics, you can push battery life further through careful battery chemistry selection and even alternative energy harvesting.
Chimie des batteries et cycles de charge
Les cellules Lithium-ion sont standard, mais pas toutes égales. Les cellules de haute capacité (3600 mAh) de marques telles que Samsung, Panasonic ou LG offrent une meilleure densité énergétique que les packs génériques. Si vous construisez votre propre batterie, utilisez un module cellulaire protégé pour éviter une décharge excessive, qui dégrade la capacité au fil du temps. Pour une utilisation extérieure prolongée, les cellules lithium-iron-phosphate (LiFePO4) ont une durée de vie plus longue et sont plus sûres, bien qu'elles aient une densité énergétique légèrement inférieure.
Suppression de charge: Décharger une batterie lithium-ion inférieure à 3,0V par cellule raccourcit sa durée de vie. Utilisez un système de gestion de batterie (BMS) qui coupe à ~ 3,0V ou met en place une alerte logicielle pour recharger à 20 %. Inversement, garder une pile lithium à 100 % pendant de longues périodes la dégrade également. Si vous vous en sortez toujours, vous pouvez perdre 20 % de capacité après un an.
Utilisation de l'énergie solaire ou de sources d'énergie de remplacement
Pour les voyages multi-journées dans l'arrière-pays, un petit panneau solaire (10-20W) peut recharger une banque d'énergie pendant les heures de lumière du jour. Joignez un panneau solaire 5V pliable avec un régulateur de charge qui gère la tension. Gardez à l'esprit que la sortie solaire varie avec l'angle et le couvert nuageux, vous aurez donc besoin d'une batterie complète comme tampon. Certains utilisateurs placent la banque d'énergie dans un sac à dos avec le panneau attaché à l'extérieur – la plate-forme fonctionne toute la journée sur la banque pendant que le panneau la remplit.
Autre approche de niche : utilisez un SBC de faible puissance comme le système Arduino (par exemple, utilisant un ESP32) qui peut fonctionner sur des cellules de pièces ou de petites batteries Li‐Po pendant de nombreux jours. Cependant, ces derniers manquent de la puissance de calcul d'une carte Linux complète et peuvent ne pas prendre en charge toutes les fonctionnalités OpenAPS.
Surveillance et entretien
Vous ne pouvez pas optimiser ce que vous ne mesurez pas. L'intégration du contrôle de batterie dans votre appareil vous donne une prise de conscience en temps réel et des données historiques pour affiner les réglages.
Outils de surveillance des batteries
- INA219 / INA3221 senseurs de courant: Ces modules I2C mesurent la tension, le courant et la puissance. Vous pouvez enregistrer les données dans un fichier et envoyer un message d'alerte à votre script de boucle lorsque la tension de la batterie tombe en dessous d'un seuil.
- Estimation basée sur les logiciels:[ Si vous ne voulez pas de matériel supplémentaire, mesurez la consommation de base avec un compteur de puissance USB pendant la configuration, puis estimer le temps d'exécution en fonction de votre banque de puissance.
- Nightscout extension de batterie:[ Certains utilisateurs envoient des données d'état de batterie (à partir d'INA219 ou via un script séparé) à Nightscout comme une entrée de traitement personnalisée. Cela vous permet de voir la tendance de la batterie sur le même tableau de bord que le glucose.
Mise en place des alertes et du journal
Créez un travail de cron qui fonctionne toutes les 10 minutes et vérifie la tension de la batterie. Si vous êtes en dessous d'un seuil sûr, il peut envoyer une notification de poussée par téléphone (en utilisant un simple appel REST à Pushover ou un robot Telegram).
#!/bin/bash
VOLTAGE=$(/usr/sbin/i2cget -y 1 0x40 0x02 w)
if (( $(echo "$VOLTAGE < 3.5" | bc -l) )); then
curl -s --form-string "token=xxx" --form-string "user=yyy" --form-string "message=Low battery: $VOLTAGE V" https://api.pushover.net/1/messages.json
fi
Conservez un fichier de log des tensions et des événements de boucles afin de pouvoir corréler le drain de batterie avec des activités spécifiques (p. ex., des téléchargements Wi‐Fi plus longs, des cycles CPU lourds à partir d'autotune).
Conclusion
La gestion de la durée de vie des batteries OpenAPS est un processus itératif qui combine une sélection de matériel intelligent, un réglage logiciel prudent et des modes d'utilisation disciplinés. En passant à une Raspberry Pi Zero 2 W, en désactivant des radios et services inutiles, en classant les téléchargements de données et éventuellement en ajoutant un capteur de courant matériel pour la surveillance, vous pouvez prolonger votre rigs d'une seule journée à plusieurs jours sur une banque d'alimentation modérée. Chaque watt économisé ajoute des heures de contrôle ininterrompu de boucle fermée. Commencez par le fruit à faible variation – éteignez le Wi-Fi lorsque ce n'est pas nécessaire, réduisez la fréquence du processeur et choisissez une banque d'alimentation efficace – explorez ensuite des options avancées comme le sommeil profond et la recharge solaire pour des voyages prolongés.
Pour plus de détails, consultez le guide de configuration OpenAPS , un guide de configuration de faible puissance Raspberry Pi et une calculatrice batterie d'exécution pour estimer votre propre système.