ESP32 mit 7,5 Zoll epaper-Display als Anzeige

Begonnen von smmmo, 13 Mai 2018, 21:28:36

Vorheriges Thema - Nächstes Thema

bart0190

Hallo smmmo,
DANKE!!!!!!!
Es läuft!  :D 8) :D
Siehe Anhang.
Jetzt geht es an die Kosmetik.  :)

Das mit dem Drehen hat nicht funktioniert.  Ich werd mich mal mit der Auflösung und Ausrichtung im .svg spielen.

Kannst du mir sagen wie du das Datum mit Wochentag eingefügt hast (bzw. welche Dummies du im FHEM angelegt hast?

Nochmals vielen vielen Dank für deine Hilfe!

Lg
bart
Raspberry Pi 4 - FHEM, Homematic HM-CFG-LAN, ESP32 mit ePaper Display, Raspberry Pi 3 - BT Lokalisierung, PC - Squeezebox Server, Raspberry Pi 2 +HifiBerry - SB Player1, Raspberry Pi 2 +AVReceiver - SB Player2, nVidia Shield TV +AVReceiver - SB Player3, 2x Logitech Harmony Hub, echo dot Gen3

bart0190

#31
So, wie versprochen nun die Detail-Beschreibung, wie ich zu dem aktuellen Ergebnis gekommen bin.
Auch ein kleines Architekturbild (nicht ganz korrekt, aber sollte dem Verständnis helfen)

@smmmo: Vielleicht kannst du ja einen Link auf der ersten Seite zu diesem Post erstellen. :)

Meine aktuelle Vorlage habe ich auch hinzugefügt.
Hab noch eine Kleinigkeit zum besseren Verständnis im .docx eingefügt.

lg
bart
---------------------------------
edit 12.07.2019: Neue Version vom .docx. Jetzt gibt es auch Wettervorhersage und auch Wetter-Icons, die mit dem Wetter ändern. :D ;D
Auch nun ein Bild wie es aussieht.
Raspberry Pi 4 - FHEM, Homematic HM-CFG-LAN, ESP32 mit ePaper Display, Raspberry Pi 3 - BT Lokalisierung, PC - Squeezebox Server, Raspberry Pi 2 +HifiBerry - SB Player1, Raspberry Pi 2 +AVReceiver - SB Player2, nVidia Shield TV +AVReceiver - SB Player3, 2x Logitech Harmony Hub, echo dot Gen3

smmmo

Zitat von: bart0190 am 30 Juni 2019, 09:26:20
So, wie versprochen nun die Detail-Beschreibung, wie ich zu dem aktuellen Ergebnis gekommen bin.
Auch ein kleines Architekturbild (nicht ganz korrekt, aber sollte dem Verständnis helfen)

@smmmo: Vielleicht kannst du ja einen Link auf der ersten Seite zu diesem Post erstellen. :)

Meine aktuelle Vorlage habe ich auch hinzugefügt.
Hab noch eine Kleinigkeit zum besseren Verständnis im .docx eingefügt.

lg
bart

Sehr schön, danke für die Anleitung!
Noch schöner wäre es natürlich, wenn du das Ganze ins Wiki packst. Dann können auch andere dort Ergänzungen/Korrekturen/Verbesserungen vornehmen.

Grüße
smmmo

bart0190

Zitat von: smmmo am 30 Juni 2019, 19:51:06
Sehr schön, danke für die Anleitung!
Noch schöner wäre es natürlich, wenn du das Ganze ins Wiki packst. Dann können auch andere dort Ergänzungen/Korrekturen/Verbesserungen vornehmen.

Grüße
smmmo
Ja, das habe ich vor, jedoch dauert das etwas länger und bis dort hin kann man schon das .docx verwenden. :)

@smmmo: Übrigens habe ich überhaupt kein Problem mit einer Unschärfe. Weder mit Bildauflösung unterschiedlich noch gleich wie das Display. Ich rechne da aber auch nicht mehr extra um. Am besten fahre ich nun mit der gleichen Auflösung wie das Display hat.
Ich verwende Inkscape 0.92 mit einer Bildauflösung von 640x384px.

