dinsdag 30 mei 2017

Nightscout API

Ik ben er gisteren in geslaagd om dingen te lezen met de Nightscout API, en ook om te schrijven. Anderzijds vraag ik me af of ik toch niet beter rechtstreeks naar de mlab database schrijf vanuit de app, want nu heb ik wel een manier om te testen tegen de API.

maandag 29 mei 2017

CoderDojo

Heb nog eens gebruik gemaakt van de CoderDojo om nog wat verder aan mijn project te werken.
Ben erin geslaagd om via ruby aan de Nightscout API te geraken (in elk geval al om entries te lezen).
Dit lukt zonder enige vorm van autorisatie, dus ben ik eigenlijk redelijk zeker dat ik niet via de API wil verbinden, maar via mongoDB. Daarvoor dacht ik aan Mongoid te gebruiken, maar op die moment lijkt het me nog een te high level interface om al direct in een gem te gieten. Langs de ene kant denk ik eraan om het rechtstreeks in mijn registratieappke te verwerken, maar dan heb ik geen controle over de consistentie tussen de Nightscout API en mijn assumpties over de database structuur.

Maar misschien moet ik die unittesten aan mijn registratieappke toevoegen, en dan zijn we wel zover.
Ik denk dat de meest directe winst zou zijn om mijn maaltijden ook te gaan pushen naar Nightscout; de rest kan later volgen.

Anderzijds begint ook de vraag om eens met die Arduino te beginnen zich op te dringen: ik denk dat de eerste stap de opbouw van een LimiTTer projectje moet zijn, en dan vervolgens dat ombouwen naar een transmitter. (Dus RFID ontvanger en zender op zelfde bordje.) In tweede instantie kan ik dat dan in twee splitsen en een geschikt wireless protocol voorzien.

maandag 15 mei 2017

FreestyleLibre released, en nu?

Vandaag FreestyleLibre release op RubyGems geplaatst, zij het incompleet. Ik heb het er wat moeilijk mee, maar in het verhaal van mijn Minimal Viable Product is er voldoende geïmplementeerd. Op dit moment zijn een aantal dingen meer prioritair: waarden opslaan en lezen vanuit de NightScout database. Eerste ding zal zijn een nieuwe NightScout op te zetten voor tests en dan te zien hoe die match met de database zit, en misschien opzetten met Azur zodat ik niet de restricties van Heroku heb. Langs de andere kant is het wel niet de bedoeling dat ik met NightScout blijf werken, want ik vind het een bijzonder slecht idee dat er geen vorm van authenticatie op de user interface van de app is. Waar ik eigenlijk naar toe wil is tweeërlei: enerzijds lezen en schrijven naar de database (al dan niet via de NightScout API), en anderzijds de NightScout API gaan implementeren, zodat ik zelf de data van LibreAlarm kan opvangen. Met dat laatste wil ik eigenlijk een behoorlijke alarmapp gaan implementeren: in eerste instantie een alarmapp voor iOS (en eigenlijk nog liefst OS agnostic) aangestuurd door een xDrip+ master, in tweede instantie vanuit libreAlarm zelf.

Ah, ja, en 't belangrijkste van dit artikel zou ik nog vergeten: de link naar de API van NightsScout: https://github.com/nightscout/cgm-remote-monitor/blob/master/swagger.yaml

woensdag 3 mei 2017

FreeStyleLibre gem

Al een tijdje aan het prutsen aan een ruby gemmeke dat de waarden van de flash uitleest. Grotendeels als voorbereiding van een manier om met de arduino de reader te kunnen uitlezen, maar ook als een manier om makkelijker de data naar mijn eigen app of nightscout te krijgen,
Als unittest run ik het tegen een export file van de officiele app, wat dus wil zeggen dat ik twee parsers heb: één voor de export file, en één voor de data uit de flash. Maar wat betreft het dataformaat heb ik de indruk dat ik daar de bal nogal missla: ik heb voor de verschillende soorten data telkens verschillende objecten gemaakt, maar ik denk dat ik beter alles als een hash of openstruct opsla, en dus geen aparte objecten moet creeren.