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
- Baixe o Ubidots Nextion .
- 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).
- Bom. Coloque o cartão micro SD dentro da porta micro SD Nextion.
- 4. Ligue o display Nextion e espere até que o arquivo seja atualizado e então extraia o micro SD
- Conecte o monitor Nextion ao Raspberry Pi.
- Agora, conecte seu Raspberry Pi de acordo com esta tabela:
Exibição seguinte | Framboesa |
---|---|
5V | 5V |
Texas | RX |
RX | Texas |
GND | GND |
- 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:
-
Conecte-se ao Raspberry por meio de SSH.
-
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 .
- Crie um arquivo python chamado “ display.py ”.
nano display.py
- 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})
- 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.
- Salve e saia.
- 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!