Interfaces IoT simplificadas com Nextion, Raspberry Pi e Ubidots

Você já ouviu falar do Nextion Display ? Nextion permite que você crie interfaces incríveis, mesmo que seu nível de codificação seja “olá, mundo!”. Sua grandiosidade não termina aqui. Pode funcionar com Arduino e todas as versões do Raspberry Pi.

Este tutorial mostrará como adicionar um botão Ubidots à sua interface de exibição Nextion

Requisitos

Descrição

A lógica por trás da ativação de um Ubidots em seu Nextion Display é bastante simples. Quando o botão é pressionado, uma variável no Ubidots muda. Se o botão estiver ativado, a variável terá o valor 1, caso contrário, 0.

Recomendamos seguir o guia Como configurar a conexão WiFi do seu Raspberry Pi e também aprender como conectar-se a ele através do terminal SSH.

Configurar

  1. Baixe o Ubidots Nextion .
  2. Copie o arquivo denominado Nextion.HMI para o cartão micro SD. (A memória não deve conter outros arquivos e deve estar formatada em FAT32).
  3. Bom. Coloque o cartão micro SD dentro da porta micro SD Nextion.
  4. 4. Ligue o display Nextion e espere até que o arquivo seja atualizado e então extraia o micro SD
  5. Conecte o monitor Nextion ao Raspberry Pi.
  6. Agora, conecte seu Raspberry Pi de acordo com esta tabela:
Exibição seguinte Framboesa
5V 5V
Texas RX
RX Texas
GND GND
  1. Ligue o Raspberry Pi e espere alguns minutos até que ele inicialize.

Voilá! Agora você deve obter algo assim:

Como o Raspberry usa TX e RX também como forma de acessar o shell, precisamos desabilitar esta opção para que o Nextion possa usar esses pinos para se comunicar com o Raspberry. Para fazer isso, basta seguir estas etapas:

  1. Conecte-se ao Raspberry por meio de SSH.

  2. Copie e cole isto no terminal Raspberry:

sudo systemctl pare serial-getty@ttyAMA0.service

Bom trabalho. Você não deverá ver nenhuma linha sobre ttyAMA0 ao inserir este comando:

ps aux | grep tty

Código

Agora concluímos a configuração necessária para conectar o display à nuvem Ubidots .

  1. Crie um arquivo python chamado “ display.py ”.
nano display.py
  1. Copie e cole o código (estamos quase terminando, não se preocupe =D).
solicitações de importação importam binascii import serial with serial.Serial('/dev/ttyAMA0', 9600, timeout=10) as ser: while True: ser.flush() respuesta = binascii.hexlify(ser.read(4)) if respuesta == "01000000": r = requests.post('http: ubidots .com/api/v1.6/devices/DEVICE_LABEL/VARIABLE_LABEL/values?token=TOKEN', dados = {'valor':1 }) if resposta == "00000000": r = requests.post('http://things. ubidots .com/api/v1.6/devices/DEVICE_LABEL/VARIABLE_LABEL/values?token=TOKEN', data = {' valor':0})
  1. Altere o TOKEN, o rótulo da variável e o rótulo do dispositivo para corresponder ao seu dispositivo e à variável que você deseja controlar usando o botão.
  2. Salve e saia.
  3. Execute o script python e pronto.
sudo python display.py

Ótimo trabalho! Agora você deve ser capaz de controlar uma variável Ubidots remotamente a partir do seu display Nextion:

Sinta-se à vontade para compartilhar seus resultados em nossa comunidade de desenvolvedores IoT para obter mais informações ou ajuda!