Compare commits
13 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a73f171102 | |||
| 157dc0e6cf | |||
| df6428550f | |||
| f1d4a7c1bc | |||
| 485453bc7d | |||
| 661fe4dfd6 | |||
| 0207899f1b | |||
| 359a1359f5 | |||
| 62fbdf3d5a | |||
| ec02f17089 | |||
| a164c0059b | |||
| a45f60c09e | |||
| 93ad7ba411 |
17
.github/workflows/build.yml
vendored
17
.github/workflows/build.yml
vendored
@@ -81,11 +81,13 @@ jobs:
|
||||
uses: ietf-tools/semver-action@v1
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
branch: master
|
||||
patchAll: true # Always increment patch number
|
||||
branch: master # ← change to "main" if that's your default
|
||||
patchAll: true
|
||||
# fallbackTag: v0.0.1 # ← optionally bootstrap from an existing tag
|
||||
|
||||
- name: Create GitHub Release
|
||||
if: ${{ github.event.inputs.create_release != 'false' }}
|
||||
id: create_release # ← this is required
|
||||
uses: actions/create-release@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
@@ -94,21 +96,20 @@ jobs:
|
||||
release_name: Release ${{ steps.semver.outputs.next }}
|
||||
draft: false
|
||||
prerelease: false
|
||||
|
||||
|
||||
- name: Zip the build for github release
|
||||
if: ${{ github.event.inputs.create_release != 'false' }}
|
||||
run: 7z a -tzip ./out/HomeScreen_Build_"{${{ steps.semver.outputs.next }}}".zip ./out/*
|
||||
run: Compress-Archive -Path './output/*' -DestinationPath './output/HomeScreen_Build_${{ steps.semver.outputs.next }}.zip' -CompressionLevel Optimal -Force
|
||||
|
||||
- name: Upload Release Asset
|
||||
if: ${{ github.event.inputs.create_release != 'false' }}
|
||||
id: upload-release-asset
|
||||
uses: actions/upload-release-asset@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
||||
asset_path: ./out/HomeScreen_Build_"{${{ steps.semver.outputs.next }}}".zip
|
||||
asset_name: Lunaris_${{steps.semver.outputs.patch}}.zip
|
||||
upload_url: ${{ steps.create_release.outputs.upload_url }} # ← now available
|
||||
asset_path: ./output/HomeScreen_Build_${{ steps.semver.outputs.next }}.zip
|
||||
asset_name: HomeScreen_Build_${{ steps.semver.outputs.next }}.zip
|
||||
asset_content_type: application/zip
|
||||
|
||||
- name: Generate appsettings.json
|
||||
|
||||
32
README.md
32
README.md
@@ -1,16 +1,25 @@
|
||||
# This [](https://github.com/Myxelium/HomeScreen/actions/workflows/build.yml)
|
||||
Core api and Esp32 code for displaying weather data and public transport information on a e-ink display.
|
||||
[](https://github.com/myxelium/homescreen "Go to GitHub repo")
|
||||
[](https://github.com/myxelium/homescreen)
|
||||
[](https://github.com/myxelium/homescreen)
|
||||
[](https://github.com/myxelium/homescreen/releases/)
|
||||
[](https://www.gnu.org/licenses/gpl-3.0.en.html)
|
||||
[](https://github.com/myxelium/homescreen/issues)
|
||||
[](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.
|
||||
|
||||
<img width="800" height="480" alt="image" src="https://github.com/user-attachments/assets/ef5af0c6-ea3a-494d-b2af-3de6e70b3e6a" />
|
||||
|
||||
## Git Notes
|
||||
All commits has to follow this [Conventional Commits style](https://www.conventionalcommits.org/) to pass the pipeline.
|
||||
## Features 😺
|
||||
- Display current weather data
|
||||
- Display public transport information
|
||||
- Display time and date
|
||||
|
||||
## Requirements 🫥
|
||||
- ESP32 board
|
||||
- E-ink display (e.g. Waveshare 7.5 inch)
|
||||
- [ESP32 board](https://www.waveshare.com/wiki/E-Paper_ESP32_Driver_Board)
|
||||
- [E-ink display (e.g. Waveshare 7.5 inch)](https://www.waveshare.com/7.5inch-e-paper-hat.htm)
|
||||
|
||||
# Installation
|
||||
|
||||
@@ -90,7 +99,7 @@ end
|
||||
API[HomeControllerAPI]
|
||||
API -->|MediatR| Handlers
|
||||
Handlers -->|Service Calls| Services
|
||||
Services -->|Refit Clients| Clients
|
||||
Services -->|Refit Http Clients| Clients
|
||||
Clients -->|External APIs| ExtAPIs
|
||||
API -->|Returns JSON/JPEG| ESP
|
||||
end
|
||||
@@ -107,3 +116,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. See above link to find the download.
|
||||
|
||||
Reference in New Issue
Block a user