Das Kind hat einen Namen…

Wenn keine Bedenken mehr auftauchen, wird ab nächster Woche das Projekt „blueReader“ gestartet!

blueReader ist ein generischer NFC-Bluetooth-Adapter mit passenden Bibliotheken für Android und iOS, sowie einer offenen Firmware.

Heute habe ich die erste Implementation der iOS-Bibliothek soweit bekommen, dass ich nun NFC-Tags (ja, auch den Libre) über mein iPhone auslesen kann! Auf dieser Basis kann ich nun eine Libre-Bibliothek schreiben, um die Daten auch auswerten zu können.

Warum der ganze Umweg über ein generisches Produkt gehen? Um die Zulassung etc zu umgehen! Der blueReader wird auf allen Plattformen die Bluetooth Low Energie unterstützen funktionieren. blueReader wir auch sämtliche Tags irgendwann unterstützen, für die ST Micro den Chip vorgesehen hat (von der ST Micro Beschreibung):

  1. ISO/IEC 14443 Type A and B
  2. ISO/IEC 15693
  3. ISO/IEC 18092
  4. NFC Forum tags: Types 1,2,3 and 4
  5. ST Micro short-range interface (SRI) tags
  6. ST Micro long-range interface (LRI) tags

Was dann ein Benutzer dieses Adapters für weitere Software damit benutzt ist dann rechtlich egal und berührt weder die Firma Abbott Medical Systems noch sonst jemanden 🙂 (jedenfalls der Theorie nach und so wie ich die aktuelle Rechtsprechung interpretiere…)

 

Die Größe entscheidet…

Nach meinen letzten Posts haben mich einige Nachrichten erreicht, die Ausdrückten, dass es so doch etwas Unhandlich sei.

Ja, derzeit ist es dass!

IMG_1323So sieht das Board gerade aus, mit dem ich am Testen bin.

Rechts unter der Tüte und über dem Board mit dem bunten Flachbandkabel liegt auch ein Sensor.

 

 

 

 

 

 

IMG_1330IMG_1331So sehen die Teile im Detail aus. Gegen den Sensor gar nicht mehr so groß 🙂 In beide Bilde habe ich Blau die eigentlichen Chips und Hardware die ich benötige eingerahmt und Rot die NFC-Antenne.

 

Wie man sieht, wird das wahrscheinlich alles viel kleiner, als man jetzt von den Prototypen vermuten könnte. Der Vorteil von dieser „riesigen“ Hardware ist aber, dass man Sie leicht an den Rechner anschliessen kann und darauf testen kann.

erster Code

Ein kleines Update…

am Wochenende habe ich leide mein Ziel verpasst eine Arduino-Bibliothek zu veröffentlichen, aber dafür habe ich an der Implementierung der Bluetooth-Middleware gearbeitet und heute die Bibliothek für mbed und nRF51 fertig gestellt. Da der Code auch halbwegs aufgeräumt ist, habe ich ihn auch direkt Veröffentlicht (Github ). In den Comic-Nachrichten ist auch eine Anleitung, wie man das benutzen kann. Der Code gibt zwar noch keinen Messwert von dem Libre Sensor aus, aber man kann schon mal die Rohdaten auslesen.

Der nächste Schritt wird jetzt erstmal eine Test-App für Android/iOS werden, mit der ich die Daten eines Sensors auslesen und erstmal anzeigen kann.

Danach kommen die fehlenden Bibliotheken für:

  1. Arduino-SPI
  2. mbed-Serial
  3. Arduino-Serial

Damit, und mit den Beispiel Apps, sollte es schon mal möglich machen, das technisch versierte Menschen sich ein eigenes System konstruieren können.

Aber wodurch kam es zu der Änderung des Planes?

IMG_1322Dieses Experimentierboard, hier ohne das Flachbandkabel mit dem NFC-Modul) ist einfach unglaublich unpraktisch, laufend verheddert ich mich in den Kabeln und suche Wackelkontakte…

 

 

 

