Vou continuar trabalhando para deixar os ricos mais ricos, porem como um médico trabalha em um hospital pago, e também faz trabalho voluntário para ajudar o próximo. O programador, faz o mesmo, criando soluções de boa qualidade Open Source, de forma gratuita.
Quem compra software proprietário, é um publico diferente que adquire o livre.
O Software voluntário tem duas funções: 1) Apresentar competência, em um mundo de patentes. 2) Apresentar soluções práticas e simples para pessoas que normalmente estão fora da curva de consumo dos produtos pagos.
Software livre é uma forma de distribuir conhecimento e oportunidade de crescimento. Não retirar receita, empresas que pensam assim estão fadadas ao fracasso.
Não irei me calar, apesar de toda a injustiça.
Continuarei produzindo sempre com ferramentas open source, pois assim contribuo também, não só para deixar os ricos mais ricos, mas os pobres menos pobres. Aos que me apoiaram nesse momento difícil, agradeço mais uma vez. Empresas, acordem! Nunca se usou tanto software gratuito como se usa hoje, e as empresas nunca ganharam tanto. Vamos divulgar essa ideia.
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.
Agora iremos configurar a porta serial, selecione Ferramentas > Porta > Selecionando a porta que foi indicada no seu Gerenciador de dispositivos, dito no procedimento anterior.
Configuração de Porta Serial
No meu caso, selecionei a COM9, conforme figura acima.
Passo 5
Agora iremos programar a placa, para tanto duas ações são necessárias.
O Lolin, precisa estar preparado para receber a carga. Diferente do arduino, o lolin possui um modo de gravação.
Para ativar o modo de gravação, é necessário pressionar o botão RESET e o Flash.
Fazendo na seguinte sequencia:
Mantenha pressionado o RST
Mantenha pressionado o Flash
Solte o RST
Solte o Flash
Desta forma, você garante que o procedimento de carga de firmware será esperado pela placa.
Posição dos botões Flash e RST
Passo 6
Agora, por fim, iremos enviar a carga para o Lolin, clicando com nossa aplicação aberta no botão Carregar.
Botão Carregar
Caso, sua aplicação tenha qualquer problema de compilação, o procedimento não será completado, e o firmware não será enviado.
Em caso de necessidade de repetir o procedimento, deve-se repetir também o passo 5.
Bom pessoal, estes são os procedimentos necessários para programar o Lolin.
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.
Nela será fixada o display nextion 2,4 pol, para este projeto usamos o modelo NX3224T024.
Display Nextion 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.
Fixação da tampa inferior 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.
Chanfro de passagem dos fios elétricos.
Por fim, imprima a ultima peça:
Fixador da caixa elétrica
A fixação da caixa elétrica, terá a responsabilidade de fixar na caixa elétrica, garantindo a perfeita fixação do equipamento.
Caixas plásticas fixadas, sem o display nextion
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:
No nosso projeto, existe uma pasta chamada Nextion, Abra ela e chame a partir da IDE Nextion.
Pasta do Nextion.
Para carregar a aplicação nextion no equipamento será necessário possuir um dispositivo USB TTL Serial, como o da foto abaixo:
Conversor USB TTL Serial
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.
Visão da IDE do Nextion
Agora o próximo passo é descobrir a porta que ele criou no windows.
No Gerenciador de dispositivos, irá aparecer o device que vc conectou.
Device USB Serial
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:
Resultado da compilação
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.
Seleção de porta da IDE Nextion, para UPLOAD de firmware.
Click no botão GO, e aguarde baixar o firmware para o display.
Carga de firmware completa
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!