lg
bart
Raspberry Pi 4 - FHEM, Homematic HM-CFG-LAN, ESP32 mit ePaper Display, Raspberry Pi 3 - BT Lokalisierung, PC - Squeezebox Server, Raspberry Pi 2 +HifiBerry - SB Player1, Raspberry Pi 2 +AVReceiver - SB Player2, nVidia Shield TV +AVReceiver - SB Player3, 2x Logitech Harmony Hub, echo dot Gen3

perezma

#34
Hallo, ich klinke mich hier mal ein. Bin aber bei Arduino absoluter Anfänger. Habe mir das Wordokument heruntergeladen und versucht alles nach Anleitung zu machen. Leider bekomme ich im Arduino IDE eine lange Fehlermeldung. Vielleicht könnt Ihr mir ja hier weiterhelfen.

Schon jetzt ein riesen Dankeschön für Euer Verständnis.

Hier die Fehlermedlungen aus dem IDE:
Arduino: 1.8.9 (Windows 10), Board: "ESP32 Dev Module, Disabled, Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS), 240MHz (WiFi/BT), QIO, 80MHz, 4MB (32Mb), 921600, None"

In file included from C:\Program Files (x86)\Arduino\libraries\Basecamp/WebServer.hpp:16:0,

                 from C:\Program Files (x86)\Arduino\libraries\Basecamp/Basecamp.hpp:23,

                 from C:\Users\Maik\Downloads\DoorsignEPD-master\esp32\doorsignEPD\doorsignEPD.ino:5:

C:\Program Files (x86)\Arduino\libraries\ESPAsyncWebServer-master\src/AsyncJson.h:86:5: error: 'DynamicJsonDocument' does not name a type

     DynamicJsonDocument _jsonBuffer;

     ^

C:\Program Files (x86)\Arduino\libraries\ESPAsyncWebServer-master\src/AsyncJson.h: In constructor 'AsyncJsonResponse::AsyncJsonResponse(size_t, bool)':