IMG_1323Diese Board ist das nRF51-DK mit angeschlossenen NFC-Modul. Wie man leicht erkennen sind hier nur ein USB-Kabel und die Anschlüsse für das NFC-Modul verbunden. Dazu kann ich es ohne Probleme in einen Gefrierbeutel ( ja genau… Aber es isoliert… ©Meine Lebensgefährtin ) gesteckt werden und es gibt keinen Kurzschlüsse auf dem Sofa (blöde Kunstfaser Decke… Aber weich und kuschelig 🙂 ).

 

IMG_1326

Un hier noch mal im Vergleich mit einem Sensor den ich gerade zum Testen verwende, leider wollte dieser seit gestern Abend nur noch LOW anzeigen und hatte noch 2 Tage… Aber um das Protokoll zu testen ist er immer noch hervorragend geeignet, so kann ich zB. alle Sendeleistungen und Protokoll-Varianten mal ausprobieren, ohne einen Defekten Sensor riskieren zu müssen.

 

Sobald ich die Apps fertig habe, braucht man nur noch:

  1. Ein BM019-Modul (direkt über Solutions Cube aus den Staaten bestellbar, aber 44 Euro Versand, hier schwierig zu bekommen)
  2. Ein nRF51-DK Modul (hier zB.: über DigiKey beziehbar, ca 34 Euro zzgl. MwSt und Versand)
  3. Breadboard-Kabel Male-Femal (zB.: amazon für ca 2,20 Euro)

Und etwas Geduld… 🙂

 

 

Schlag auf Schlag…

Nachdem zuerst die NFC-Chips bei mir angekommen sind, gründlich untersucht und getestet wurden, die Demo zum Auslesen funktioniert, geht es rasant weiter…

Für alle die sich selber für die Entwicklung, oder auch nur das Spielen mit der Hardware, interessieren, werde ich schon bald™ auf Github ein komplettes Projekt für Arduino.cc veröffentlichen. Dieses wird aus einer Bibliothek für die Kommunikation mit dem BM019 Modul, inklusive Power-Saving, einer Bibliothek für die Kommunikation mit dem Libre und einer Demoanwendung für 3V Boards, wie dem Trinket Pro oder pro Mini, bestehen.

Ich habe mich für ATmega328 basierte boards entschieden, da viele direkt auf 3V arbeiten und somit keine Pegelumsetzer oder gar Bausteine für die Verbindung von MCU zu BM019 benötigt.

Die Bibliothek für Demo für den Libre implementieren ein einfaches ASCII UART Protokoll, mit dem man die verschiedenen Funktionen einfach über eine Serielle Verbindung testen kann.

Dazu gibts oben drauf noch eine Demoanwendung für den ESP8266-ADC in der DIL18 Variante, da die normalen Module nur zwei GPIO Ports zur verfügung stellen, ich aber zwei für Serielle Kommunikation mit der MCU, und einen für Wake-Interupt benötige.

Mit dieser Demo kann man dann seine Werte per WebBrowser über Wifi auslesen. Leider ist das keine richtige Option für ein tragbares Projekt, da der ESP8266 schon gerne mal bis zu 400mA Strom schluckt und ich es bisher nicht hinbekommen habe den Hardware SPI des ESP zu verwenden um direkt mit dem BM019 kommunizieren zu können und somit immer den Umweg über die zusätzlich bis 20mA verbrauchende MCU gehen muss.

Ein kompletter Testaufbau sieht dann etwa so aus:
IMG_1263auf dem Board oben steckt ein zusätzliches Spannungs-versorgungs-Modul um den ESP (2. Modul von unten) mit Strom versorgen zu können, da der ftdi USB-TTL nicht genug Strom liefern kann. Der ftdi steckt so halb unter der mit Flachband-Kabel angebunden BM019 Platine. Ganz unten ist der Trinket Pro auf der Platine und auf der kleinen extra Platine noch ein Transistor basierter Powerswitch um das gesamte Subsystem (BM019 + Trinket Pro) abschalten zu können. Das Subsystem ist zusätzlich am Multimeter zur Strommessung angeschlossen. Leider habe ich derzeit kein Scope, mit dem ich den Verlauf der Stromaufnahme aufzeichnen kann.

