[ESPHome] Verbinding tussen Nextion display en Wemos D1 Mini

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • JBS
  • Registratie: Januari 2004
  • Niet online
Wellicht hier ook ESPHome gebruikers?
Ik heb een Nextion NX3224T024 verbonden met een Wemos D1 Mini. RX naar D4, TX naar D7. Via een SD kaartje een TFT image op de Nextion geinstalleerd (zowel een volledig lege als eentje uit het HASwitchPlate project) Mijn ESPHome configuratie:
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
uart:
  rx_pin: D4
  tx_pin: D7
  baud_rate: 9600

binary_sensor:
  - platform: nextion
    page_id: 0
    component_id: 2
    name: "Nextion Component 2 Touch"

display:
  - platform: nextion
    id: display
    lambda: |-
      it.set_component_text("t0", "hello");
Krijg echter de meldingen:

[20:26:20][E][uart:213]: Reading from UART timed out at byte 0!
[20:26:20][W][display.nextion:039]: Nextion returned no ACK data!
[20:26:25][E][uart:213]: Reading from UART timed out at byte 0!
[20:26:25][W][display.nextion:039]: Nextion returned no ACK data!

Hiervoor gebruikte ik het HASwitchPlate project waarbij de communicatie tussen de Wemos en het Nextion scherm wel functioneerde.
Iemand zo een suggestie wat ik het over het hoofd zou kunnen zien?

Alle reacties


Acties:
  • 0 Henk 'm!

  • Lennyz
  • Registratie: Januari 2010
  • Laatst online: 29-08 20:08
Je hebt het zoals ik het lees als volgt geconfigureerd:

De RX pin op de Wemos = D4
De TX pin op de Wemos = D7

Dan moet de TX pin van de Nextion verbonden worden met de RX (D4) van de Wemos, en de RX pin van de Nextion verbonden worden met de TX (D7) van de Wemos.

Heb je de ground ook verbonden met elkaar?

Acties:
  • 0 Henk 'm!

  • JBS
  • Registratie: Januari 2004
  • Niet online
@Lennyz Heb het nu zo aangesloten, maar helaas blijven de foutmeldingen.

Afbeeldingslocatie: https://i.imgur.com/OPq436N.png

Afbeeldingslocatie: https://i.imgur.com/XRqdZ3Q.png

Wanneer ik dit deel onder lambda uit de YAML haal, krijg ik de foutmeldingen niet.
YAML:
1
      it.set_component_text("t0", "hello");

Wanneer ik iets als een lijntje probeer te tonen (om uit te sluiten dat het mis gaat door het tonen van tekst) waarbij ik het voorbeeld uit de documentatie gebruik, krijg ik een andere foutmelding.
src/main.cpp: In lambda function:
src/main.cpp:34:27: error: no matching function for call to 'esphome::display::Nextion::line(int, int, int, int)'
it.line(0, 0, 50, 50);
^
src/main.cpp:34:27: note: candidate is:
In file included from /data/touchscreen/.piolibdeps/esphome-core/src/esphome/application.h:48:0,
from /data/touchscreen/.piolibdeps/esphome-core/src/esphome.h:1,
from src/main.cpp:3:
/data/touchscreen/.piolibdeps/esphome-core/src/esphome/display/nextion.h:150:8: note: void esphome::display::Nextion::line(int, int, int, int, const char*)
void line(int x1, int y1, int x2, int y2, const char *color);
^
/data/touchscreen/.piolibdeps/esphome-core/src/esphome/display/nextion.h:150:8: note: candidate expects 5 arguments, 4 provided
*** [/data/touchscreen/.pioenvs/touchscreen/src/main.cpp.o] Error 1
Ik vraag me nu echter af of ik dat lambda systeem kan gebruiken in combinatie met het Nextion schermpje als ik dit lees op https://esphome.io/compon...ex.html#display-component
The display component houses ESPHome’s powerful rendering and display engine. Fundamentally, there are these types of displays:
  • Text based displays like 7-Segment displays or some LCD displays.
  • Displays like the Nextion TFT LCD Display that have their own processors for rendering.
  • Binary displays which can toggle ON/OFF any pixel, like E-Paper displays or OLED displays.
