blood-sugar-management
כיצד להשתמש Openaps עם מכשירים מרובים לשליטה רדונדנט ונדידת
Table of Contents
מה זה OpenAPS ולמה חשוב לחידוש
(FLT:0) OpenAPSearFLT:1 (Open Artificial Pancreas System) הוא פלטפורמת קוד פתוח המונעת על ידי הקהילה המאפשרת לאנשים עם סוכרת לבנות מערכת אספקת אינסולין אוטומטית אוטומטית.הוא פועל על מחשבים בודדים - באופן חד פעמי Pi או BeagleBone שחור - קורא לפקח גלוקוז מתמשך (CGM) נתונים, פועל אלגוריתם, אלחוטי, תוך כדי שליטה על מערכת אינסולין אחת, כולל לחץ דם יחיד, או כיסוי יחיד, יכול להיות מוגבל, או כיסוי יחיד, ללא צורך קבוע, או מערכת הגנה על מערכת הגנה על מערכת בודד, או כיסוי יחיד, או כיסוי יחיד, או כיסוי יחיד.
פועל (FLT:0) מכשירים פתוחיםAPS מכשירים ההרחבה:1 יוצר השקיה מגושמת, סובלנית, אשר שומרת על לולאת הבקרה שלך פועל גם כאשר רכיבים בודדים נכשלים.מדריך זה עובר בכל היבט: בחירת חומרה, סינכרון נתונים על מכשירים, יישום של כשל אוטומטי, בדיקות ההתקנה שלך, ושמירה על זה לאורך זמן.
The Core Need for Redundancy in a DIY סגור
בכל מערכת אוטומטית, הקישור החלש ביותר קובע את האמינות הכוללת.עבור לולאה סגורה, כי קישור חלש הוא לעתים קרובות המחשב לוח יחיד.Hardware יכול להיכשל, תוכנה יכולה להתרסק, וקישוריות רשת יכולה לרדת.ללא ריצוף, כשל מאלץ את המשתמש בחזרה למצב ידני - פתח שליטה - עד לפתרון הבעיה.זה יכול להיות שעות או אפילו ימים של פחות אופטימלי ניהול גלוקוז מספק: Redundancy:
- (ב) אם הלוח הראשון מת, לוח משני לוקח על פני שניות.
- חלונות:0 (הרחבה: 1) עדכון מכשיר אחד בעוד השני מטפל טיפול, ללא כל הפרעה.
- (ב) ⁇ (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
רדונדנטיות אינה רק על כשל – היא גם משפרת את השלמות:0)נתונים 1Felo (בשיתוף שני מכשירים המכניסים את אותם האירועים באופן עצמאי, יש לך תיעוד כפול של העברת אינסולין וקריאה גלוקוז.
היתרונות של Multi-Device OpenAPS Rig
מעבר ל-Accer פשוט, עיצוב רב-העת מציע מספר יתרונות מעשיים:
- (FLT:0) Resilience:FearLT:1) באמצעות שני סוגים שונים של לוחות (למשל, Raspberry Pi 4 ו- BeagleBone Black) מגן מפני כשלים ספציפיים של רכיב.אם סוגי שחיתות כרטיס SD נפוצה משפיעה על מודל אחד, השני כנראה לא מושפע.
- (FLT:0Network diversity:BuildFLT:1) כל מכשיר יכול להתחבר לנקודת גישה שונה של Wi-Fi או להשתמש בחיבור Ethernet חוטד.
- (FLT:0) הפצה:0) חלוקת הלואד: ניתן להקצות את המכשיר העיקרי כדי להתמודד עם הלולאה (CGM קורא + אלגוריתם + משאבה פקודות) בעוד המכשיר המשנית פועל כהעלאה ייעודית ל Nightscout ותחנת ניטור.זה מקטין את הסבלנות על הדרך הקריטית.
- (ב) כאשר עולה בעיה:0 (ב) פתרון בעיות פתור: 1 כאשר עולה בעיה, אתה יכול לעבור לגיבוי ולחקור את הטיפול הלא מקוון הראשוני ללא הפסקת טיפול.
- (FLT:0) הידרדרות אדירה: FLT:1 גם אם מכשיר אחד נכשל, הגיבוי יש גישה לנתונים המסונכרנים האחרונים, כך הוא יכול לקבל החלטות מושכלות באופן מיידי.
בחירת חומרה מתאימה
מחשבים בודדים-Board
פרויקט OpenAPS תומך באופן רשמי במספר פלטפורמות.עבור הגדרה מגובשת, בחר שתי לוחות זהים או דומים מספיק ליכולות.
- (FLT:0)Raspberry Pi 3B+/4B/5igFLT:1 - זמין נרחב, תמיכה קהילתית מעולה, ומדריכים רבים קיימים. השתמש בכרטיס SD גבוה (למשל, סמסונג Pro Endurance) אוחול מ-USB-טאched SSD כדי למזער את הסיכון לשחיתות.
- (FLT:0)BeagleBone Black (או BeagleBone ירוק)FLT:1 - כולל אחסון פלאש מובנה-in eMMC, מה שהופך אותו פחות רגיש לבעיות כרטיס SD.זה גם יש יכולות זמן אמתיות טובות יותר עבור תקשורת ישירה של משאבה.
- (FLT:0) Intel NUC או ODROIDIRLT:1) - חזק יותר, אבל תמיכה קהילתית היא דק יותר.הם יכולים להיות שימושיים אם אתה צריך עיבוד נוסף עבור תכונות מתקדמות כמו למידה מכונה.
עבור מערכת רב-פעמי, באמצעות שתי תצורה של אותה לוח פשטות ותסריטים כושלים.עם זאת, ערבוב פי ו- BeagleBone הוא גם אפשרי אם אתה שומר את האלגוריתם וגרסאות התוכנה זהה.
כוח וחיבור
כוח אמין הוא קריטי.כל מכשיר צריך להיות מופעל על ידי אספקה ייעודית, מוסדרת 5V כוח שיכול להתמודד עם המגירה של הלוח (2.5A עבור פי 4, 1A עבור BeagleBone) לקחת בחשבון UPS קטן (אספקת חשמל בלתי ניתנת לעצירה) או חבילת סוללות בעלות הון גבוה שיכולה לשמור על שתי הדירקטוריון לרוץ באמצעות הפסקות קצרות:
- שימוש ב-FLT:0 (ב- EthernetFLT:1) עבור לפחות מכשיר אחד כדי להפחית את הסבלנות ולהימנע מהתערבות Wi-Fi.
- אם משתמשים ב-Wi-Fi, קבעו כל מכשיר לערוץ אחר או להתחבר לנקודות גישה שונות כדי להימנע משתיית קישוריות בו זמנית.
- כתובת IPigrciorph 1 או שימוש ב- DHCP כדי להבטיח שהמכשירים תמיד יש את אותה הכתובת עבור ניטור פעימות לב.
קביעת מכשירים מרובים
ההתקנה הראשונית
להלן תיעוד פתוח רשמי של OpenAPS: 1 (ב) עבור כל לוח.צעדים להתאים ל- Multi-device:
- (ב) ויקרא י"א: "השם ה'" (ב)"ב)" (ב"ב) ו"השם ה' (ב)" (או דומה) כדי להימנע מסכסוכים ברשת ועושים סלקציה ברורה.
- (FLT:0Same Software Version: FLT:1) התקן את אותו שחרור OpenAPS (למשל, גרסה 0 0.7.x) על שני המכשירים. גירסאות ממותמותת יכולות להוביל להתנהגות אלגוריתם שונה במהלך כשל.
- (ב) [17] , ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (FLT:0) הגדרות מבוקרות:FLT:1 תצורה קבצים בתצורה של חנות פרטית Git repository (למשל, על GitHub או שרת אישי).
סינכרון נתונים על מכשירים
עבור נכשל חלק, שני המכשירים חייבים לשתף נתונים בזמן אמת.המטרה: המכשיר הדו-בי תמיד יודע את הערך הגלוקוז האחרון, היסטוריה של העברת אינסולין לאחרונה, ומעמד משאבה קיימים, כל אחת עם הפסקות מסחר:
- (FLT:0) Nightscout (ענן מבוסס): שני המכשירים עולים לאותו אתר Nightscout.הגיבוי יכול להביא את השעות האחרונות של נתונים באמצעות ממשק API Nightscout על סטארט-אפ ולאחר מכן באופן מפתיע.זה עובד טוב אבל דורש גישה לאינטרנט ולהציג שקיפות.
- (ב) ,0) , תיווך MQTT (recommended:FLT) 1 Run a Mosquitto MQTT על Raspberry Pi Zero או על רשת הבית שלך.כל מכשיר OpenAPS מפרסם נושאים (למשל, FLT:5,FLT 6) ומנויים לנושאים אלה של המכשיר השני.
- (FLT:0)Shared filesystem (NFS/SMBIR): הר הבית מספר 1:1 של רשת שבה שני המכשירים כותבים קבצים סטטוס. השתמש ב-אטומים כותב (כתיבה לקובץ זמני, ולאחר מכן מחדש) כדי להימנע מקריאה חלקית.
- (FLT:0Database Replication (advanced): WHFLT:1 Set up InfluxDB בשרת נפרד. Both rigs לכתוב מדידות לאותן מסדי נתונים.הגיבוי יכול לשאילתה אינפלDB עבור הנתונים האחרונים.זה מציע נתונים היסטוריים חזקים אך מוסיף מורכבות.
(FLT:0) המלצה מעשית: FLT:1 התחל עם סינכרון Nightscout כי זה כבר חלק רוב תצורה OpenAPS. ולאחר מכן להוסיף MQTT לשיתוף נתונים מקומי בעקביות נמוכה.מבחן כדי להבטיח את הגיבוי יש נתונים פחות מ -30 שניות.
יישום אוטומטי
עקבו אחרי Heartbeat
כשלובר מסתמך על פעימות לב: כל מכשיר שולח מדי פעם אות "אני חי" יישום פשוט:
- צור נקודת קצה של HTTP קלה על כל מכשיר (למשל, FLT 7) אשר מחזירה את הזמן ואת הסטטוס.
- לחלופין, השתמש ב- MQTT עם נושא שמור: FLT:8 ו-FLT:9 יש כל הקפד לפרסם הודעה JSON כל 15-30 שניות.
- במכשיר הגיבוי, להפעיל תסריט שיבחן על פעימות הלב של ראש הממשלה, אם שלוש פעימות לב רצופות מפספסות (למשל 90 שניות ללא אות), הגיבוי מכריז על המתים העיקריים.
החלפת הילוכים אוטומטית
כאשר הגיבוי מחליט שהראשונים אינם ניתנים להשגה, עליו להניח שליטה ללא התערבות של משתמשים.צעדים להחלפת אמין:
- Claim controlmia:[דרוש מקור]: [ה] כתוב דגל למיקום משותף (למשל, נושא MQTT או קובץ על נתח הרשת] המציין כי הגיבוי פעיל כעת.
- (FLT:0) השתלטו על תקשורת משאבה: 1FLT אם שני המכשירים חולקים משאבה פיזית (למשל, באמצעות Bluetooth או סדרתי), להבטיח רק מכשיר אחד יש את הקשר של המשאבה.
- (FLT:0)המשך הלולאה:FLT:1, הגיבוי משתמש בנתונים הסינכרון האחרונים כדי לחדש את הלולאה OpenAPS. זה צריך להיות האירוע ל Nightscout כהערה טיפולית (למשל, "Failover: גיבוי עכשיו פעיל").
- (FLT:0) אזהרות: 1FLT שימוש Pushover, דוא"ל, SMS או זמזם מקומי כדי להודיע למשתמש שנכשל.
מניעת הפליג
מיפוי מתרחש כאשר הראשון מחלים ומיד משתלט, גורם תנודות. השתמש ב-FLT:0dead-TimerFLT:1: ברגע שהגיבוי משתלט, אין צורך להחזיר את השליטה לפחות 5-10 דקות, גם אם פעימות הלב הראשוניות מופיעות מחדש.
המונחים: Override
למרות אוטומציה, תמיד לספק override ידני.יישם ממשק אינטרנט פשוט (למשל, באמצעות Node-Red או אפליקציית אינטרנט Flask) עם כפתור כדי לתכנן איזה מכשיר פעיל.
בדיקות ואימות
מערכת הכשלונות שלך טובה רק כמו בדיקות שלה. צור לוח זמנים כדי לדמות כישלונות כל 2-4 שבועות.
- (FLT:0) סימולציה של כשל בחומרה: FLT:1ir מסיר את הכוח מהראש, ולאחר מכן למשוך את כרטיס ה- SD שלו תוך הפעלת (שחיתות של כרטיס מסמנת) לבדוק את הגיבוי מופעל בתוך זמן צפוי (בדרך כלל 60-90 שניות).
- (FLT:0 Network כשל הדמיה: FLT:1 דיס מחבר את כבל הרשת הראשי של הרשת.התעד את הגיבוי עדיין יכול לגשת Nightscout ולהתקשר עם המשאבה.
- (FLT:0DataSync Test:FLT:1 מעכב באופן מודע נתונים לזרום לגיבוי (למשל, על ידי שימוש במנוי MQTT שלה).
- (FLT:0) Recovery Testmia: 1FLT מחזיר את הגב הראשי באינטרנט, ודא שהוא מזהה את הגיבוי פעיל ונשאר במצב של עמידה מבלי להפעיל מתג אחר.
- בדיקה אחרונה ב-3 ביולי 2010. ^ "FLT:0.]]" (FLT: 1), "האזהרה של ה-Accalert test:0.]]
להקליט כל מבחן בתיק או בהערות Nightscout.אם יש לך מטפל, לערב אותם במבחנים כך שהם יודעים מה לצפות.
תחזוקה ועדכונים
שמירה על שני המכשירים על אותה גירסה תוכנה חיונית להתנהגות צפויה.
- (FLT:0) עדכונים: FLT 1 תמיד לעדכן מכשיר אחד קודם, עוזב את השני לרוץ לאחר 24-48 שעות של פעולה יציבה, לעדכן את השני.
- (FLT:0)Use לוח התארגנות: FLT:1 לשמור על לוח שלישי "ספאם" שאתה מעדכן קודם לכן לאחר שבועיים של יציבות, ליישם שינויים בשני השקיות הייצור.
- (FLT:0) עדכון עם זהירות: FLT:1; עבודה עלון יכול לבדוק חדשות OpenAPS משחררות הלילה, אבל רק להוריד וליישם אם דגל אנושי יוצב.לעולם לא עדכן מערכת ביקורת חיים.
- (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
המונחים: Multi-Device Setup
יותר מכשירים מתכוונים ליותר משטחים של התקפה.מיישם את אמצעי האבטחה האלה:
- (FLT:0) אימות סטרונג: 1FLT ( 1) השתמש בסיסמאות ייחודיות, ארוכות עבור ממשקי SSH ואינטרנט.אימות סיסמה בלתי ניתן להגדרה לחלוטין וסמוך על מפתחות SSH עם סיסמאות מעבר.
- (FLT:0 Network פלמנטציה:0Network פלח 1:0) לשים את שני השקיות על VLAN מבודד אם נתב שלך תומך בו.הם צריכים רק גישה Nightscout, לעדכן שרתים, ו- MQTT. לחסום את כל הקשרים הפולשים מהאינטרנט.
- (FLT:0) קידוד:0 (Enforce HTTPS for all Nightscout Communications) השתמש ב- MQTT מעל TLS (פורט 8883), ליצור תעודות חתום על ידי עצמו או להשתמש ב-Let's Encrypt אם הברוקר שלך נחשף (לא מומלץ).
- (FLT:0) אבטחה גופנית: 1) הר הלוחות במקרה מרופדים או מתחם.להבטיח כרטיסי SD או SSDs אינם מתפזרים בקלות.
- (ב) ,0) ביקורות מילואים: (FLT:1 Review Ports with FLT:11 או FLT:12 ; דיסable כל שירותים שאינם נחוצים לחלוטין (למשל, Bluetooth, Wi-Fi אם משתמשים ב- Ethernet).
משאבי קהילה ותמיכה
אתם לא בונים את זה לבד.קהילת OpenAPS פעילה, בעלת ידע, ומקבלת בברכה את המשאבים המרכזיים:
- אתר האינטרנט הרשמי של OpenAPS: (FLT: 1) - סקירה של הפרויקט, קישורים לתיעוד וחדשות.
- (ב) ,0) פתחים קראו את הדוקים של ה-DersFLT:1 - מדריכים מקיפים לתקנה, תצורה ופתרון בעיות.
- (FLT:0) OpenAPS Gitter chatFLT:1 - עזרה בזמן אמת ממשתמשים מנוסים.
- [01:0] פתחי פייסבוק קבוצה של פייסבוק: 1 - סיפורים קהילתיים, טיפים ותמיכה.
- (ב) ,0) תיעוד של אזהרות (FLT:1) - מועיל להבנת סינכרוניזציה בענן.
כאשר מבקשים עזרה, לספק את פרטי החומרה שלך, גירסאות תוכנה, שיטת הכשל, וכל יומני שגיאה.הקהילה מעריכה שאלות מפורטות ומכובדות.
מסקנה
הפעלת OpenAPS עם מכשירים מרובים הופכת מערכת משלוח אינסולין אוטומטית טובה לתוך מערכת באמת חזק. על ידי בחירת חומרה תואמים, סינכרון נתונים ביעילות, יישום של כשלים מבוסס לב, ובדיקה קפדנית, אתה יוצר התקנה שיכולה כשלים בחומרה מזג אוויר, גלי רשת שגיאות אנוש.המאמץ הראשוני - ביצוע לוחות, כתיבת תסריטים כושלים, בדיקות ביסודיות - תשלומים עם יום אמין, בקרה מתמשכת, וטעויות אנושיות.
התחל קטן: לקבל שתי לוחות זהים, להגדיר סינכרון Nightscout, ולבנות תסריט לב פשוט שולח לך הודעה כאשר הראשון הולך לא מקוון, ואז בהדרגה להוסיף להיכשל אוטומטית. הקהילה הפתוחה סללה את הדרך עם שנים של ניסיון בעולם האמיתי.עכשיו אתה יכול לבנות על הכתפיים שלהם עבור מערכת בטוחה יותר, גמישה יותר כי אתה יכול לסמוך על החיים שלך.