StefanCodes / hackingdiabetes

Hacking Diabetes repo for team 4 @ Hacking Health 2014 Vancouver
1 stars 3 forks source link

Web based agent GUI #9

Open mblackstock opened 10 years ago

mblackstock commented 10 years ago

It would be great to have a GUI for the agent itself IMHO.

I'm thinking web page(s) served up by a lightweight web server on the pi could be a great way of providing a UI for the agent for configuration and status.

It could display information about the state of the dexcon connection and the agent: e.g. whether it is connected, data on the pi, last time data was uploaded to the web service (WoTKit or other), alerts sent, and other dexcon/agent information need to make sure its all working.

The target for this would be non developers who need to manage the agent who are not familiar with command line and ssh. I think this would mainly be used for configuration, but perhaps the page(s) could serve as a simple monitoring interface for home users managing their kids. This would assume it is connected to the same wifi network, or on an ad hoc wifi network connected directly to their iPhone or laptop. People may not want or need to use a remote monitoring service like WoTKit while they are at home or in the same area. I'm thinking of a simple web server running on the pi, implemented in python or node, similar in concept (but more user friendly) than a web server used to manage your home wifi router.

StefanCodes commented 10 years ago

I like it and think it'll be essential. I did some refactoring today and was reminded how much config data is spread across our app. I think we should move it all into a config file (the old INI style is plenty), and this management interface can read/write from that file.

To save us from having to deal with configuration changes, we can just have the agent parse the config file every time it wakes up (every minute or whatever). That way any new config settings written by the management GUI will be picked up at the next cycle without having to restart the service or anything like that.