For the last type, ESPHome has a powerful rendering engine that can do many things like draw some basic shapes, print text with any font you want, or even show images.
Op https://esphome.io/components/display/nextion.html wordt echter wel verder gegaan op het lamba verhaal wanneer het specifiek over de Nextion gaat. Ook dat specifieke voorbeeld geeft foutmeldingen:
[18:00:39][W][display.nextion:041]: Waiting for ACK timed out!
[18:00:39][W][display.nextion:088]: Sending command 'gauge.val=50' failed because no ACK was received
[18:00:39][W][display.nextion:041]: Waiting for ACK timed out!
[18:00:39][W][display.nextion:088]: Sending command 'textview.txt="Hello World!"' failed because no ACK was received
Afbeeldingslocatie: https://tweakers.net/ext/f/7LwTmSPOhfdP9ag89Gw4fHNK/full.png

Ook even geprobeerd met een andere Wemos, maar helaas :'(

[ Voor 218% gewijzigd door JBS op 30-04-2019 18:25 ]


Acties:
  • 0 Henk 'm!

  • Lennyz
  • Registratie: Januari 2010
  • Laatst online: 29-08 20:08
Vervang:

- D4 eens door GPIO2
- D7 eens door GPIO13

Het is sowieso beter om jezelf aan te wennen om de GPIO nummering te gebruiken. De D nummering verschilt per type board. Dat scheelt veel fouten als je consequent de GPIO nummering gebruikt.

Als je perse die D nummering wilt gebruiken moet je wel het juiste board definen in de settings.

https://esphome.io/guides...ion-types.html#config-pin
https://esphome.io/components/esphome.html


Oh wacht in je screenshot staat het wel correct.

[ Voor 93% gewijzigd door Lennyz op 30-04-2019 18:53 ]


Acties:
  • 0 Henk 'm!

  • Ierlandfan
  • Registratie: Augustus 2002
  • Laatst online: 08-09 08:10
Het lijkt erop alsof de communicatie van de Nextion naar de ESP niet lekker gaat.

In het voorbeeld van de documentatie (Mogelijk verouderd) mist een parameter. (COLOR_ON)
it.line(0, 0, 50, 50, COLOR_ON); zou moeten werken

Ik verwacht niet dat het daardoor werkt maar dit was meer voor de volledigheid.

Ik zie dat je UART0 gebruikt voor de logging, wellicht moet jeen (Optionele) UART, ID ingeven zodat de ESP weet weke hij moet gebruiken voor de Nextion?

Acties:
  • 0 Henk 'm!

  • Lennyz
  • Registratie: Januari 2010
  • Laatst online: 29-08 20:08
Probeer eens andere pins bijvoorbeeld GPIO14 (D5) en GPIO12(D6).

Acties:
  • 0 Henk 'm!

  • Ierlandfan
  • Registratie: Augustus 2002
  • Laatst online: 08-09 08:10
When choosing GPIO pins to use, it’s best to avoid GPIO 0, 2 and 15 unless absolutely necessary.....

https://zoetrope.io/tech-...s-and-gpio-state-startup/

Acties:
  • 0 Henk 'm!

  • JBS
  • Registratie: Januari 2004
  • Niet online
Ierlandfan schreef op dinsdag 30 april 2019 @ 19:05:
Het lijkt erop alsof de communicatie van de Nextion naar de ESP niet lekker gaat.

In het voorbeeld van de documentatie (Mogelijk verouderd) mist een parameter. (COLOR_ON)
it.line(0, 0, 50, 50, COLOR_ON); zou moeten werken

