Coder Social home page Coder Social logo

sebastian0897 / m5_paper_nightscout_xdrip Goto Github PK

View Code? Open in Web Editor NEW
3.0 1.0 0.0 124 KB

Using an M5-Paper to show various things. From the Current time, to weather but also the current Blood Glucose, via Nightscout and in Future over Bluetooth from Xdrip Directly. And all of that as Energy Saving as Possible.

License: MIT License

C++ 100.00%
blood-glucose-display blood-glucose-direction nightscout m5-paper m5epd xdrip esp32 energy-saving temperatur-display wifi-credentials

m5_paper_nightscout_xdrip's Introduction

M5_Paper_Nightscout_Xdrip

Using an M5-Paper to show various things. From the Current time, to weather but also the current Blood Glucose, via Nightscout and in Future over Bluetooth from Xdrip Directly.(working on the bluetooth connection currently) And all of that as Energy Saving as Possible. You dont need to use the Blood Glucose Display if you dont have any use for it. I am also planing implementing Features like Smart Home Control. * Update * I will implement Smarthome stuff in a seprate Program and write a framework to switch programs

Picture

How it works

The Programm starts every minute to update the clock and update other information. That is all that is needed as the M5 Paper has an E-ink Display that retains the information without using power. What to update when is currently hard coded, but I am Planing to implement a config file to make that easier to configure. After all the Updates the devices calculates how long to shut off (and set a timer via the RTC) to reboot in time for the Clock to switch to the next minute.

The current Battery Life is nearly 3 Days. If you disable the Blood glucose Display it should be longer.

Using the Code

For the Code to Work Correctly the RTC time needs to be set before installing my Code. Also you need to fill in your wifi Credentials(only 1 set required but multiple are possible), Openweathermap APi key (if you want the Temperatur Display), Nightscout server adress(if you want the Blood Glucose Display). At the bottom of the code is the main loop were you can set what to run when. I am planing on Improving how that works to make it configurable in a Config file.

Currently working:

  • Time and Date
  • On/Off Notification
  • WIFI Indicator
  • Battery Indicator
  • Energy saving
  • Temperatur Display for a given location
  • Display for Blood Glucose over Nightscout
  • Multiple Wifi Credentials Possible

TODO:

I have decided to write a framework to switch between multiple Programs. And not write the Smarthome controll stuff in this program. but a seperate one. I will put a link here to the repository when i have something to show.

GUI:

  • Better Arrows to Indicate Blood Glucose Direction
  • Better weather Display
  • Graphing the Blood Glucose
  • maybe a Different Font

Features:

  • Implement a bluetooth and a wifi mode
  • Config file for the parameters that need to be set
  • Change the main loop to make i configurable with a config file
  • Multiple Languages (currently just German GUI)
  • Find something usefull to do with the half empty Display
  • Get Blood Glucose Directly per Bluetooth from Xdrip
  • Maybe also Phone Notifications per Bluetooth
  • Alarms for Critical Blood Glucose (maybe also Predictive Alarms)
  • implement Location Finding via wifi networks
  • Make use of the Buttons and Touch Display
  • You tell me

Ideas:

  • Maybe implement different modes like energy saving and night mode, or more often Updates
  • Maybe implement some Smart Home controlls (Philips hue/Hubitat/AVM)

Bugs:

  • You tell me

Credits

I am using code Snippets from:

An got some Ideas and Inspiration From:

m5_paper_nightscout_xdrip's People

Contributors

sebastian0897 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.