Ce qui est OpenAPS et pourquoi la redondance est importante

OpenAPS (Open Artificial Pancreas System) est une plateforme ouverte axée sur la communauté qui permet aux personnes diabétiques de construire un système automatisé de distribution d'insuline personnalisé. Elle fonctionne sur de petits ordinateurs mono-board, généralement un Raspberry Pi ou BeagleBone Black, en lisant des données de moniteur de glucose continu (CGM), en exécutant un algorithme et en contrôlant sans fil une pompe à insuline compatible.

En exécutant plusieurs appareils OpenAPS crée une plateforme redondante, tolérante aux défauts, qui maintient votre boucle de contrôle en marche même lorsque les composants individuels échouent. Ce guide passe par tous les aspects : choisir le matériel, synchroniser les données entre les appareils, mettre en œuvre une panne automatique, tester votre configuration et le maintenir au fil du temps.

Le besoin fondamental de redondance dans un bricolage fermé

Dans tout système automatisé, le maillon le plus faible détermine la fiabilité globale. Pour une boucle fermée de bricolage, ce maillon faible est souvent l'ordinateur à carte unique. Le matériel peut échouer, le logiciel peut s'écraser et la connectivité réseau peut tomber. Sans redondance, une défaillance force l'utilisateur à revenir en mode manuel – contrôle de boucle ouverte – jusqu'à ce que le problème soit résolu. Cela peut signifier des heures ou même des jours de gestion du glucose moins optimale. Redundancy fournit:

  • Opération continue : Si la planche principale meurt, une planche secondaire prend le relais en quelques secondes.
  • Fenêtres d'entretien: Mettez à jour un appareil pendant que l'autre manipule la thérapie, sans aucune interruption.
  • Paiement de l'esprit: Les soignants et les utilisateurs savent qu'il y a un bon état de santé prêt à agir.

La redondance ne se limite pas à la faillite, elle améliore aussi l'intégrité des données . Avec deux appareils qui enregistrent les mêmes événements de façon indépendante, vous avez un dossier à double contrôle de l'administration d'insuline et des relevés de glucose.

Avantages d'un Rig Multi-Dispositif OpenAPS

