Weather Station and Photo Frame from InkPlate 10

[ ardunio  esp32  weather  e-ink  photo  inkplate-10  ]

inkplate_weather_photo includes code for building a weather station and photo frame from Inkplate 10.

Usage

You could use touch pad to switch from three functions: weather station, web photo and local photo. The content will be updated every 4 hours and could be modified via *_DELAY_US in weather_photo_calendar.ino.

IMG_2002

IMG_2003

To use for your own, please make sure

  • create settings.h in your root directory with the following fields:
    • int SECRET_TIMEZONE your time zone;
    • char SECRET_CITY[128] latitude and longitude of the location for weather, e.g., “1.234,5,678”. Make sure your location could be found by https://www.metaweather.com/api/location/search/?lattlong=;
    • char *SECRET_SSID your WIFI SSID;
    • char *SECRET_PASS your WIFI password;
    • char *SECRET_PHOTO_URL the url for web photo frame;
  • for local photo, please put your images in microsd card’s eink directory and images should be png, which have name like 0.png, 1.png. The name should start from 0 and continuous increasing.

Implementation

It is mostly built from the examples provided by InkPlate 10, including:

Some of important changes I made:

  • refactor code to isolate the logics of each of those examples;
  • fetch the last touch pad event from interrupte register instead of using loop pool

Future Work

Integrate Google Calendar functionalities. However, It is not currently working which will causes infinitely wake-sleep-loop, though not intended.

One possible reason is the adding Google Calendar there takes too much memory that hardware could support. Removing Google Calendar example or Google Calendar alones works perfectly.

You could check master branch, if you want to help.

Written on July 15, 2021