C:\Program Files (x86)\Arduino\libraries\ESPAsyncWebServer-master\src/AsyncJson.h:104:100: error: class 'AsyncJsonResponse' does not have any field named '_jsonBuffer'

     AsyncJsonResponse(size_t maxJsonBufferSize = DYNAMIC_JSON_DOCUMENT_SIZE, bool isArray=false) : _jsonBuffer(maxJsonBufferSize), _isValid{false} {

                                                                                                    ^

In file included from C:\Program Files (x86)\Arduino\libraries\Basecamp/WebServer.hpp:16:0,

                 from C:\Program Files (x86)\Arduino\libraries\Basecamp/Basecamp.hpp:23,

                 from C:\Users\Maik\Downloads\DoorsignEPD-master\esp32\doorsignEPD\doorsignEPD.ino:5:

C:\Program Files (x86)\Arduino\libraries\ESPAsyncWebServer-master\src/AsyncJson.h:108:17: error: '_jsonBuffer' was not declared in this scope

         _root = _jsonBuffer.createNestedArray();

                 ^

C:\Program Files (x86)\Arduino\libraries\ESPAsyncWebServer-master\src/AsyncJson.h:110:17: error: '_jsonBuffer' was not declared in this scope

         _root = _jsonBuffer.createNestedObject();

                 ^

C:\Program Files (x86)\Arduino\libraries\ESPAsyncWebServer-master\src/AsyncJson.h: In member function 'size_t AsyncJsonResponse::setLength()':

C:\Program Files (x86)\Arduino\libraries\ESPAsyncWebServer-master\src/AsyncJson.h:122:41: error: 'measureJson' was not declared in this scope

       _contentLength = measureJson(_root);

                                         ^

C:\Program Files (x86)\Arduino\libraries\ESPAsyncWebServer-master\src/AsyncJson.h: In member function 'size_t AsyncJsonResponse::getSize()':

C:\Program Files (x86)\Arduino\libraries\ESPAsyncWebServer-master\src/AsyncJson.h:129:30: error: '_jsonBuffer' was not declared in this scope

    size_t getSize() { return _jsonBuffer.size(); }

                              ^

C:\Program Files (x86)\Arduino\libraries\ESPAsyncWebServer-master\src/AsyncJson.h: In member function 'virtual size_t AsyncJsonResponse::_fillBuffer(uint8_t*, size_t)':

C:\Program Files (x86)\Arduino\libraries\ESPAsyncWebServer-master\src/AsyncJson.h:137:32: error: 'serializeJson' was not declared in this scope

       serializeJson(_root, dest);

                                ^

C:\Program Files (x86)\Arduino\libraries\ESPAsyncWebServer-master\src/AsyncJson.h: In member function 'virtual void AsyncCallbackJsonWebHandler::handleRequest(AsyncWebServerRequest*)':

C:\Program Files (x86)\Arduino\libraries\ESPAsyncWebServer-master\src/AsyncJson.h:212:9: error: 'DynamicJsonDocument' was not declared in this scope

         DynamicJsonDocument jsonBuffer(this->maxJsonBufferSize);

         ^

C:\Program Files (x86)\Arduino\libraries\ESPAsyncWebServer-master\src/AsyncJson.h:213:9: error: 'DeserializationError' was not declared in this scope

         DeserializationError error = deserializeJson(jsonBuffer, (uint8_t*)(request->_tempObject));

         ^

C:\Program Files (x86)\Arduino\libraries\ESPAsyncWebServer-master\src/AsyncJson.h:214:13: error: 'error' was not declared in this scope

         if(!error) {

             ^

C:\Program Files (x86)\Arduino\libraries\ESPAsyncWebServer-master\src/AsyncJson.h:215:30: error: 'jsonBuffer' was not declared in this scope

           JsonVariant json = jsonBuffer.as<JsonVariant>();

                              ^

C:\Program Files (x86)\Arduino\libraries\ESPAsyncWebServer-master\src/AsyncJson.h:215:55: error: expected primary-expression before '>' token

           JsonVariant json = jsonBuffer.as<JsonVariant>();

                                                       ^

C:\Program Files (x86)\Arduino\libraries\ESPAsyncWebServer-master\src/AsyncJson.h:215:57: error: expected primary-expression before ')' token

           JsonVariant json = jsonBuffer.as<JsonVariant>();

                                                         ^

Mehrere Bibliotheken wurden für "WiFi.h" gefunden
Benutzt: C:\Users\Maik\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.2\libraries\WiFi
Nicht benutzt: C:\Program Files (x86)\Arduino\libraries\WiFi
Mehrere Bibliotheken wurden für "GxEPD.h" gefunden
Benutzt: C:\Program Files (x86)\Arduino\libraries\GxEPD
Nicht benutzt: C:\Program Files (x86)\Arduino\libraries\GxEPD-master
exit status 1
Fehler beim Kompilieren für das Board ESP32 Dev Module.

Dieser Bericht wäre detaillierter, wenn die Option
"Ausführliche Ausgabe während der Kompilierung"
in Datei -> Voreinstellungen aktiviert wäre.

PeMue

Hallo,

bitte pack die Liste mit den Fehlermeldungen in code tags damit Dein Beitrag besser lesbar ist.

Gruß Peter
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

perezma

Zitat von: PeMue am 10 Juli 2019, 15:08:35
Hallo,

bitte pack die Liste mit den Fehlermeldungen in code tags damit Dein Beitrag besser lesbar ist.

Gruß Peter

Hatte ich, aber irgendwie hat der Editor es verschluckt...

bart0190

Hi perezma,
Bin auch kein Experte in Arduino, jedoch kann es leicht sein, dass bei der Installation von Arduino bzw. (besser gesagt) der Libraries etwas schief gegangen ist.
Probier mal das leere Beispiel zu kompilieren. Wenn das klappt, dann nimm dir das nächste (einfache) Beispiel und lade es runter. Wenn beide schon nicht klappen, einfach das Arduino deinstallieren.
Ich selber hab Arduino in einem Verzeichnis ohne Sonderzeichen installiert, sollte eigentlich nichts machen, aber naja... :)
Dann ist die Installation der Libraries wichtig, dass das korrekt gemacht wird. Ich habe immer das zip entpackt und in den Library Folder kopiert.

lg
bart
Raspberry Pi 4 - FHEM, Homematic HM-CFG-LAN, ESP32 mit ePaper Display, Raspberry Pi 3 - BT Lokalisierung, PC - Squeezebox Server, Raspberry Pi 2 +HifiBerry - SB Player1, Raspberry Pi 2 +AVReceiver - SB Player2, nVidia Shield TV +AVReceiver - SB Player3, 2x Logitech Harmony Hub, echo dot Gen3

bart0190

Hi,
Hab noch mal aktualisiert. Mit Wetter-Vorschau und Wetter-Icons. Bild davon auch hier:
https://forum.fhem.de/index.php/topic,87778.msg953828.html#msg953828

Wiki kommt dann sobald ich etwas mehr Zeit habe. :)

