الخلفية لوحة المفاتيح DasKeyboard على أساس نسبة السكر في الدم باستخدام REST API

من مدونة سكوت هانسيلمان ، مدرس ومبرمج ومحاضر.

منذ فترة طويلة أكتب مقالات حول موضوعات عند تقاطع مرض السكري والتكنولوجيا في مدونتي. في عام 2012 ، كانت حالة التكنولوجيات المرتبطة بمرض السكري مؤسفة ، لكنها الآن تشهد طفرة واعدة .

إذا كان لديك مرض السكري من النوع الأول واستخدمت مقياس الجلوكوز المستمر (CGM) ، فستحتاج إلى تكوين خدمة Nightscout وسيكون لديك واجهة برمجة تطبيقات REST للوصول إلى بيانات نسبة الجلوكوز في الدم. تقوم CGM بفحص مستوى الجلوكوز في دمي كل 5 دقائق ، عبر قناة Bluetooth منخفضة الطاقة ، وتذهب البيانات إلى هاتفي ، ومن هناك إلى السحابة. لكن عليك تخزين بيانات الجلوكوز في السحابة تحت سيطرتك. يقدم مصنعو CGM غيومهم الخاصة ، لكن يمكننا بسهولة التصدير من هناك إلى قاعدة بيانات MongoDB.

يعمل My Nightscout على Azure ويحتوي جسدي على واجهة REST API الخاصة به. يمكنني تقديم طلب HTTP GET التالي:

/api/v1/entries.json؟count=3

واحصل على هذا النوع من الإجابة:

[ { _id: "5c6066d477b2a69a0a7810e5", sgv: 143, date: 1549821626000, dateString: "2019-02-10T18:00:26.000Z", trend: 4, direction: "Flat", device: "share2", type: "sgv" }, { _id: "5c6065a877b2a69a0a7801ce", sgv: 134, date: 1549821326000, dateString: "2019-02-10T17:55:26.000Z", trend: 4, direction: "Flat", device: "share2", type: "sgv" }, { _id: "5c60647b77b2a69a0a77f381", sgv: 130, date: 1549821026000, dateString: "2019-02-10T17:50:26.000Z", trend: 4, direction: "Flat", device: "share2", type: "sgv" } ] 

إذا قمت بتغيير عنوان URL .json إلى .txt ، فسأحصل على ما يلي:

 2019-02-10T18:00:26.000Z 1549821626000 143 Flat 2019-02-10T17:55:26.000Z 1549821326000 134 Flat 2019-02-10T17:50:26.000Z 1549821026000 130 Flat 

القيمة الثابتة في النهاية هي قيمة التعداد التي تعطيني فكرة عامة عن سلوك الجلوكوز. يجب على مرضى السكر مراقبة الجلوكوز كل ساعة ، وأحيانًا كل دقيقة. لذلك ، من المهم جدًا أن يكون لدينا شاشات يمكن أن ننظر إليها بسرعة. وهذا هو ، أي شيء يمكن أن يعطي فكرة عن حالتي الحالية.

على سبيل المثال:

  • اليكسا ، ما هو مستوى الجلوكوز؟
  • كيفية إضافة بيانات واتجاهات الجلوكوز إلى طلب Git / PATH في سطر الإدخال.
  • اردوينو مع شاشات الكريستال السائل.
  • تقويم dakBoard Family Calendar مثبت على الحائط يعرض مستويات الجلوكوز.



لقد اشتريت مؤخرًا لوحة مفاتيح Das Keyboard 5Q لنفسي - ولأول مرة كتبت عن لوحة مفاتيح Das بالفعل في عام 2006! لديها API REST الخاصة بها. وأنا أعمل على استخدام Applet API من لوحة المفاتيح لتسليط الضوء على المفاتيح العليا وفقًا للتغيرات في مستوى الجلوكوز في دمي. سأستخدم مكتباتهم في Node و JavaScript ، وسيعمل كل شيء في سياق برامجهم .

