Skip to content

fwacer/esp8266-event-notifier

Repository files navigation

esp8266-event-notifier

This is my Google Calendar Busy Indicator. It connects over WiFi to a calendar, then turns the top LED to the colour of the event (Green is "empty" or "free"). This allows the end user to tell if the owner of the calendar is busy and what type of meeting they are in. On the front face, there is a seven-segment display that shows the time that the owner of the calendar is free next. I plan to use this at home, to track when my parent is busy and when they will next be free.

Demo video: https://youtu.be/q-8Iey-jSQw

Video thumbnail of the ESP8266 event notifier prototype

The underlying code is based on SensorsIOT's implementation of a similar idea: https://github.com/SensorsIot/Reminder-with-Google-Calender

Blog post: https://brycedombrowski.com/2020/05/spring-2020-google-calendar-busy-indicator/

Instructions to make this project:

  • Download esp8266-event-notifier.ino to your project folder and modify it as needed. The #defines at the top contain most of the things you will want to modify.
  • From the library HTTPSRedirect, download HTTPSRedirect.h and HTTPSRedirect.cpp and place them in your local project folder. https://github.com/electronicsguy/ESP8266/tree/master/HTTPSRedirect
  • Copy/paste the contents of ReadCalendarEvent.gs to a new project file on script.google.com. Make sure to rename _calendarName to the name of your calendar. Then Publish->Deploy as web app . Make sure to "Anyone, even anonymous" when selecting "who has access to the app". Copy the secret from the resulting URL: https://script.google.com/macros/s/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/exec. The XXs are your secret. Note: every time you make a change to the code, you must increment the project version by 1 or the new code will not be live for your next request. For more information on this whole bullet point step, see Andreas Spiess's excellent video: https://youtu.be/sm1-l5-z3ag?t=199
  • Create a file called credentials.h. It should contain the following:
    #define CREDENTIALS
    const char* SSID_NAME = "dlink"; // Your wifi's name
    const char* SSID_PASSWORD = "password"; // Your wifi password
    const char *GSCRIPT_ID =  "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; //replace with your secret
  • Make the circuit! I've included both an Eagle schematic and a PDF of my setup. Feel free to modify it or make your own from scratch.

About

A notification device for when a calendar event is occurring.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published