Git Product home page Git Product logo

weather-station-esp32-eink's Introduction

Weather Station ESP 32 + Waveshare 4.2" e-Paper Module

Introduction

This is the source code for a small personal project and can be used to create a weather station using an esp-32 and an e-paper display.

WARNING: This project will not run without heavy modifications

Most importantly, you will need to provide your own API access to a local weather service.

When not using an ESP-32 board or Waveshare 4.2" e-Paper display, major modifications of the code will be necessary (drivers and display dimensions).

Getting Started

Prerequisites

Connect the display to the board according to the links in the resources section. Make sure that the demo applications work and display the images correctly.

Setup the project in PlatformIO.

Installation

  1. Copy and rename include/wifi_login.h.example to include/wifi_login.h and change SSID, password to your local Wifi network.
  2. Build and upload the program. Without providing a server for the local weather service API, the program will use a sample response found in resources/sample_response.json and display it.

Modification

  1. Provide server and headers for the request to your local weather service API.
  2. Currently the API response is parsed in src/weather.cpp. This will have to be changed for different data formats.

Graphics

Icons and fonts can be found in resources/. convert.py can be used to convert images into byte arrays usable in data.h:

  • python convert.py image icons/bolt_1.png to output code for the specific icon
  • python convert.py font fonts/consolas.png "|m.-0123456789" to create a font definition
  • python convert.py preview -height 300 demo.bin to preview any byte array

Resources

Component Links
Waveshare 4.2" e-Paper Module https://www.waveshare.com/wiki/4.2inch_e-Paper_Module
https://www.waveshare.com/w/upload/2/20/4.2inch-e-paper-module-user-manual-en.pdf

weather-station-esp32-eink's People

Watchers

Sebastian Schaller 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.