-
hoalbe
-
Autor del tema
-
Fuera de línea
-
Navegador Iniciado
-
-
Mensajes: 6
-
Gracias recibidas: 0
-
-
|
Hola,
Tengo problemas al intentar comunicarme con la HMI Nextion Intelligent.
Me gustaría que pudiera recibir ayuda de alguno de vosotros.
Os dejo mi link de GitHub, donde explico y dejo mis códigos tanto en Arduino como en Nextion Editor.
github.com/hoalbe/Termostato-Arduino.git
Gracias de antemano.
|
Por favor, Identificarse o Crear cuenta para unirse a la conversación.
|
-
Jose Luis
-
-
Fuera de línea
-
Navegador Platino
-
-
Mensajes: 1148
-
Gracias recibidas: 230
-
-
|
En primer lugar no entiendo el motivo por el que estas usando las librerias de nextion y luego mandas "a mano" el valor de t0.txt. Si usas librerias usalas para todo o acabaras liandolo todo.
En segundo lugar, lo que trataria de determinar es si el problema es de conexionado o por contra, la comunicacion es correcta y el problema es el codigo.
Viendo el codigo que usas, tambien has modificado las librerias de arduino, osea, que este codigo nadie lo podra probar, por que no le va funcionar al carecer de esa libreria.
Yo si fuera tu, tambien indicaria que arduino usas, como lo conectas, etc.
No has comentado nada de lo que te pasa.
El siguiente usuario dijo gracias: hoalbe
|
Por favor, Identificarse o Crear cuenta para unirse a la conversación.
|
-
hoalbe
-
Autor del tema
-
Fuera de línea
-
Navegador Iniciado
-
-
Mensajes: 6
-
Gracias recibidas: 0
-
-
|
Hola José Luis,
Gracias por tu pronta respuesta.
estoy intentando realizar una comunicación bidireccional entre una placa Arduino ESP32 CP2102 y un display Nextion Inteligente.
He conseguido pasar una variable desde una LDR conectada a una entrada analógica de la placa ESP32 a la pantalla Nextion "a pelo" tal y como has visto porque ha sido la única forma de poder leer algo en el campo de texto del HMI.
Lo que no consigo es introducir un valor en un campo de texto o numérico en la pantalla del Nextion y recibirlo correctamente en el monitor serie del arduino.
La alimentación de la placa ESP32 viene del puerto USB que tengo conectado al PC. La alimentación de la pantalla viene de los pines 5VDC y 0VDC de la propia placa ESP32.
Las librerías fue lo último que modifiqué, ya que venía en la web oficial de Nextion que había que anular la linea de "Puerto Serie Debug" para poder usar el UART Serie2. Pero anteriormente, tampoco me funcionaba sin haber anulado esa línea de código de la librería.
He probado con librerías oficiales y sin librerías.
Por eso he subido mi último backup del Arduino, porque es donde me he quedado bloqueado.
Transferir el dato(Valor analógico )desde la placa del Arduino a la pantalla Nextion con librerías, no me ha sido posible.
Transferir el dato (Valor analógico) desde la placa sin librerías a la pantalla Nextion, sí ha sido posible.
Transferir el dato( texto o valor en coma flotante) desde la pantalla Nextion a la placa Arduino, no ha sido posible ni con librerías ni sin librerías.
La comunicación serie la quiero hacer a través del puerto UART Seire2 de la placa ESP32.
Una curiosidad es que cuando Cargo el proyecto Nextion usando el método de la tarjeta SD. Cuando enciendo la pantalla, me he dado cuenta que los Baudios que salen al inicializar la pantalla no son los 9600 que tiene la pantalla como tiene el arduino. No soy capaz de cambiar esa velocidad. Aun así, he intentado trabajar con esa velocidad(11500) tanto en el arduino como en la pantalla pero ha sido inútil.
Espero que le haya ayudado a entender mejor mi situación.
|
Por favor, Identificarse o Crear cuenta para unirse a la conversación.
|
-
Jose Luis
-
-
Fuera de línea
-
Navegador Platino
-
-
Mensajes: 1148
-
Gracias recibidas: 230
-
-
|
Como tienes el loop, no va funcionar nunca. Si esperas meter dos temperizadores de un segundo cada uno y que te lea los eventos procedentes de la pantalla, creo que te equivocas,
Yo para ir avanzando re recomiendo lo siguiente :
En el loop solo el listen para leer los eventos.
Dicho esto, yo conectaria el serial2 para la comunicacion y el serial para debug.
Si esta todo conectados, no te tiene que dar ningun error por el monitor serial del ide de arduino cuando conecta. No imprimira err cuando hagas el nexinit().
Si te funciona enviando a mano los codigos, el problema lo tienes a la hora de configurar las librerias.
De todas formas, yo aun nunca he conectado un esp32 a un arduino, al menos que recuerde, creo que a un esp8266 si, pero de eso hace mucho y ni lo recuerdo.
|
Por favor, Identificarse o Crear cuenta para unirse a la conversación.
|
-
hoalbe
-
Autor del tema
-
Fuera de línea
-
Navegador Iniciado
-
-
Mensajes: 6
-
Gracias recibidas: 0
-
-
|
Hola Jose Luis,
He cambiado el código pero no hay manera de poder comunicar. La verdad estoy muy perdido y ya no sé ni que hacer.
No sé si el problema es la conexión, el código etc..
Realmente lo que quiero hacer es poder enviar y recibir en dos campos diferentes valores con coma flotante.
Un campo para poder reflejar el valor que viene del ESP32 CP2102 y el otro campo para escribir en el HMI Nextion y con un botón enviar dicho valor al ESP32 CP2102.
Te paso el código que he creado en el ESP32 CP2102 y en el Nextion.
Si pudieras sugerirme un código. Esta vez te he hecho caso y he usado las librerías oficiales.
Gracias de antemano.
|
Por favor, Identificarse o Crear cuenta para unirse a la conversación.
|
-
Cambatronics
-
-
Fuera de línea
-
Administrador
-
-
Mensajes: 147
-
Gracias recibidas: 151
-
-
|
El tema de la coma flotante es algo que cuando yo deje de usar a nextion aun no estaba implementada, Hace 4 o 5 años, no habia forma de enviar una sola variable float. Lo que se solia hacer es enviar dos variables, una con la parte entera y otra con la decimal, No se como funciona el float ahora, por que hace mucho que no trabajo con esas pantallas. Yo lo que haria es mandar datos enteros, cuando tengas eso, sabras que tienes todo configurado correctamente y que el problema seria la programacion.
|
Por favor, Identificarse o Crear cuenta para unirse a la conversación.
|
Tiempo de carga de la página: 0.097 segundos