5 Commits

Author SHA1 Message Date
c53f6a3f77 fix: readme 2025-07-20 20:01:01 +02:00
7fe92790d7 fix: add better description of what this is 2025-07-20 20:00:05 +02:00
3b9d5bc984 fix: download link 2025-07-20 19:45:21 +02:00
a73f171102 fix: minor readme fix 2025-07-20 19:39:31 +02:00
157dc0e6cf Fix: Add ESP32 Doc 2025-07-20 19:37:17 +02:00

View File

@@ -5,8 +5,18 @@
[![License](https://img.shields.io/badge/License-GPL-purple)](https://www.gnu.org/licenses/gpl-3.0.en.html)
[![issues - homescreen](https://img.shields.io/github/issues/myxelium/homescreen)](https://github.com/myxelium/homescreen/issues)
[![Build and Deploy](https://github.com/Myxelium/HomeScreen/actions/workflows/build.yml/badge.svg)](https://github.com/Myxelium/HomeScreen/actions/workflows/build.yml)
# This
Core api and [Esp32 (Microcontroller)](https://en.wikipedia.org/wiki/ESP32) code for displaying weather data and public transport information on a e-ink display.
# What why how
This is a project I created that pulls weather data from the internet, transforms it into custom images, and displays them on an e-ink screen powered by an ESP32.
## What This Project Does
I wanted a low-power way to see weather information at a glance, so I built this system that:
- Fetches real-time weather data from online APIs
- Processes and converts the data into visual images (temperature graphs, forecast icons, etc.)
- Sends these images wirelessly to an ESP32 microcontroller
- Displays the information on an energy-efficient e-ink screen
- Updates periodically while consuming minimal power
<img width="800" height="480" alt="image" src="https://github.com/user-attachments/assets/ef5af0c6-ea3a-494d-b2af-3de6e70b3e6a" />
@@ -116,3 +126,16 @@ end
ExtAPIs -.-> NominatimAPI
ExtAPIs -.-> ResRobotAPI
```
# ESP32 configuration and building
<img width="4096" height="1842" alt="image" src="https://github.com/user-attachments/assets/5acf1b3b-f9bb-48bd-b310-a2852544eaba" />
Best way of getting the ESP32 ready for code upload is to follow this guide [WAVESHARE ESP32 GUIDE](https://web.archive.org/web/20250706150325/https://www.waveshare.com/wiki/E-Paper_ESP32_Driver_Board).
Once you have it ready so you can upload code to it copy my code in: Esp32_Code/INFOSCREEN_WITH_INTERVAL from this repo.
Install following libraries (if more is needed search for them and install them too):
* ArduinoJson
* GUI_Paint
* JPEGDEC
You need the Waveshare examples installed since it uses code from them download them here [Download](https://files.waveshare.com/upload/5/50/E-Paper_ESP32_Driver_Board_Code.7z) or check above link.