Go to file
2021-01-08 20:44:43 +01:00
app #54 add possibility to check if the basic setup is finished 2021-01-08 20:44:43 +01:00
assets weekday bugfix #20 2020-03-11 21:19:08 +01:00
data calendar face - initial picture replaced 2020-05-02 22:30:57 +02:00
include refactore to separate modules 2020-09-30 20:08:11 +02:00
lib #54 add possibility to check if the basic setup is finished 2021-01-08 20:44:43 +01:00
src #54 code clean up for release 2020-12-24 12:22:54 +01:00
test Initial commit 2020-02-10 12:24:04 +01:00
.editorconfig editorconfig - use spaces for vue files 2020-11-17 22:46:07 +01:00
.gitignore update git ignore 2020-10-01 21:29:14 +02:00
.travis.yml Initial commit 2020-02-10 12:24:04 +01:00
git_rev_macro.py #40 make firmware data accessible - missing file 2020-11-01 16:20:51 +01:00
partitions_pd.csv code clean up and small improvements 2020-05-20 12:52:07 +02:00
platformio.ini fix deps and platform config 2020-12-27 16:29:10 +01:00
README.md #54 readme command fixed 2021-01-08 20:43:49 +01:00

hello world beispiel für neue face

out of the box device

usable for everyone and not only developer

Introduction

TODO, up to 3 images (2x device, 1x web app)

Features

TODO ......

Firmware

  • OTA update
  • REST API
  • JPEG decoder (some limitations)
  • PNG decoder (work in progress)
  • Out-of-the-box slideshow with
    • Current weather condition and forecast (https://openweathermap.org/ api key requried)
    • Calendar view with random picture
    • Today view with fullscreen random picture
  • Wifi STA fallback if connection failed

Web APP

  • ESP-32 optimized vue.js Web APP
  • Material Design Framework
  • First run setup wizard
  • Screen preview of epd
  • Basic PWA possibility

Getting started

Necessary parts to build the project

  • ESP-32 microprocessor
    • Amazon affiliate link DE, US, UK, SP
  • TODO 640x384, 7.5inch E-Ink display. Black and white ONLY. (GDEW075T8 7.5" b/w)
    • Amazon affiliate link DE
  • 3D printed case

ESP-32 firmware

The whole architecture was inspired from the arduino concept with a setup() and loop() function. This is the reason why everything is broken down into separate modules below /lib. Each module has basically a setupXXX() and loopXXX() method.

Build (with PlatformIO)

$ pio run --environment esp32

// update esp
$ platformio run --target upload

Web APP

Based on state of the art technologie Vue.js + Vuetify + Webpack

Build

$ yarn --cwd app
$ yarn --cwd app build
$ platformio run --target buildfs

// update esp
$ platformio run --target uploadfs

API examples

Post a image to display

$ curl -F '=@demo.jpg;filename=dithering' http://paperdash-epd/api/device/screen

Access root filesystem

http://paperdash-epd/fs/calendarPhoto.png

Similar projects

During my research, I have found exciting projects that are very similar to this one.


compile and upload new firmware

platformio run --target upload

app development

# build new dist files
yarn --cwd app build

# upload to device filesystem
platformio run --target uploadfs

# send a picture to display over json
curl -F '=@test3.png;filename=dithering' http://paperdash-epd/api/device/screen
curl -F 'filename=@test1.jpg' http://paperdash-epd/api/device/screen

# get current picture as bmp
curl http://paperdash-epd/api/device/screen --output current.bmp

# erase flash memory
pio run --target erase

access fs over http

get photos from calendar face http://paperdash-epd/fs/calendarPhoto.png

swagger documentation

https://app.swaggerhub.com/apis-docs/paperdash.io/paperdash-epd/0.1