NEWS
[Gelöst] Wetter Display
-
Da lag leider kein Zettel oder andere Sachen bei. Platine sonst nichts.
Ist das hier:
Ich habe das schon probiert, klappte nicht. Teste aber nochmal.
mfg
-
@kredar said in [Gelöst] Wetter Display:
In deinem Link findet sich folgendes pin out:
SPI ist was mit dem Display verbunden sein sollte.
Du musst esphome mitteilen auf welche GPIO (ESP pin) welche Funktion für SPI zu finden ist damit esphome das display ansprechen kann.
Zum Bleistift :
mosi_pin: GPIO13 clk_pin: GPIO14
usw...
-
Danke für deine Hilfe,
habe nur Probleme mit der "Zuordnung". Da die Belegung etwas anders ist als die Benennung für die GPIO in ESPHome.
cs_pin: GPIO5 dc_pin: GPIO33 busy_pin: GPIO<??> reset_pin: GPIO<??>
Also ich blicke da leider nicht ganz durch, da ist nicht ansatzweise mal Busy oder Reset in der GPIO Belegungszeichnung von Waveshare. Reset = I/O? Busy= k.a. CS und DC habe ich eher geraten bzw. abgeleitet von der GPIO Belegungszeichnung von Waveshare.
mfg
-
@kredar said in [Gelöst] Wetter Display:
Also ich blicke da leider nicht ganz durch, da ist nicht ansatzweise mal Busy oder Reset in der GPIO Belegungszeichnung von Waveshare
Wir haben ja oben schon gelesen, wie in den esphome docs zum waveshare display geschrieben, das sowohl
BUSY
wie auchRESET
optional sind. Versuch's doch einfach mal ohne -
So schaut die ESPHome Konfig aus. Läuft alles durch ohne Fehler und wird einwandfrei geflasht. Läuft auch der ESP32 der ist im WLan sichtbar.
esphome: name: ESP32 platform: ESP32 board: esp32dev # Enable logging logger: level: DEBUG # Enable Home Assistant API api: ota: password: "***********" wifi: ssid: "***********" password: "***********" # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "***********" password: "***********" font: # Fonts need to exist in config/esphome - file: "arial.ttf" id: arial size: 60 # Example configuration entry spi: clk_pin: GPIO14 mosi_pin: GPIO13 # miso_pin: GPIO5 display: - platform: waveshare_epaper id: epaper cs_pin: GPIO5 dc_pin: GPIO33 #busy_pin: GPIO02 #reset_pin: GPIO04 model: 7.50inV2 update_interval: 20s lambda: |- it.print(0, 10, id(arial), "Hello World!");
Nur erscheint nichts auf dem Display weiterhin, leider. Kann man das Display nicht mal testen ob es überhaupt funktioniert? Nicht das es defekt ist und nie gehen wird. Oder ich habe noch einen groben Fehler in meiner Konfig drinnen.
Logfile (nur Display):
[11:25:03][C][spi:082]: CLK Pin: GPIO14 (Mode: OUTPUT) [11:25:03][C][spi:084]: MOSI Pin: GPIO13 (Mode: OUTPUT) [11:25:03][C][spi:085]: Using HW SPI: YES [11:25:03][C][logger:193]: Logger: [11:25:03][C][logger:194]: Level: DEBUG [11:25:03][C][logger:195]: Log Baud Rate: 115200 [11:25:03][C][logger:196]: Hardware UART: UART0 [11:25:03][C][waveshare_epaper:1076]: Waveshare E-Paper [11:25:03][C][waveshare_epaper:1076]: Rotations: 0 ° [11:25:03][C][waveshare_epaper:1076]: Dimensions: 800px x 480px [11:25:03][C][waveshare_epaper:1077]: Model: 7.5inV2 [11:25:03][C][waveshare_epaper:1079]: DC Pin: GPIO33 (Mode: OUTPUT) [11:25:03][C][waveshare_epaper:1081]: Update Interval: 20.0s
mfg
-
@kredar das sieht ja im Prinzip alles schon mal ganz gut aus. Ich selber habe schon mit so ziemlich jedem Display "gespielt" welche esphome unterstützen, allerdings nur in der sub 10€ Klasse. Ein epaper war also (noch) nicht darunter.
In deinem Fall würde ich dir jetzt 2,5 Empfehlungen geben:
Stell dein Logging auf
verbose
, sei sehr vorsichtig mitvery_verbose
(in Verbindung mit Displays hat das bei mir mit esp8266 immer zu boot loops geführt.Erstelle vielleicht einen Template switch mit dem du das Display "aktiv" mit Inhalt füllst. Dann schön auf das (erweiterte) logging achten was passiert wenn du den switch triggerst - vielleicht findest oder siehst () du dann schon was...
Die halbe Empfehlung ist der esphome discord chat, da sollte dir (auf englisch ) geholfen werden
-
Alles klar verbose Mode teste ich. Das mit dem Bildschirm füllen sollte ja geschehen da er alle 20s "Hello World" schreiben sollte. Anders füllen, k.a. da muss ich mir was suchen.
mfg
-
Ich schneie hier mal wieder rein. Habe jetzt noch einen Rahmen gebaut und es ist fertig
-
-
@kredar Bin schon auf deine Ergebnisse gespannt. Wenn das bei dir läuft wage ich mich vielleicht auch nochmal ran
-
So neuste Log-Datei:
[16:29:27][C][spi:081]: SPI bus: [16:29:46][V][component:207]: Component waveshare_epaper.display took a long time for an operation (0.76 s). [16:29:46][V][component:208]: Components should block for at most 20-30ms. [16:30:06][V][component:207]: Component waveshare_epaper.display took a long time for an operation (0.76 s). [16:30:06][V][component:208]: Components should block for at most 20-30ms.
Da stimmt was mit der Kommunikation wohl noch nicht. Er erreicht den SPI Bus wohl nicht. Evtl. ist noch eine GPIO Einstellung falsch. Bin weiter am Testen.
spi: clk_pin: GPIO14 mosi_pin: GPIO13 display: - platform: waveshare_epaper cs_pin: GPIO05 dc_pin: GPIO17 #busy_pin: GPIO04 #reset_pin: GPIO16 model: 7.50inV2 update_interval: 20s
Das ist die momentane Konfig mit der es leider noch nicht klappt. Wobei ich bei den Display PINS (GPIO05 und GPIO17) nicht sicher bin. Gerade gesehen GPIO17 gibt es gar nicht. Der ist also definitiv falsch.
So langsam glaube ich das das Driver Board inkompatibel ist mit dem Dev. Board. Ich bekomme bald die ESP Board wo man das Display direkt anschließen kann. Ich denke ich warte besser ab und teste es dann mit den neuen Boards.
Diese hier kommen noch die Woche an:
Dann wird weiter getestet.
mfg
-
So das neue ESP32 Board ist da.
Nun stehe ich vor der nächsten Mauer, da nichts geht außer WLan auf dem neuen ESP32 Board.
Das ist das Board:
Es kam an mit dem kleinen Display Board was schon angeschlossen war an dem Flachband-Anschluss. Die PINs sind nicht belegt!
Ich habe das Display an die kleine "Zwischenplatine" angeschlossen.
Ich habe ein Bild auf dem Display. Unter Arduino habe ich das Beispiel nochmal geladen und es kommt ein Bild. Okay die Hardware geht schon mal.
Unter ESP Home habe ich auch ein Hello Word hinbekommen.
Hier meine Konfig unter ESPHome:
esphome: name: wohnzimmer platform: ESP32 board: esp32dev # Enable logging logger: level: VERBOSE # Enable Home Assistant API api: ota: password: "******" wifi: ssid: "******" password: "******" # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "******" password: "******" font: # Fonts need to exist in config/esphome - file: "arial.ttf" id: arial size: 60 # Example configuration entry spi: clk_pin: 13 mosi_pin: 14 display: - platform: waveshare_epaper cs_pin: 15 dc_pin: 27 busy_pin: 25 reset_pin: 26 model: 7.50inV2 update_interval: 120s lambda: |- it.print(0, 10, id(arial), "Hello World!");
Ok nun geht es los. Die Daten vom ioBroker nun auf das Display zu bekommen. Da muss ich mich einlesen, wenn das so schwer ist wie ein Bild auf das Display zu bekommen, dann wird es erst 2022 was. Da muss ich schauen ob ich irgendwo ein Beispiel bekomme, und wo ich nur Daten ändern/anpassen muss.
Geht schon los das Display komplett zu leeren bevor was geschrieben wird. Den Code suche ich aktuell :). Weil bisher ist das Testbild auf dem Display und das Hello World ist "drinnen", also überlagert.
mfg
-
@kredar said in [Gelöst] Wetter Display:
Unter ESP Home habe ich auch ein Hello Word hinbekommen.
Das ist doch schon mehr als die halbe Mieter, Gratulation
Ok nun geht es los. Die Daten vom ioBroker nun auf das Display zu bekommen.
Also falls bei dir immer noch ein mqtt broker (diese 20 Jahre alte Technologie..) läuft kannst du die "mqtt subscribe" omponente von esphome verwenden. Schöner ist natürlich das einfach über die native api zu machen, allerdings weis ich nicht ob das von iobroker unterstützt wird ( @Dutchman als author weis vielleicht mehr), die passenden Komponenten in esphome schimpfen sich nämlich home assistant (z.b. homeassistant text sensor)
Geht schon los das Display komplett zu leeren bevor was geschrieben wird. Den Code suche ich aktuell
Ich habe zwar nicht rein geschaut, bin mir aber ziemlich sicher das so ein code hier bereits verlinkt wurde. Also nochmal lesen, links öffnen und yamls beäugen, dann wirst du bestimmt auch fündig
-
Werde wir sehen wie ich das mache. MQTT ist möglich, aber lieber wäre mir ein moderneres API. Ob das aber meine Tasmota Steckdosen (Gosund geflasht) können ist fraglich. Der Temperatursensor draußen hängt z.b. an einem geflashten Sonoff TH16 mit Tasmota Firmware drauf.
Die müsste ich auslesen, dein API habe ich noch nicht gelesen, kenne auch nur MQTT.
Wann ich weiter zum testen komme keine Ahnung, z.z. viel zu tun :).
mfg
-
Springe jetzt auch mal auf den Zug wieder auf
Verstehe ich das also richtig das ich hier mit dem SPI "Kabelgewussel" hantieren muss? Und nicht einfach z.B. den ePaper Driver HAT auf die GPIO des Waveshare ESP32 ONE stecken kann?
Kann man das nicht Mappen, wenn das wirklich so ist? -
Ich habe den ESP32 Dev. Platine (die mit den zweifach Reihe GPIO auf der einen Seite, siehe oben) von Waveshare plus das Drive HAT Modul was man ja per GPIO verbinden kann. Nur bekommt man da kein Bild. Einen anderen ESP32 der das kann ist mir unbekannt. Jetzt ohne die SPI Platine geht das Display, allerdings auch an einen anderen ESP32 (den mit GPIO links und rechts, plus den extra Display Anschluss direkt auf dem Board, siehe oben), Damit geht es nun.
mfg
-
@kredar ok, kannst du bitte schreiben was du genau für Komponenten hast und evtl ein bild dazu? Man braucht ja die welt nicht inmer neu erfinden
Bräuchte nämlich noch ein epaper. Aber wo das hinsoll geht mit Strom gar nichts
-
@Kredar Ich habe noch das gefunden für das Waveshare ESP32 ONE.
Ist das hilfreich?
Steht auf der offiziellen Seite von Waveshare ganz weit unten:
https://www.waveshare.com/wiki/ESP32_OneIn der dort beschriebenen "DEV_Config.h" findet sich nämlich simultan das was man auch bei ESP Home eintragen muss.
Wenn ja, kannst du mal probieren ob es damit funktioniert? Also mit dem Waveshare ESP Home ONE
-
Geh mal ein paar Beiträge zurück. Da steht genau was ich für Hardware habe mit Link direkt zum bestellen bei Waveshare. Wie gesagt mit dem SPI Modul lief nichts. Das Display hat nie was angezeigt. Egal was ich gemacht habe.
Kaufe dir wenn dann den anderen ESP32 von Waveshare, da braucht man keine SPI Platine und es geht. Die Platine für ein Display plus Kabel ist da mit dabei. Plug&Play, fertig. Und ist Platzsparender dazu noch. Und würde mit Akku laufen.
Von der Hardware sollte es ja der selbe Chip sein. Also kein Nachteil, außer das diese keine GPIO hat für das SPI-Modul.
Habe es eben nochmal mit dem ESP32DEV plus SPI-Modul getestet geht nicht. Auch nicht mit deinen GPIOs. Da geht einfach nichts.....
Nun habe ich noch Arbeit vor mir. Erstmal hinbekommen das Diplay zu löschen. Da ist nämlich noch immer das Testbild drauf und mein "Hello World". Wie bekommt man das weiß? Also wenn das schon so schwer ist, wie schwer wird es sein eine Linie zu zeichnen da hin wo sie hin soll? Puh, also weniger Coden als unter Arduino ist das auch nicht gerade. Nichts Drag&Drop ;). Ist wahrscheinlich auch das selbe. nur andere Oberfläche.
mfg
-
@kredar: OK, dann werd ich diesen mal bestellen. Danke dir. Andere Frage. Wo ist denn der "Schrift" Ordner? Finde den auch nicht