Ik verwacht niet dat het daardoor werkt maar dit was meer voor de volledigheid.
Dat geeft ook een error, namelijk:
src/main.cpp: In lambda function:
src/main.cpp:34:37: error: invalid conversion from 'uint8_t {aka unsigned char}' to 'const char*' [-fpermissive]
it.line(0, 0, 50, 50, COLOR_ON);
^
In file included from /data/touchscreen/.piolibdeps/esphome-core/src/esphome/application.h:48:0,
from /data/touchscreen/.piolibdeps/esphome-core/src/esphome.h:1,
from src/main.cpp:3:
/data/touchscreen/.piolibdeps/esphome-core/src/esphome/display/nextion.h:150:8: error: initializing argument 5 of 'void esphome::display::Nextion::line(int, int, int, int, const char*)' [-fpermissive]
void line(int x1, int y1, int x2, int y2, const char *color);
^
*** [/data/touchscreen/.pioenvs/touchscreen/src/main.cpp.o] Error 1
Ierlandfan schreef op dinsdag 30 april 2019 @ 19:05:
Ik zie dat je UART0 gebruikt voor de logging, wellicht moet jeen (Optionele) UART, ID ingeven zodat de ESP weet weke hij moet gebruiken voor de Nextion?
'logger:' heb ik even verwijderd, dat lijkt niet zomaar te mogen want dit resulteert in: ERROR Logger is not configured!
Hoe zou ik kunnen achterhalen welke UART te gebruiken om te voorkomen dat logging de communicatie met de Nextion verhindert?
Lennyz schreef op dinsdag 30 april 2019 @ 19:10:
Probeer eens andere pins bijvoorbeeld GPIO14 (D5) en GPIO12(D6).
Toen ik het probeerde met een andere Wemos D1 Mini heb ik andere pins gebruikt (omdat die gesoldeerd waren), helaas ook zonder resultaat.

Acties:
  • 0 Henk 'm!

  • JBS
  • Registratie: Januari 2004
  • Niet online
Heb een TFT van het HASwitchPlate (https://github.com/aderus...ntation/02_Nextion_HMI.md / https://github.com/aderus...e/tree/master/Nextion_HMI) project op de Nextion gezet waardoor ik een aantal 'gebieden' op het scherm heb. Druk ik op één van deze gebieden, dan zie ik in de log van ESPHome:
[14:07:11][W][display.nextion:149]: Received unknown filler end bytes from Nextion!
Ergens lijkt er dus wel een verbinding te zijn?

Acties:
  • 0 Henk 'm!

  • JBS
  • Registratie: Januari 2004
  • Niet online
Voor de geïnteresseerde: Heb op Github een issue aangemaakt, daar is wat voortgang: https://github.com/esphome/issues/issues/282

Acties:
  • 0 Henk 'm!

  • Sepio
  • Registratie: Oktober 2007
  • Laatst online: 05:42
Je voedt de Nextion nu vanuit Wemos. Ik heb altijd begrepen dat je de Nextion apart moet voeden. De hoeveelheid stroom is meer dan de Wemos/Arduino via zijn 5V pin kan leveren.

Dus je zou eens kunnen proberen of een losse voeding van het display waarbij er wel een ground lijn zit tussen de Wemos, het display en de losse voeding.

Acties:
  • 0 Henk 'm!

  • JBS
  • Registratie: Januari 2004
  • Niet online
@Sepio Dank voor je suggestie. Voeden via de Wemos gaat prima, in ieder geval met het HA SwitchPlate project.

Afbeeldingslocatie: https://i.imgur.com/fYbNgXV.png

Acties:
  • 0 Henk 'm!

  • Jovink538
  • Registratie: Juli 2003
  • Laatst online: 15:13
Ik weet dat het een oud topic is maar voor mij heel actueel. Ik heb net nextion schermpje besteld.
Waar heb je de case vandaan? Ziet er erg netjes uit.

Acties:
  • +1 Henk 'm!

  • JBS
  • Registratie: Januari 2004
  • Niet online
Jovink538 schreef op donderdag 21 mei 2020 @ 20:40:
Ik weet dat het een oud topic is maar voor mij heel actueel. Ik heb net nextion schermpje besteld.
Waar heb je de case vandaan? Ziet er erg netjes uit.
Zelf geprint op basis van het desktop ontwerp uit https://github.com/aderus...aster/3D_Printable_Models

Hier een foto van de volledige https://community.home-as...ch-replacement/25464/1136

[ Voor 15% gewijzigd door JBS op 21-05-2020 20:46 ]


Acties:
  • 0 Henk 'm!

  • Jovink538
  • Registratie: Juli 2003
  • Laatst online: 15:13
Bedankt voor je snelle reactie, helaas ben ik zelf niet in het bezit van een 3D printer.
Ik ga op zoek naar iemand die hem kan printen. Bedankt.
Pagina: 1