Interfaces IoT simplificadas com Nextion, Raspberry Pi e Ubidots

Mateo Velez
· 3 minutos de leitura
Enviar por e-mail

Já ouviu falar do Nextion Display ? O Nextion permite criar interfaces incríveis, mesmo que seu nível de programação seja "Olá, mundo!". E as vantagens não param por aí. Ele funciona 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 no seu Nextion Display é bastante simples. Quando o botão é pressionado, uma variável no Ubidots é alterada. Se o botão estiver ativado, a variável terá o valor 1; caso contrário, terá o valor 0.

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

Configurar

  1. Baixe o Ubidots Nextion .
  2. Copie o arquivo chamado Nextion.HMI para o cartão micro SD. (A memória não deve conter nenhum outro arquivo e deve estar formatada em FAT32).
  3. Ótimo. Insira o cartão micro SD na porta micro SD do Nextion.
  4. 4. Ligue o monitor Nextion e aguarde até que o arquivo seja atualizado. Em seguida, remova o cartão microSD
  5. Conecte o monitor Nextion ao Raspberry Pi.
  6. Agora, conecte seu Raspberry Pi de acordo com esta tabela:
Display Nextion Framboesa
5V 5V
TX RX
RX TX
GND GND
  1. Ligue o seu Raspberry Pi e aguarde alguns minutos até que ele inicialize.

Voilà! Agora você deve obter algo parecido com isto:

nextion-display.jpg

Como o Raspberry Pi usa TX e RX também para acessar o shell, precisamos desabilitar essa opção para que o Nextion possa usar esses pinos para se comunicar com o Raspberry Pi. Para isso, basta seguir estes passos:

  1. Conecte-se ao Raspberry Pi via SSH.

  2. Copie e cole isto no terminal do Raspberry Pi:

sudo systemctl stop serial-getty@ttyAMA0.service

Muito bem. Você não deverá ver nenhuma linha referente a 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 (já estamos quase terminando, não se preocupe =D).
import requests import 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('ubidots', data = {'value':1}) if respuesta == "00000000": r = requests.post('ubidots', data = {'value':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 deseja controlar usando o botão.
  2. Salvar e sair.
  3. Execute o script Python e pronto.
sudo python display.py

Excelente! Agora você deve conseguir 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!