lg
bart
Raspberry Pi 4 - FHEM, Homematic HM-CFG-LAN, ESP32 mit ePaper Display, Raspberry Pi 3 - BT Lokalisierung, PC - Squeezebox Server, Raspberry Pi 2 +HifiBerry - SB Player1, Raspberry Pi 2 +AVReceiver - SB Player2, nVidia Shield TV +AVReceiver - SB Player3, 2x Logitech Harmony Hub, echo dot Gen3

perezma

Hallo bart0190,

ich habe es vorhin noch einmal auf meinem Laptop probiert (Windows 7). Arduino IDE neu installiert und dann das Worddokument abgearbeitet. Hat geklappt. Liegt dann anscheinend echt an der Installation auf dem anderen Rechner.

Trotzdem Danke.

DavidR

Hallo Zusammen,

erst einmal vielen Dank für die sehr gute Anleitung. So konnte auch ich als Arduino-Beginner mir so ein schönes Display für meine Wohnung bauen :)
Es läuft alles (Bild wird generiert, übertragen und auch angezeigt) aber ich kämpfe noch mit dem andauernden Refresh des Displays...
Konfiguration habe ich exakt so gemacht wie im Word bart und auch im Web-Interface den Production Mode auf true und sleep time auf 600s gesetzt. Funktioniert nur eben nicht.
Gibt es eventuell ein kleiner Hinweis, wie ich die Refreshrate sinnvoll einstellen kann? Ich hab gesehen, dass in dem DoorsignEPD programm auch eine Möglichkeit für die Übergabe der Variablen per Addresse gibt - hat das zusällig schon einmal jemand ausprobiert und könnte mir da Tipps geben?

Vielen Dank im Voraus!
David

bart0190

Funktioniert der Refresh mit (z.B. 120) im Entwicklungsmodus? Ich kann mich nicht erinnern, dass ich da noch etwas zusätzlich eingestellt hätte.
Flasht das Display oder bleibt es einfach an mit den alten Werten? Leuchten die LEDs am ESP32?

Lg
bart
Raspberry Pi 4 - FHEM, Homematic HM-CFG-LAN, ESP32 mit ePaper Display, Raspberry Pi 3 - BT Lokalisierung, PC - Squeezebox Server, Raspberry Pi 2 +HifiBerry - SB Player1, Raspberry Pi 2 +AVReceiver - SB Player2, nVidia Shield TV +AVReceiver - SB Player3, 2x Logitech Harmony Hub, echo dot Gen3

DavidR

Guten Morgen,

der Refresh funktioniert schon wie er soll - in FHEM kann man ja die png Generierung auch manuell anstoßen.. Ich hab einen Zeitstempel auf dem Bild, ähnlich deinem Beispiel, da ich es auch sinnvoll finde die Info dabei zu haben. Er läd dann auch immer das aktuelle Bild. Insofern funktionert ja alles "wie es soll" - er ignoriert nur die Einstellung für den Sleep-Modus.

Auch ein Test mit Einstellung der Sleeptime auf 60 und Production Mode false im Web-Interface hat nicht geholfen - er refresht fleißig vor sich hin.

VG
David

bart0190

