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 codificación es "¡hola mundo!". Su genialidad no termina aquí. Puede funcionar con Arduino y todas las versiones de Raspberry Pi.

Este tutorial le mostrará cómo agregar un botón Ubidots a su interfaz de visualización Nextion

Requisitos

Descripción

La lógica detrás de activar un Ubidots en su Nextion Display es bastante simple. Cuando se presiona el botón, una variable en Ubidots cambia. Si el botón está activado, la variable tendrá el valor de 1, en caso 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 del terminal SSH.

Configuración

  1. Descarga el Ubidots Nextion .
  2. Copie el archivo llamado Nextion.HMI a la tarjeta micro SD. (La memoria no debe contener ningún otro archivo y debe estar formateada en FAT32).
  3. Bien. Coloque la tarjeta micro SD dentro del puerto micro SD de Nextion.
  4. 4.Encienda la pantalla Nextion y espere hasta que se actualice el archivo y luego extraiga la micro SD.
  5. Conecte la pantalla Nextion a la Raspberry Pi.
  6. Ahora, conecta tu Raspberry Pi según esta tabla:
Pantalla siguiente Frambuesa
5V 5V
Texas RX
RX Texas
Tierra Tierra
  1. Enciende tu Raspberry Pi y espera unos minutos hasta que se inicie.

¡Voilá! Ahora deberías obtener algo como esto:

Debido a que Raspberry usa TX y RX también como una forma de acceder al shell, debemos desactivar esta opción para que Nextion pueda usar estos pines para comunicarse con Raspberry. Para hacerlo, simplemente siga estos pasos:

  1. Conéctese a la Raspberry a través de SSH.

  2. Copie y pegue esto en la terminal Raspberry:

sudo systemctl detener serial-getty@ttyAMA0.service

Bien hecho. No deberías ver ninguna línea sobre ttyAMA0 al ingresar este comando:

ps auxiliar | grep tty

Código

Ahora hemos terminado con la configuración necesaria para conectar la pantalla a la nube Ubidots .

  1. Cree un archivo Python llamado " display.py ".
pantalla nano.py
  1. Copia y pega el código (ya casi hemos terminado, no te preocupes =D).
solicitudes de importación importar binascii importar serial con serial.Serial('/dev/ttyAMA0', 9600, timeout=10) as ser: while True: ser.flush() respuesta = binascii.hexlify(ser.read(4)) if respuesta == "01000000": r = request.post('http: ubidots .com/api/v1.6/devices/DEVICE_LABEL/VARIABLE_LABEL/values?token=TOKEN', datos = {'valor':1 }) si respuesta == "00000000": r = request.post('http: ubidots .com/api/v1.6/devices/DEVICE_LABEL/VARIABLE_LABEL/values?token=TOKEN', datos = {' valor':0})
  1. 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 usando el botón.
  2. Guardar y salir.
  3. Ejecute el script de Python y listo.
sudo python display.py

¡Buen trabajo! Ahora debería poder controlar una variable Ubidots de forma remota desde su pantalla Nextion:

¡No dude en compartir sus resultados en nuestra comunidad de desarrolladores IoT para obtener más aportes o ayuda!