ومع ذلك ، نظرًا لأن لوحة المفاتيح لديها واجهة برمجة تطبيقات REST تعمل على المضيف المحلي ، ومستوى الجلوكوز لديها أيضًا ، فقد صنعت النص التالي على ركبتي. لقد أضفتها إلى cron ، والآن تغير لوحة المفاتيح الخاصة بي الإضاءة الخلفية من البرتقالي (منخفض) إلى الأخضر أو ​​الأصفر أو الأحمر (عالية) بالتوازي مع التغيرات في مستوى الجلوكوز في دمي. واتضح مؤشر خلفية جيدة. قام شخص ما بتغريد ذلك ، كما يقولون ، لا أحد ينظر إلى لوحة المفاتيح. في رأيي ، هذا غبي. ربما سألاحظ إذا تحولت لوحة المفاتيح إلى اللون الأحمر. لا يزال هذا تحذيرًا في الخلفية ، لكن إذا لزم الأمر ، يمكنني بسهولة إضافة مكالمة إلى رسالة أكثر وضوحًا إلى البرنامج النصي.

 #!/bin/sh #      #  JSON-   API. #        Nightscout set -e # quit on first error. PORT=27301 #   5Q PID="DK5QPID" # product ID #  .  5Q  ,  166 #     . MAX_ZONE_ID=166 #      Nightscout   TEXT red=#f00 green=#0f0 yellow=#ff0 #   –    COLOR=#f50 bgvalue=$(curl -s https://MYSITE/api/v1/entries.txt?count=1 | grep -Eo '000\s([0-9]{1,3})+\s' | cut -f 2) if [ $bgvalue -gt 80 ] then COLOR=$green if [ $bgvalue -gt 140 ] then COLOR=$yellow if [ $bgvalue -gt 200 ] then COLOR=$red fi fi fi echo "  $bgvalue,   $COLOR!" for i in `seq $MAX_ZONE_ID` do #echo "   zoneId: $i" # :    "name"  "message" ,   #     curl -s -S --output /dev/null -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{ "name": "Nightscout", "id": "'$i'", "message": "Blood sugar is '$bgvalue'", "pid": "'$PID'", "zoneId": "'"$i"'", "color": "'$COLOR'", "effect": "SET_COLOR" }' "http://localhost:$PORT/api/1.0/signals" done echo "\n.\n\" 

يجب أن ترسل واجهة برمجة التطبيقات للوحة المفاتيح المحلية إشارة لمنطقة واحدة فقط ، أو مفتاح واحد ، لذلك قمت بتطبيق اختراق صغير ، وأرسل أكثر من مائة طلب REST لتلوين لوحة المفاتيح بأكملها. ومع ذلك ، تحدث كل هذه المكالمات محليًا ولا تقم بتحميل النظام كثيرًا. بعد الانتقال إلى واجهة برمجة التطبيقات الجديدة ، سيصبح كل شيء أكثر دقة.


أيضًا ، بالضغط على مفتاح مستوى الصوت ، إلى جانب أي مفتاح مميز ، تظهر نافذة منبثقة بالقيمة الدقيقة لمستوى الجلوكوز (هذه رسالة في المكالمة الثانية للتجعيد). يعد هذا اختراقًا جديدًا ، لكنني سأقوم بإخراج تطبيق رسمي منه ، والذي يمكن تثبيته من متجر التطبيقات. رمز يمكن اتخاذها هنا .

ما هي الأفكار الجيدة الأخرى التي لديك عن إخطار السكر في الخلفية؟ قطاع الصمام حول الشاشة؟ لمبة الذكية فيليبس هوى؟

بالمناسبة ، يمكن استخدام الفكرة مع الشاشة التي يمكنك النظر إليها لتتبع المؤشرات الأخرى - معدل ضربات القلب والقلق وضغط الدم - كل ما يمكن قياسه في جسمك في الوقت الحقيقي (أو الحقيقي تقريبًا).

Source: https://habr.com/ru/post/ar443154/


All Articles