Ich hoffe das gesamte System im Bereich unter 5mA Peak-Leistung bauen zu können. Da es ja nur alle 15 Minuten Sinnvoll ist eine Abfrage zu machen und diese kaum eine Sekunde brauchen sollte, rechne ich in etwa, inklusive Aufwaschzeiten, von 2 Sekunden langen Peaks 4x die Stunde, somit maximal 40mA pro Stunde und somit 960mA maximale Leistung für 24 Stunden.

Sobald ich den Code und die detaillierten Beschreibungen veröffentlich habe, werd ich auch an diesem Subproject nicht mehr weiter arbeiten, da die Tage auch mein heiß ersehntes nRF51-DK angekommen ist!

IMG_1264Dies ist ein Entwicklungsboard für die nRF51 basierten Chips von Nordic Semiconductors. Mit diesem Board und Chips sollte es möglich sein direkt mit dem BM019 zu sprechen und per Bluetooth 4 BLE die Daten bereit zu stellen.

Allerdings ist es auch eine ganz andere Klasse von Chip, da ist nicht mehr viel mit Arduino.cc anzufangen. Die Entwicklungsumgebungen für diese Chips sind entweder das legacy mbed oder das keil MDK. Auch dafür werde ich dann die Dokumentation und den Code veröffentlichen.

Da derzeit die Zeit die größte Mangelware ist, hoffe ich dieses Wochenende dazu zu kommen, die Arduino basierten Sachen zu veröffentlichen und in den nächsten zwei Wochen einen Prototypen inklusive Apps zu entwickeln.

Wenn das Klappt, könnte ich bereits im Mai mit einem befreundeten Boardentwickler anfangen ein Miniboard mit Akku-Versorgung zu entwickeln. Wenn das alles so passt sagt mir mein BOM (Bill of Material, Teilleiste) das nur verdammt wenige Teile benötigt werden und diese auch noch recht günstig sein werden.

  • ca 4,50€ für ein fertiges Bluetooth-Module.
  • ca 5,00€ für den NFC-Chip
  • ca 3,00€ für Ladekontroller
  • ca 5,00€ für Kleinteile

Dazu kommt noch das Board, Boarddesign, Akku und alles zusammen Löten. Da habe ich noch keine Erfahrung was sowas Kosten wird und kann.

Endlich Fortschritt!

Nach den ersten Fehlversuchen, kam heute, pünktlich zum Wochenende, meine Lieferung der BM019-Module.

Nach ein wenig fummeln, fanden sich dann ein FTDI-Adapter, ein Trinket Pro 3V und ein BM019 zusammen:

Einmal Kabel
Einmal Kabel

Dann kam noch ein wenig Code in das Arduino.cc dazu und schon konnte ich den ersten Sensor auslesen:

IMG_1200

Der Code taugt noch nicht zur Veröffentlichung, da es nur ein Test und dementsprechend zusammen geklatscht ist.

Ein paar Infos noch:

  1. Ich kann den NFC-Reader so ansteuern, das man ihn die ganze Zeit auf dem Sensor lassen kann. Diese Frage kam auf Facebook auf.
  2. Natürlich fehlt mir die Analyse-Logik des Lesegeräts, somit sehen die Werte etwas anders aus, als was man auf dem Gerät ausliest. Die Grafik verdeutlicht die Abweichung zwischen mit Geräten ausgelesenen und meinem Code ausgelesen Werten.

analyse

Die nächsten Schritte werden jetzt sein:

  • Energiemanagement des NFC-Chips verstehen
  • BLE Implementierung für das SPI-Protokoll testen
  • ersten BLE-Draft schreiben
  • Code und Bauanleitungen veröffentlichen 🙂

weiter geht das warten…

Heute kamen nach langem warten endlich beide bestellten NFC-Tags an…

Leider haben beide Hersteller ihre Produkte auf einen billigen NXP Chip aktualisiert, der nicht mit dem Libre reden kann…

Also wieder warten und hoffen dass bald ein bm019 den Weg zu mir findet.