Im Dev Mode macht er bei mir auch kein Sleep. Beim ersten Mal hatte es bei mir auch nicht gleich geklappt. Da hatte ich dann aber einfach alles nochmal resetet, dann nochmal mit Arduino den ESP programmiert, in der Oberfläche alles gesetzt und (gleich) auf Production Mode true.
Was es da genau hatte, oder ob ich einfach nur in den Prozessschritten was falsch gemacht hatte, weiß ich nicht.
Lg
bart
Raspberry Pi 4 - FHEM, Homematic HM-CFG-LAN, ESP32 mit ePaper Display, Raspberry Pi 3 - BT Lokalisierung, PC - Squeezebox Server, Raspberry Pi 2 +HifiBerry - SB Player1, Raspberry Pi 2 +AVReceiver - SB Player2, nVidia Shield TV +AVReceiver - SB Player3, 2x Logitech Harmony Hub, echo dot Gen3

DavidR

#44
Danke für die schnelle Reaktion.. ich hab mal den Serial Monitor Auszug (kannte ich bis dato noch gar nicht..) angehangen, dort sagt er, dass er nicht in den Deep Sleep geht weil noch eine Verbindung besteht. Sprich er bricht die Verbindung zum Server nicht "sauber" ab.
Hat dazu evtl jemand noch einen Tipp?
Rebooting...
ets Jun  8 2016 00:22:57

rst:0xc (SW_CPU_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:928
ho 0 tail 12 room 4
load:0x40078000,len:8424
ho 0 tail 12 room 4
load:0x40080400,len:5868
entry 0x4008069c

Basecamp V.0.1.6
MAC-Address: XXXXXXXX, Hardware MAC: XXXXXXXX
*******************************************
* ACCESS POINT PASSWORD: ,.2UUNFM
*******************************************

.
.
.
.
.
.
.
Wait till the client is connected
Not going to deep sleep. Reason: Connection setup in progres
OnConnect

OnData: 1436 Bytes
HTTP/1.1 200 OK
Server: nginx/1.10.3
Date: Sun, 15 Sep 2019 08:29:50 GMT
Content-Type: text/html; charset=UTF-8
Content-Length: 30720
Connection: close
ProductionMode: 1
Printing 1276 Bytes to the screen
OnData: 1436 Bytes
Printing 1436 Bytes to the screen
OnData: 1436 Bytes
Printing 1436 Bytes to the screen
OnData: 1436 Bytes
Printing 1436 Bytes to the screen
OnData: 1436 Bytes
Printing 1436 Bytes to the screen
OnData: 1436 Bytes
Printing 1436 Bytes to the screen
OnData: 1436 Bytes
Printing 1436 Bytes to the screen
OnData: 1436 Bytes
Printing 1436 Bytes to the screen
OnData: 1436 Bytes
Printing 1436 Bytes to the screen
OnData: 1436 Bytes
Printing 1436 Bytes to the screen
OnData: 1436 Bytes
Printing 1436 Bytes to the screen
OnData: 1436 Bytes
Printing 1436 Bytes to the screen
OnData: 1436 Bytes
Printing 1436 Bytes to the screen
OnData: 1436 Bytes
Printing 1436 Bytes to the screen
OnData: 1436 Bytes
Printing 1436 Bytes to the screen
OnData: 1436 Bytes
Printing 1436 Bytes to the screen
OnData: 1436 Bytes
Printing 1436 Bytes to the screen
OnData: 1436 Bytes
Printing 1436 Bytes to the screen
OnData: 1436 Bytes
Printing 1436 Bytes to the screen
OnData: 1436 Bytes
Printing 1436 Bytes to the screen
OnData: 1436 Bytes
Printing 1436 Bytes to the screen
OnData: 724 Bytes
Printing 724 Bytes to the screen
OnDisconnect
Not going to deep sleep. Reason: Ongoing connection
Not going to deep sleep. Reason: Ongoing connection
E (10396) task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time:
E (10396) task_wdt:  - async_tcp (CPU 0/1)
E (10396) task_wdt: Tasks currently running:
E (10396) task_wdt: CPU 0: IDLE0
E (10396) task_wdt: CPU 1: IDLE1
E (10396) task_wdt: Aborting.
abort() was called at PC 0x400fc578 on core 0

Backtrace: 0x4008ccb4:0x3ffbe160 0x4008cee5:0x3ffbe180 0x400fc578:0x3ffbe1a0 0x40081869:0x3ffbe1c0 0x401863db:0x3ffbc4a0 0x400fa4e2:0x3ffbc4c0 0x4008ab51:0x3ffbc4e0 0x40088c51:0x3ffbc500