diabetes-management-strategies
Strategie per la gestione degli Openaps Durata della batteria e consumo di energia
Table of Contents
Introduzione
OpenAPS (Open Artificial Pancreas System) offre alle persone con diabete un modo potente e personalizzabile per automatizzare la consegna dell'insulina. Il sistema si basa tipicamente su un computer a singola scheda come un Raspberry Pi, un monitor continuo del glucosio (CGM), e una pompa dell'insulina, tutto il potere di disegno da un pacchetto di batterie portatile.
Comprendere il consumo di energia in OpenAPS
Ogni componente del vostro impianto OpenAPS contribuisce al totale disegnamento di potenza. I consumatori più grandi sono di solito il computer a singola scheda (SBC), la radio Bluetooth e il ricevitore o il trasmettitore CGM. La pompa dell'insulina stessa funziona tipicamente sulla propria batteria interna e non è alimentata dal rig, ma la comunicazione con la pompa utilizza il modulo Bluetooth o radio della SBC, aggiungendo carico.
Disegno di potere tipico dei componenti OpenAPS comuni
- Raspberry Pi 4/5 (idle):[ 2.5–3 W senza periferiche; può raggiungere 7 W sotto carico della CPU. Modelli di potenza inferiore come il Raspberry Pi Zero 2 W disegnano circa 1–1,5 W a idle.
- Raspberry Pi Zero W / Zero 2 W:[ 0.8–1.2 W a idle, 1,5–2 W sotto carico. Queste sono le scelte più popolari per le costruzioni a batteria.
- Dongle Wi-Fi / Wi-Fi integrato:[ 0.3–0.5 W quando si trasmette attivamente; 0.05–0.1 W quando è collegato ma inattivo.
- Adattatore Bluetooth (costruito o USB): 0.2–0.4 W durante la comunicazione attiva. Molte pompe sondano ogni 5 minuti, quindi l'adattatore passa la maggior parte del suo tempo in modalità di ascolto a bassa potenza.
- Ricevitore CGM (ad esempio, ricevitore Dexcom G6):[ 0.1–0.2 W; se si utilizza un telefono o un dispositivo compatibile come ricevitore, che dispositivo aggiuntivo avrà la propria overhead.
- Il caricabatterie per telefono USB / perdita di conversione della banca di potenza:[[ 10-20% della potenza disegnata viene perso come calore durante la conversione della tensione.
Con una banca di potenza di 10.000 mAh a 5V, che dà 50 Wh di energia utilizzabile (supponendo l'efficienza del 100%), traducendo a circa 20–33 ore di runtime.
Strategie per la durata della batteria in attesa
L'ottimizzazione rientra in quattro categorie: selezione hardware, configurazione software, gestione della potenza delle periferiche e disciplina di comunicazione.
Selezione e aggiornamenti hardware
- Cosa una SBC ad alta efficienza energetica:[ Il Raspberry Pi Zero 2 W è attualmente il miglior equilibrio di potenza di calcolo e basso consumo per OpenAPS. Se si deve utilizzare un Pi 4 o 5, prendere in considerazione l'interruzione della CPU e disabilitare la GPU (non è necessario per operazioni senza testa).
- Movi le periferiche inutili:[] LED, display, e anche la porta HDMI può tirare corrente misurabile. Se non avete bisogno di uno schermo, disabilitare l'uscita HDMI ([[] opzioni) o scegliere una scheda senza uno. Rimuovere i fili del saltatore che alimentano i LED.
- Utilizzare una banca di potenza 5V di alta qualità:[] Cercare banche con efficienza di conversione >90%, pubblicizzato capacità in watt-hours (Wh) piuttosto che solo milliamp-hours (mAh) per confronto apples-to-apples. 20.000 mAh a 5V = 100 Wh, che dovrebbe eseguire un impianto tipico per 2–3 giorni.
- Considera una scheda di gestione della batteria dedicata:[[] Alcuni hobbisti costruiscono con celle di litio e un convertitore di step-up. Questo può essere più efficiente di una banca di alimentazione commerciale perché è possibile abbinare la tensione della batteria all'ingresso della scheda (ad esempio, diretto 3.7V a Pi Zero tramite un regolatore di tensione che salta la fase di spinta).
- Condividi con attenzione contro le interferenze radio:[ I recinti metallici possono degradare la resistenza del segnale Wi‐Fi/Bluetooth, forzando la radio ad aumentare la potenza.
Ottimizzazione software e firmware
- Disabilita servizi inutili:[] Stop Bluetooth, Wi‐Fi, o qualsiasi stack di rete quando non sono attivamente utilizzati dal loop. Molti utenti mantengono la connessione Wi-Fi e lo permettono solo periodicamente per la sincronizzazione Nightscout.
- Frequenza della CPU inferiore:[] Impostare il regolatore della CPU per “powersave” o “ondemand” e ridurre la frequenza massima. Su Raspberry Pi, modificare per aggiungere o inferiore (default 1000–1500 MHz). Questo può tagliare la potenza del liquido del 10–15%.
- Utilizzare un sistema operativo magro:[ Raspberry Pi OS Lite (nessun desktop) è un must. Disabilitare i daemon non necessari come avahi‐daemon, triggerhappy, e BlueZ se non ne avete bisogno ogni secondo.
- Ottimizzare la frequenza del ciclo:[ La maggior parte dei loop OpenAPS (oref0, oref1, autotune) eseguire ogni 5 minuti. Ciò è già a bassa velocità. Tuttavia, se si dispone di script personalizzati o registrazione di dati frequenti, prendere in considerazione le scritture di batching su scheda SD o RAM (evitare scrivanie flash costanti).
- Scendi dalle pull-up GPIO per i perni non utilizzati:[ Alcuni perni GPIO hanno pull-up interni che sprecano una piccola quantità di corrente. Con il Pi Zero, puoi modificare con ]] per impostare i perni non utilizzati per l'output basso.
Tecniche di gestione del potere
- Attivare auto-suspend durante i periodi di inattività: ⁇ /strong> Se la comunicazione della pompa è robusta, è possibile inserire l'intero sistema in sonno superficiale tra i cicli di ciclo. OpenAPS può essere modificato per svegliarsi da un allarme RTC. Questo è avanzato ma produce enormi guadagni: un Pi Zero dorme tira <0.1 W.
- Utilizzando un orologio in tempo reale (RTC) con wake-up:[] Aggiungendo un modulo DS3231 RTC, è possibile pianificare i wake-up ogni 5 minuti esattamente, risparmiando energia nel sonno profondo.
- Ottimizzare l'alimentazione USB:[ Alcune banche di potenza hanno auto-shutoff quando le correnti scende sotto ~50mA, che possono spegnere un impianto a bassa potenza. Utilizzare una banca di alimentazione che ha una “modalità corrente bassa” o aggiungere una resistenza al carico USB (~10Ω) per mantenere attiva la banca.
- 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.
- Controlla la potenza di comunicazione della pompa:[] Se la pompa supporta la potenza di trasmissione variabile (ad esempio Medtronic with CareLink USB), puoi abbassarla quando si è vicini alla piattaforma per ridurre la corrente Bluetooth o radio.
Ottimizzazione della comunicazione dati
- Caricamento in blocco a Nightscout:[] Invece di caricare ogni 5 minuti, aggregare i dati localmente e caricare ogni 15-30 minuti. Questo mantiene la radio Wi‐Fi attiva per i più brevi scoppi. Su molte piattaforme, Wi‐Fi è il singolo consumatore più grande dopo la CPU.
- Utilizza un telefono come hotspot invece di Wi‐Fi diretto:[] Il Bluetooth che collega un telefono consuma meno energia sul camion che eseguire Wi‐Fi tutto il giorno. Il telefono gestisce la connessione dati pesante a Internet.
- Disabilita interfacce SSH interattive e web:[ Se non si sta attivamente debug, spegnere SSH e qualsiasi dashboard web. Ogni porta di ascolto mantiene la rete impilare parzialmente occupato.
- Funzionamento offline:[ Molti loop funzionano perfettamente senza internet per ore. Se non avete bisogno di un monitoraggio remoto in tempo reale, tenete il rig fuori Wi‐Fi fino a quando non si sincronizza manualmente.
Considerazioni avanzate
Beyond the basics, you can push battery life further through careful battery chemistry selection and even alternative energy harvesting.
Chimica della batteria e cicli di ricarica
Le celle di litio-ione sono standard, ma non tutte uguali. Le celle ad alta capacità 18650 (3500 mAh) di marchi come Samsung, Panasonic o LG offrono una densità energetica migliore rispetto ai pacchetti generici. Se la costruzione della propria batteria, utilizzare un modulo cellulare protetto per prevenire la sovra-scarica, che degrada la capacità nel tempo.
Disciplina di carica:[ Scaricare profondamente una batteria agli ioni di litio sotto 3.0V per cella accorcia la sua durata. Utilizzare un sistema di gestione della batteria (BMS) che taglia a ~3.0V o impostare un avviso software per ricaricare a 20% capacità.
Utilizzo di energia solare o fonti alternative di energia
Per i viaggi di backcountry di più giorni, un piccolo pannello solare (10-20W) può ricaricare una banca di alimentazione durante le ore diurne. Coppia un pannello solare pieghevole 5V con un controller di carica che gestisce la tensione. Tenete a mente che l'uscita solare varia con angolo e copertura cloud, quindi avrete ancora bisogno di una batteria completa come buffer. Alcuni utenti posizionano la banca di alimentazione in uno zaino con il pannello collegato esternamente - il pannello di rifornimento è possibile tutto il giorno in banca.
Un altro approccio di nicchia: utilizzare un SBC a bassa potenza come il rig basato su Arduino (ad esempio, utilizzando un ESP32) che può funzionare su celle a moneta o piccole batterie Li‐Po per molti giorni. Tuttavia, questi non hanno la potenza di calcolo di una scheda Linux completa e non possono supportare tutte le funzionalità OpenAPS.
Monitoraggio e manutenzione
L’integrazione del monitoraggio della batteria nel vostro impianto consente di ottimizzare in tempo reale la consapevolezza e i dati storici per le impostazioni di ottimizzazione.
Strumenti per il monitoraggio della batteria
- I sensori di corrente INA219 / INA3221:[ Questi moduli I2C misurano tensione, corrente e potenza. È possibile registrare i dati in un file e avere il vostro script di loop e-mail un avviso quando la tensione della batteria scende sotto una soglia.
- Stime basate su software:[] Se non si desidera hardware extra, misurare il consumo di base con un contatore di potenza USB durante la configurazione, quindi stimare i tempi di esecuzione in base all'energia nominale della banca di potenza.
- L'estensione della batteria di Nightscout:[ Alcuni utenti inviano dati sullo stato della batteria (da INA219 o tramite uno script separato) a Nightscout come voce di trattamento personalizzata.
Impostazione di avvisi e registrazione
Creare un lavoro di cron che funziona ogni 10 minuti e controlla la tensione della batteria. Se sotto una soglia sicura, può inviare una notifica push tramite il telefono (utilizzando una semplice chiamata REST a Pushover o un bot 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
Tenere un file di registro di tensioni e eventi a ciclo in modo da poter correlare lo scarico della batteria con attività specifiche (ad esempio, più lunghi carichi Wi-Fi, cicli di CPU pesanti da autotune run).
Conclusioni
Gestione della durata della batteria OpenAPS è un processo iterativo che combina la selezione di hardware intelligente, l'ottimizzazione del software attento e i modelli di utilizzo disciplinati. Passando a un Raspberry Pi Zero 2 W, disabilitando le radio e i servizi non necessari, il caricamento dei dati in batch, e eventualmente aggiungendo un sensore di corrente hardware per il monitoraggio, è possibile estendere il tempo di esecuzione del vostro impianto da un giorno a diversi giorni su una banca di potenza moderata.
Per ulteriori informazioni, consultare il sito ufficiale ]Apri documentazione[], un guida di configurazione di Raspberry Pi [, e un calcolatore di runtime della batteria[[]]] per stimare il proprio sistema.