Nextion + Arduino

Salve a tutti,

sto cercando di creare un piccolo touchscreen aiutandomi con Arduino.

Ho preso un monitor Nextion basic ed arduino.

Questo è il codice di Arduino. Il problema è che alla pressione del tasto sul Nextion , non viene richiamato il metodo su arduino.

#include "Nextion.h"
#include <ESP8266WiFi.h>

// Declare your Nextion objects - Example (page id = 0, component id = 1, component name = "b0") 
NexPicture p0 = NexPicture(1, 1, "p0");

// Register a button object to the touch event list.  
NexTouch *nex_listen_list[] = {
  &p0,
  NULL
};


void p0PopCallback(void *ptr)
{
    Serial.println("popupup");
    dbSerialPrintln("p0PopCallback"); 
}



void setup() {
  // put your setup code here, to run once:
  nexInit();
  p0.attachPop(p0PopCallback);
  dbSerial.begin(9600);

}

void loop() {
  // put your main code here, to run repeatedly:
  nexLoop(nex_listen_list);
  //
}

Dove sbaglio ?

Così a intuito, o il componente ha un id differente, o non è sulla pagina zero oppure nel programma del nextion non hai settato di inviare l'id del componente nel componente stesso percui la libreria non funziona correttamente.
Negli esempi c'è nel programma uguale al tuo anche la parte da caricare nel display, se metti quella dovrebbe funzionare, hai provato?

ciao, io con i diplay nextion uso la libreria "Nextion Master" la dichiaro con

#include <Nextion.h>
Nextion myNextion(nextion, 9600);
String Seriale = "";

nel begin metto:

  myNextion.init();

e poi nell loop vado a leggere se c'è qualcosa nella seriale del nextion:

Seriale = myNextion.listen();
if (Seriale == "VALORE") {
         
      }

mentre nel nextion editor alla pressione di un tasto faccio eseguire il comando

print "VALORE"

Io non uso librerie, alla fine è una comunicazione seriale terminata da tre caratteri 0xFF, preferisco gestire quel poco che c'è da gestire a mano e vivere felice :slight_smile: