Interfaces IoT simplificadas con Nextion, Raspberry Pi y Ubidots
¿Has oído hablar de Nextion Display ? Nextion te permite crear interfaces increíbles, incluso si tu nivel de programación es de "¡Hola mundo!". Su genialidad no termina aquí. Es compatible con Arduino y todas las versiones de Raspberry Pi.
Este tutorial le mostrará cómo agregar un botón Ubidots a su interfaz de pantalla Nextion
Requisitos
Descripción
La lógica detrás de la activación de un Ubidots en tu Nextion Display es bastante sencilla. Al pulsarlo, una variable en Ubidots cambia. Si el botón está activado, la variable tendrá el valor 1; de lo contrario, 0.
Te recomendamos seguir la guía Cómo configurar la conexión WiFi de tu Raspberry Pi , y también aprender a conectarte a ella a través de la terminal SSH.
Configuración
- Descargue el Ubidots Nextion .
- Copie el archivo Nextion.HMI a la tarjeta micro SD. (La memoria no debe contener otros archivos y debe estar formateada en FAT32).
- Bien. Coloque la tarjeta micro SD dentro del puerto micro SD de Nextion.
- 4. Encienda la pantalla Nextion y espere hasta que el archivo se actualice, luego extraiga la micro SD
- Conecte la pantalla Nextion a la Raspberry Pi.
- Ahora, conecta tu Raspberry Pi según esta tabla:
| Pantalla Nextion | Frambuesa |
|---|---|
| 5 V | 5 V |
| Texas | RX |
| RX | Texas |
| Tierra | Tierra |
- Encienda su Raspberry Pi y espere unos minutos hasta que se inicie.
¡Listo! Deberías obtener algo como esto:

Dado que la Raspberry también usa TX y RX para acceder al shell, debemos desactivar esta opción para que Nextion pueda usar estos pines para comunicarse con la Raspberry. Para ello, siga estos pasos:
-
Conéctese a la Raspberry a través de SSH.
-
Copia y pega esto en la terminal de Raspberry:
sudo systemctl stop serial-getty@ttyAMA0.service
¡Bien hecho! No deberías ver ninguna línea sobre ttyAMA0 al ingresar este comando:
ps aux | grep tty
Código
Ahora hemos terminado con la configuración necesaria para conectar la pantalla a la nube Ubidots .
- Cree un archivo de Python llamado “ display.py ”.
nano display.py
- Copia y pega el código (ya casi terminamos, no te preocupes =D).
importar solicitudes importar binascii importar serial con serial.Serial('/dev/ttyAMA0', 9600, timeout=10) como ser: mientras sea verdadero: ser.flush() respuesta = binascii.hexlify(ser.read(4)) si respuesta == "01000000": r = solicitudes.post('ubidots', datos = {'value':1}) si respuesta == "00000000": r = solicitudes.post('ubidots', datos = {'value':0})
- Cambie el TOKEN, la etiqueta de la variable y la etiqueta del dispositivo para que coincidan con su dispositivo y la variable que desea controlar mediante el botón.
- Guardar y salir.
- Ejecute el script de Python y estará listo.
sudo python display.py
¡Excelente trabajo! Ahora deberías poder controlar una variable Ubidots remotamente desde tu pantalla Nextion:
¡No dudes en compartir tus resultados en nuestra comunidad de desarrolladores IoT para obtener más información o ayuda!
