Neste tópico, descreveremos o procedimento de comunicação entre o Nextion e o ESP8266.
Documentando suas saídas:
A interface Nextion, possui uma programação bem simples, que iremos documentar a seguir:
Ao criarmos cada botão na interface, criamos uma programação na IDE Nextion, onde o mesmo, envia dados pela serial, informando o comando que foi pressionado.
Desta forma criamos um protocolo mais simplificado, ignorando o protocolo do nextion.
Conforme vemos na figura acima, ao pressionar o botão INICIAR, temos o evento (Touch Press Event), com dois comandos:
prints “IROn”,4
printh 0A
fragmento do código do nextion
Estes comandos enviam pela serial, a informação do evento IROn, que será interpretado pela aplicação ESP8266.
Para cada botão, vinculamos o envio destes códigos. Permitindo assim, a fácil customização da aplicação por parte dos desenvolvedores.
Mensageria de Saída
São comandos de saída:
IROn – Liga Irrigação
IROff – Desliga Irrigação
S1On – Liga Iluminação Sala
S1Off – Desliga Iluminação Sala
P1On – Liga Bomba Piscina
P1Off – Desliga Bomba Piscina
P2On – Liga Iluminação
P2Off – Desliga iluminação
C1On – Liga Luz Corredor
C1Off – Desliga Luz Corredor
C2On – Liga o alarme
C2Off – Desliga o alarme
C3On – Liga o som ambiente
C3Off – Desliga o som ambiente
Eventualmente, a customização do ambiente do desenvolvedor será necessária, pois dificilmente uma casa é igual a outra.
Usando estas técnicas simples, é possível então com pouco esforço, customizar a interface, de forma mais dinâmica.
A aplicação ESP, apenas recebe a entrada do nextion, enviando para o servidor, ela não processa ou trata esta informação.
Desta forma, a criação de novos parâmetros no Nextion são automaticamente consolidados no ESP.
Parâmetros de entrada
O Nextion permite tambem, jogar informações dentro da tela.
Hoje a única informação povoada é a informação de hora.
A entrada de valores é feita através da associação de valores diretos.
Pois quando criamos um box, como o da hora, podemos dizer o valor que este possui, conforme exemplo abaixo:
hora.txt=”<hora atual>”
exemplo de entrada de dados
No código do Nextion, fazemos isso através da função Atualizahora.
Hoje iremos apresentar a segunda parte da montagem da Cadeira do Capitão.
Como visto no ultimo post:
Agora, chegou a hora de programar o módulo ESP8266, a função deste módulo, é controlar a tela nextion, permitindo que haja a ligação entre a casa e o display.
Vale lembrar que o nextion possui um sofisticado processador, que independe do ESP8266, porem o ESP8266 possui acesso a internet através de wifi.
Pré requisitos
Configurando o Arduino
O ESP8266 não possui comunicação nativa com Arduino, porem para realizar esta operação é necessário primeiro alguns passos.
Siga o procedimento descrito no tutorial abaixo:
Configurando Lolin
Para montagem deste projeto, usamos o módulo Lolin.
Para configurar o Lolin no arduino, é necessário realizar o seguinte procedimento:
Programação do ESP8266
Agora neste procedimento, iremos de fato programar o ESP8266, Lolin.
Para isso iremos baixar o repositório do projeto casa, no nosso GITHUB.
Nela será fixada o display nextion 2,4 pol, para este projeto usamos o modelo NX3224T024.
Fixe o display com cola quente nas bordas da caixa plástica, a fim de fixação correta, tome cuidado para colocar cola apenas nas partes que entrarão em contato com o ABS, evitando que suje o display com cola quente.
Agora imprima a segunda peça do display.
Esta é a tampa inferior do display, ela será usada para fixar na base. Permitindo que o display tenha mobilidade.
Use 4 parafusos pequenos para fixar a tampa inferior a caixa superior, tomando o cuidado de passar os 4 fios do nextion ao meio do chanfro inferior. Permitindo assim posteriormente a programação do display e tambem a conexão com o processador.
Por fim, imprima a ultima peça:
A fixação da caixa elétrica, terá a responsabilidade de fixar na caixa elétrica, garantindo a perfeita fixação do equipamento.
Tome sempre o cuidado de antes de fixar, verificar se passou os 4 fios do nextion.
Programação do Nextion
Agora o próximo passo, é realmente programar o display do nextion.
Nesta etapa, iremos carregar a aplicação do nextion no display.
Para isso primeiramente precisaremos baixar a IDE do Nextion em:
Após baixar e instalar, precisamos baixar os fontes do projeto CASA, onde contempla o projeto Nextion.
O projeto em si, visa automação residencial, e esta sendo refeito.
O projeto esta sendo distribuído no repositório GIT, caso não saiba usar, leia primeiramente nosso artigo abaixo:
No nosso projeto, existe uma pasta chamada Nextion, Abra ela e chame a partir da IDE Nextion.
Para carregar a aplicação nextion no equipamento será necessário possuir um dispositivo USB TTL Serial, como o da foto abaixo:
Nem todos os conversores são iguais, então, primeiro verifique se o conversor que vai comprar é compatível com seu windows.
Conecte os fios na seguinte ordem:
Vermelho <-> 3.5v
Preto <-> GND
Amarelo <-> TX
Azul <-> RX
Agora, conecte o USB Serial no seu PC, tendo confirmado que não fez a ligação errada.
Agora o próximo passo é descobrir a porta que ele criou no windows.
No Gerenciador de dispositivos, irá aparecer o device que vc conectou.
O meu caso, tenho 3 destes conectados, mas sei que é o device 10, porque no processo de confirmação eu tirei o usb e o device 10 sumiu.
Click no botão compilar, do Nextion IDE, conforme figura da IDE Nextion.
O Resultado da compilação, deve ser conforme apresentado abaixo:
Agora click no botão UPLOAD, da IDE Nextion, este botão enviará o programa compilado para o equipamento, o configurando.
Ao clicar no upload, ele perguntará a tela a baixo, qual a porta que esta conectado, no meu caso terei que apontar a porta 10, mas ele possui reconhecimento automático, pegando sempre o primeiro device que ele encontrar.
Click no botão GO, e aguarde baixar o firmware para o display.
Chegamos ao fim da primeira parte da programação da cadeira do capitão.
Nela, imprimimos as peças do display nextion, montando e carregando o seu firmware.
No próximo post, iremos configurar o ESP8266, até breve!