jamct / DoorsignEPD

Doorsign with E-Paper-Display with ESP32. Loading images from webserver.
GNU General Public License v3.0
100 stars 36 forks source link

Ethernet - OLIMEX ESP32-EVB #27

Closed ger82 closed 6 years ago

ger82 commented 6 years ago

Kann man das Projekt auch anpassen so das es mit Ethernet funktioniert?

jdede commented 6 years ago

Grundsätzlich schon. Jedoch unterstützt der ESP32 nur Bluetooth und WiFi. Ethernet müsste über ein entsprechendes Shield verwirklicht werden. Weiterhin müsste Basecamp angepasst werden. Technisch möglich, jedoch nichts, was man mal eben in 20 Minuten schreibt.

Hier ist ein Link für Ethernet auf dem ESP32: https://sautter.com/blog/ethernet-on-esp32-using-lan8720/

Für Ethernet würde ich ggf. auf einen RaspberryPi wechseln. Hier hat man dann eine deutlich leistungsfähigere Plattform, die Waveshare Displays werden auch hier unterstützt und mit dem entsprechenden PoE-Hat könnte man das Ganze auch via PoE mit Spannung versorgen.

ger82 commented 6 years ago

Ich habe das OLIMEX ESP32-EVB. Geht es auch ohne das Basecamp?

jdede commented 6 years ago

Klar. Dann musst du dich jedoch um die ganzen Komfortfunktionen, die dir Basecamp zur Verfügung stellt selbst kümmern. Die Bibliothek für das Display ist unabhängig und hier verfügbar: https://github.com/ZinggJM/GxEPD

ger82 commented 6 years ago

Ich glaube es hin bekommen zu haben, nur leider funktioniert die Anzeige auf dem Display nicht. Mit dem Board haben Sie nicht zufällig Erfahrung?

jdede commented 6 years ago

Ich habe keine Erfahrung mit dem Board, würde jedoch die Verkabelung prüfen: Gibt es evtl. Doppelbelegungen mit dem Display / Ethernet? Hier würde ich einen besonderen Blick auf den CS-Pin werfen und ggf. einen anderen Pin testen.

ger82 commented 6 years ago

Auch dieser Tipp war ein guter Wegweiser, ich musste die PINs teilweise umbelegen aber nun funktioniert es. Für alle die ebenfalls nach einer Lösung suchen: in der Datei ...\Arduino\hardware\espressif\esp32\variants\esp32-evb\pins_arduino.h (Das selbsterstelle Verzeichnis, was zu Beginn des Projektes aufgebaut wird) habe ich folgendes definiert static const uint8_t SS = 5; static const uint8_t MOSI = 2; static const uint8_t MISO = 15; static const uint8_t SCK = 14; Sodass nun diese GPIOs genutzt werden: Busy - 4 RST - 16 DC - 17 CS (SS) - 5 CLK (SCK) - 14 DIN (MOSI) - 3