You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Thomas Ballmann 8a37073204 #54 fixed some todos 3 years ago
app #54 add possibility to check if the basic setup is finished 3 years ago
assets weekday bugfix #20 4 years ago
data #54 fixed some todos 3 years ago
include refactore to separate modules 4 years ago
lib #54 fixed some todos 3 years ago
src #54 code clean up for release 3 years ago
test Initial commit 4 years ago
.editorconfig editorconfig - use spaces for vue files 3 years ago
.gitignore update git ignore 4 years ago
.travis.yml Initial commit 4 years ago
README.md #54 readme command fixed 3 years ago
git_rev_macro.py #40 make firmware data accessible - missing file 4 years ago
partitions_pd.csv code clean up and small improvements 4 years ago
platformio.ini fix deps and platform config 3 years ago

README.md

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