Au-delà d'une simple mise en échec, une configuration multi-appareils offre plusieurs avantages pratiques:

  • Silience du logiciel :[ L'utilisation de deux types de cartes différents (p. ex., un Raspberry Pi 4 et un BeagleBone Black) protège contre les défaillances spécifiques à un composant.
  • Diversité réseau:[ Chaque appareil peut se connecter à un point d'accès Wi-Fi différent ou utiliser une connexion Ethernet câblée. Si un segment réseau tombe, l'autre appareil maintient la connectivité à Nightscout et à la pompe.
  • Distribution de charge:[ Vous pouvez assigner le périphérique primaire pour gérer la boucle (lecture CGM + algorithme + commandes de pompe) tandis que le périphérique secondaire agit comme un téléchargeur dédié à Nightscout et une station de surveillance.
  • Dépannage isolé :[ Lorsqu'un problème se pose, vous pouvez passer à la sauvegarde et enquêter sur le principal hors ligne sans arrêter la thérapie.
  • Dégradation progressive:[ Même si un appareil échoue, la sauvegarde a accès aux dernières données synchronisées, de sorte qu'elle peut prendre des décisions en connaissance de cause immédiatement.

Choisir le matériel compatible

Ordinateurs de bord simples pris en charge

Pour une configuration redondante, choisissez deux tableaux identiques ou suffisamment similaires en capacités. Les choix les plus populaires sont les suivants :

  • Raspberry Pi 3B+/4B/5 – Il existe un large éventail de supports communautaires et de nombreux guides. Utilisez une carte SD haute performance (p. ex. Samsung Pro Endurance) ou une botte d'un SSD connecté à USB pour minimiser le risque de corruption.
  • BeagleBone Black (ou BeagleBone Green) – Comprend le stockage flash eMMC intégré, ce qui le rend moins sensible aux problèmes de carte SD. Il a également de meilleures capacités en temps réel pour la communication directe de pompe.
  • Intel NUC ou ODROID – Plus puissant, mais le soutien communautaire est plus mince. Ils peuvent être utiles si vous avez besoin de traitement supplémentaire pour des fonctionnalités avancées comme l'apprentissage automatique.

Pour un système multi-appareils, l'utilisation de deux de ces mêmes scripts simplifie la configuration et la mise en échec. Cependant, le mélange d'un Pi et d'un BeagleBone est également possible si vous gardez les versions algorithme et logiciel identiques.

Puissance et connectivité

Chaque appareil doit être alimenté par une alimentation 5V dédiée et régulée qui peut supporter le pic de tirage de la carte (2,5A pour un Pi 4, 1A pour un BeagleBone). Considérez un petit UPS (alimentation non interruptible) ou un pack de batterie de grande capacité qui peut maintenir les deux cartes en panne de courant.

  • Utilisez Ethernet filaire[ pour au moins un appareil afin de réduire la latence et d'éviter les interférences Wi‐Fi.
  • Si vous utilisez le Wi-Fi, réglez chaque appareil sur un canal différent ou connectez-vous à différents points d'accès pour éviter de perdre la connectivité simultanément.
  • Attribuer adresses IP statiques ou utiliser des réservations DHCP pour s'assurer que les appareils ont toujours les mêmes adresses pour la surveillance des battements cardiaques.

Configuration de plusieurs périphériques

Installation initiale

Suivez la documentation officielle OpenAPS pour chaque planche. Étapes à suivre pour l'aménagement de plusieurs appareils :

  • Noms d'hôte uniques:[ Nommer un périphérique et l'autre (ou similaire) pour éviter les conflits de réseau et faire clairement apparaître les journaux.
  • Même version logicielle: Installez la même version OpenAPS (p. ex., oref0 version 0.7.x) sur les deux appareils. Les versions mal adaptées peuvent conduire à un comportement d'algorithme différent pendant la déroute.
  • Séparer les fichiers de configuration:[ Chaque appareil a besoin de ses propres , et . Ne pas les relier entre les appareils – garder des copies pour éviter les écrasements accidentels.
  • Paramètres contrôlés par la version: Stockez les fichiers de configuration dans un dépôt Git privé (p. ex., sur GitHub ou un serveur personnel).Cela permet de synchroniser rapidement les paramètres entre les appareils.

Synchronisation des données entre les appareils

Pour une rupture sans faille, les deux appareils doivent partager des données en temps réel. L'objectif : le dispositif de veille connaît toujours la dernière valeur du glucose, les antécédents récents d'administration d'insuline et le statut de pompe.

  • Nightscout (fondé sur le nuage):[ Les deux appareils téléchargent sur le même site Nightscout. La sauvegarde peut récupérer les dernières heures de données via l'API Nightscout au démarrage puis sondage périodiquement. Cela fonctionne bien, mais nécessite un accès à Internet et introduit la latence.
  • Burker local MQTT (recommandé):[ Exécutez un serveur MQTT Mosquitto sur un Raspberry Pi Zero ou sur votre réseau d'accueil. Chaque appareil OpenAPS publie des sujets (par exemple, , ) et s'inscrit à ces sujets depuis l'autre appareil. MQTT est rapide, léger et fonctionne hors ligne.
  • Système de fichiers partagé (NFS/SMB):[ Montez un partage réseau où les deux appareils écrivent des fichiers d'état. Utilisez des écritures atomiques (écrire dans un fichier temporaire, puis renommer) pour éviter les lectures partielles. Cette méthode peut être plus lente et peut souffrir de problèmes de verrouillage de fichiers.
  • Réplication de la base de données (avancée): Configurez InfluxDB sur un serveur séparé. Les deux plates-formes écrivent des mesures dans les mêmes bases de données. La sauvegarde peut demander InfluxDB pour les données les plus récentes.

Recommandation pratique: Commencez par la synchronisation Nightscout car elle fait déjà partie de la plupart des configurations OpenAPS. Puis ajoutez MQTT pour le partage local de données à faible latence. Testez les deux pour s'assurer que la sauvegarde a des données de moins de 30 secondes.

Mise en œuvre d'un échec automatique

Surveillance des battements cardiaques

L'échec repose sur un battement de cœur : chaque appareil envoie périodiquement un signal "Je suis vivant".

  • Créer un paramètre HTTP léger sur chaque périphérique (p. ex. ) qui retourne un horodatage et un état.
  • Alternativement, utilisez MQTT avec un sujet réservé : et . Demandez à chaque plate-forme de publier un message JSON toutes les 15 à 30 secondes.
  • Sur le périphérique de sauvegarde, lancez un script qui vérifie le battement du cœur primaire. Si trois battements consécutifs du cœur sont manqués (par exemple, 90 secondes sans signal), la sauvegarde déclare le mort primaire.

Commutateur automatique

Lorsque la sauvegarde décide que le primaire est inaccessible, elle doit prendre le contrôle sans intervention de l'utilisateur. Étapes pour un commutateur fiable:

  1. Claim control: Écrire un drapeau à un emplacement partagé (p. ex., un sujet MQTT ou un fichier sur le partage réseau) indiquant que la sauvegarde est maintenant active. Le principal, lorsqu'il récupère, lira ce drapeau et restera en attente.
  2. Reprendre la communication de la pompe:[ Si les deux appareils partagent une pompe physique (par exemple via Bluetooth ou série), assurez-vous qu'un seul appareil a la connexion de la pompe. Lors du basculement, la sauvegarde devrait libérer toute connexion de la pompe précédente et en établir une nouvelle.
  3. Continuer la boucle: La sauvegarde utilise les données synchronisées les plus récentes pour redémarrer la boucle OpenAPS. Elle devrait enregistrer l'événement dans Nightscout comme une note de traitement (par exemple, "Failover: backup now active").
  4. Envoyer une alerte :[ Utilisez Pushover, email, SMS ou un buzzer local pour informer l'utilisateur que la panne s'est produite.

Prévention des rafales

L'amorçage se produit lorsque le primaire récupère et reprend immédiatement le contrôle, provoquant des oscillations. Utilisez un timer-temps mort[: une fois que la sauvegarde prend le relais, elle ne devrait pas abandonner le contrôle pendant au moins 5-10 minutes, même si le battement du cœur primaire réapparaît. Après cette période, la sauvegarde peut se démoter si le primaire est stable.

Surcharge manuelle

Malgré l'automatisation, toujours fournir une overforance manuelle. Implémenter une interface web simple (par exemple, en utilisant Node‐Red ou une application web Flask) avec un bouton pour désigner quel appareil est actif. De plus, un commutateur physique qui coupe la puissance d'un appareil peut servir de dernier recours. Documenter clairement la procédure manuelle et la tester régulièrement.

Essais et validation

Votre système de basculement est seulement aussi bon que son test. Créez un calendrier pour simuler les pannes toutes les 2-4 semaines. Utilisez une liste de contrôle:

  • Simulation de défaillance du logiciel :[ Supprimez la puissance de la primaire, puis tirez sa carte SD pendant qu'elle est alimentée (simulez la corruption de la carte).
  • Simulation de panne réseau:[ Débranchez le câble réseau primaire. Confirmez que la sauvegarde peut encore accéder à Nightscout et communiquer avec la pompe.
  • Test de synchronisation des données:[ Arrêt intentionnel du flux de données vers la sauvegarde (p. ex. en arrêtant son abonnement MQTT).Re-activer et vérifier le rattrapage de la sauvegarde avec les 15 dernières minutes de données avant d'assumer le contrôle.
  • Test de récupération:[ Ramener le primaire en ligne. Assurez-vous qu'il reconnaît que la sauvegarde est active et reste en mode veille sans déclencher un autre commutateur.
  • Test d'alerte: Vérifier que l'alerte de défaillance vous parvient (avis de poussée, courriel ou toute méthode que vous utilisez) dans les 30 secondes suivant l'interrupteur.

Enregistrez chaque test dans un journal ou dans des notes de Nightscout. Si vous avez un soignant, faites-le participer aux tests afin qu'ils sachent à quoi s'attendre.

Maintenance et mises à jour

Il est essentiel de garder les deux appareils sur la même version logicielle pour un comportement prévisible.

  • Mise à jour : Mettez toujours à jour un appareil en premier, laissant l'autre fonctionner. Après 24 à 48 heures de fonctionnement stable, mettez à jour le second. Si un problème se présente, vous pouvez revenir le dispositif mis à jour sans perturber la thérapie.
  • Utilisez un tableau de pointage:[ Maintenez un troisième tableau de -spare-de-sporé que vous mettez à jour en premier. Après deux semaines de stabilité, appliquez des changements aux deux plates-formes de production.
  • Mise à jour automatique avec prudence : Un travail de cron peut vérifier la nouvelle OpenAPS qui sort une nuit, mais ne télécharger et appliquer que si un drapeau approuvé par l'homme est défini.
  • Logs de veille:[ Configurez la rotation de journal et faites suivre les erreurs critiques à votre téléphone via un journal système ou rsyslog. Des outils comme peuvent envoyer des résumés quotidiens.

Sécuriser votre configuration multi-appareils

Plus de dispositifs signifient plus de surfaces d'attaque. Implémenter ces mesures de sécurité:

  • Authentification forte: Utilisez des mots de passe uniques et longs pour les interfaces SSH et web. Désactivez entièrement l'authentification par mot de passe et comptez sur les clés SSH avec des mots de passe.
  • Segmentation réseau: Mettez les deux plates-formes sur un VLAN isolé si votre routeur le supporte. Ils devraient seulement avoir accès à Nightscout, à des serveurs de mise à jour et au courtier MQTT. Bloquez toutes les connexions entrantes à partir d'Internet.
  • Encryptage: Appliquer HTTPS pour toute communication Nightscout. Utiliser MQTT sur TLS (port 8883). Générer des certificats autosignés ou utiliser Let=S Encrypt si votre courtier est exposé (pas recommandé).
  • Sécurité physique:[ Montez les panneaux dans un boîtier ou un boîtier rembourré. Assurez-vous que les cartes SD ou les SSD ne sont pas facilement délogés.
  • Audits réguliers: Examiner les ports ouverts avec ou . Désactiver les services qui ne sont pas strictement nécessaires (p. ex. Bluetooth, Wi-Fi si vous utilisez Ethernet).

Ressources et soutien communautaires

Vous ne construisez pas cela seul. La communauté OpenAPS est active, bien informée et accueillante.

Pour demander de l'aide, fournissez vos détails matériels, vos versions logicielles, votre méthode de sauvegarde et les journaux d'erreurs.

Conclusion

En sélectionnant le matériel compatible, en synchronisant efficacement les données, en mettant en œuvre des systèmes de basculement basés sur les battements cardiaques et en testant rigoureusement, vous créez une configuration qui peut faire défaut au matériel météorologique, des problèmes de réseau et des erreurs humaines. L'effort initial – choisir des cartes, écrire des scripts de basculement et tester soigneusement – se paie avec un contrôle continu et fiable jour et nuit.

Commencez petit : obtenez deux tableaux identiques, mettez en place la synchronisation Nightscout et construisez un script simple de battement de cœur qui vous envoie une notification lorsque le primaire est hors ligne. Puis ajoutez progressivement une panne automatique. La communauté OpenAPS a pavé la voie avec des années d'expérience du monde réel. Maintenant, vous pouvez construire sur leurs épaules pour un système plus sûr et plus résistant que vous pouvez faire confiance à votre vie.