Immerhin gibt es auch Fortschritte im Projekt. Die ersten Tests laufen mit den BLE Modulen von Waveshare und Adafruit. Eigentlich sind es sogar exakt identische Module und dank einem gestern angekommenen STM32  ST-Link V2 Moduls kann ich jetzt auch per keil µVision oder per OpenOCD   die Chips bespielen. Bisher hat zwar nur das Blinky Example (Hallo World für MikroBoards 😉 ) funktioniert, aber Schritt für Schritt finde ich die notwendigen Infos um auch die ersten Tests mit Bluetooth Low Energy starten zu können.

langes warten

Derzeit ist es scheinbar schwierig die richtigen Bauteile für das Projekt zu bekommen. Mal sehen wie viele Wochen es noch zu warten gilt 🙁

Spezifisch warte ich gerade auf eine Lieferung verschiedener rfid chips, die den ISo 15693 Standard richtig können, da das Libre diesen Standard für die Datenübertragung benutzt. Man sollte ja meinen, dass die ganzen gängigen Bastlerboards das können… Aber Nein…

Das erste Board für eine Bluetooth-Verbindunng habe ich schon bekommen, aber das alleine hilft ja leider wenig.

Ein neuer Start

Lange lange nach meinem letzten Blog gibt es endlich wieder einen Grund einen neuen Blog zu starten…

Diesmal geht es um das Abbott Freestyle Libre System!

Viele Personen beschäftigen sich gerade mit dem System, mit den Pros und den Kontras, der Finanzierung, der Zuverlässigkeit und all dem anderen. Ich nicht 🙂

Seit Herbst 2014 bin ich in der Markteinführungsphase dabei und hab als einzige Patientin meiner Praxis damals eines der begehrten Geräte bekommen. Nach der Testphase mit leider zwei abgerissenen Sensoren war dann leider erstmal Pause, bis ich die ersten Sensoren später in 2014 bestellen konnte. Seit dem bestell ich immer fleissig meine Sensoren und bin ohne größere Lücke versorgt worden. Auch die Befestigung ist Dank 10x8cm Curapor Pflastern kein Problem mehr. Die Pflaster halten etwa eine Woche und kosten im Vergleich zu einem verloren Sensor ja nix.

Bezahlen tue ich das ganze seit jeher selber, das ist es mir Wert und ich kann es mir auch Leisten.

So, nachdem jetzt alles was man eh überall lesen kann gesagt wurde, warum schreibe ich überhaupt über das System?

Weil ich denke das es noch nicht vollständig ausgenutzt wird! Durch das Libre habe ich vieles über meinen Diabetes erfahren, meinen HbA1c verbessert und ein paar Probleme gefunden. Eines der größten Probleme derzeit in meiner Einstellung sind meine Katheter. Seit 2001 trage ich Insulinpumpen, derzeit die Accu-Check Combo. Eigentlich auch alles gut, bis auf das ich die meisten Katheter nicht vertrage. Stahl entzündet sich sehr schnell und viele Kleber vertragen sich mit meiner Haut nicht. Derzeit verwende ich die Orbit soft Katheter (leider kein Link gefunden). Die sind sehr gut für mich, aber sind auch nicht Perfekt. Hin und wieder geht Nachts die Kappe ab und grundsätzlich versagt der Katheter eh immer Nachts.

Wie kann man das Problem beheben?

Libre + NFC-Bluetooth-Adapter + App = konstante Analyse und Warnsystem!

Dank der frei verfügbaren Apps Liapp und Glimp, deren partielle Sourcen, den Sourcen von Social Diabetes und mit ein paar Helferlein war ich der Lage einen eigenen Android-basierten Leser für das Libre zu entwickeln. Aber das genügt ja noch nicht…

Die Handys scannen den Sensor ja sobald man nahe genug kommt und nur einmal, mit ein paar Tricks kann man zwar das Handy dazu bringen auch in Abständen den Sensor erneut auszulegen, aber ein Handy über dem Sensor am Arm zu tragen… nicht meine Idee wie es gehen soll.

Derzeit warte ich auf einige Teile (1 und 2) um die nächste Phase dieses Experiments einzuläuten: Ein dünnes, tragbares System, möglichst nicht viel größer als ein Libre Sensor selber, um die Daten auszulesen und an mein Handy schicken zu können.

Was haltet Ihr davon?