Project Description - Requirements

Background

 This project started from an instpiration to use E-paper displays and control some home automation components.   The idea of using a low power display with a micro controller connected to WiFi has obvious advantages for battery powered home automation controllers and displays.  Much thought was given to the ability to provide very mobile devices using small rechargeable batteries with a fully graphical control and readout capability.

The first idea I pursued was the use of an E-Ink display as an outdoor music controller.  Although the infrastructure at the house was already established for control using a phone/webpage, I wanted a dedicated controller.  I wanted long battery life, and the ability to not only control the outdoor music, but the outdoor lighting and to display weather information when not controlling.  It wasn't until I attempted to use an E-Ink displya did I realize the limitation of such a display for responsive control.  The display are beautiful, but just not responsive enough to provide a good experience.

So I changed course and decided to create a dedicated weather display, and incorporate an agenda view.  I wanted to integrate sensors at my house with information from the web, and have a very convenient package.

Requirements

To implement the vision of this project, the Weather Agenda display had to:

  1. Provide current weather conditions at a reasonable interval
  2. Integrate the home's weather station data to give accurate information about the wether outside my door
  3. provide predictions about the upcoming weather
  4. Display a list of upcoming family agenda or calendar events

Discovery

After some research, I found the following items were possible:

  • Weather predicitons and current condidtions were available using Open Weather Map APIS
  • I could read my AccuRite 5-in-1 weather station positioned in my yard using an RTL-SDR and rtl_433
  • Google APIs could be used to retrieve calendar and agenda information from every calender to which I have subscribed
  • The ESP32 could be put into deep sleep and woken on intervals, using very little power
  • Waveshare has inexpensive 7" E-Paper displays and a "custom" ESP32 with the flex interface already in place
  • My experience with IoT devices meant I could utilize MQTT as a data broker, and the ESP32 could subscribe to the relevant topics.
  • I have a home server, so I can keep all of the information private and protected form the outside world.
  • NodeRed is a very easy to use JSON based application which can communicate with all of the technologies (Google APIs, Open Weather Map, MQTT) and provide programmbility to parse and reorganize data to my needs.