arduino C/C++ casa
Interface Nextion/ESP8266

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.

void Atualizahora(){
char info[40];
char hora[20];
daysOfTheWeek[timeClient.getDay()],timeClient.getHours(),timeClient.getMinutes(),timeClient.getSeconds());
timeClient.getFormattedTime().toCharArray(hora, timeClient.getFormattedTime().length()+1);
sprintf(info,”hora.txt=%c%s%c%c%c%c”,0x22,hora,0x22,0xFF,0xFF,0xFF);
swSer.print(info);
}

fragmento de código do arduino

Também criamos uma interface genérica, para permitir que passemos informações texto, para qualquer box.

A função EntraTXT, permite atribuir valores para um box TXT.

O módulo ESP, será implementado com outras funções alem do TXT, porem em momento oportuno.

arduino C/C++ casa
Montagem da Cadeira do Capitão – Parte 2

Olá, queridos amigos,

Hoje iremos apresentar a segunda parte da montagem da Cadeira do Capitão.

Como visto no ultimo post:

http://maurinsoft.com.br/index.php/2021/04/27/montagem-da-cadeira-do-capitao/
Primeira parte da Cadeira do Capitão

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:

http://maurinsoft.com.br/index.php/2021/04/28/configuracao-arduino-para-esp8266/?preview_id=10830&preview_nonce=61114fe69e&preview=true&_thumbnail_id=10831
Tutorial de instalação do Arduino ESP8266

Configurando Lolin

Para montagem deste projeto, usamos o módulo Lolin.

Esp8266 Esp Esp8266 Nodemcu V3 Esp12 Wifi 802.11
Módulo Lolin

Para configurar o Lolin no arduino, é necessário realizar o seguinte procedimento:

http://maurinsoft.com.br/index.php/2021/04/28/configuracao-esp8266-lolin
Configuração do Lolin ESP 8266

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.

https://github.com/MarceloMaurin/casa

Dentro do repositório, existe uma pasta arduino, que possui o fonte cadeira.

Fonte da Cadeira do Capitão para ESP8266

Baixe o repositório e compile e instale nossa aplicação, conforme o procedimento passado anteriormente.

Caso tenha dúvidas, sobre como usar o git, siga nosso procedimentos descrito abaixo:

http://maurinsoft.com.br/index.php/2019/03/09/usando-o-github/
Procedimento de uso do GITHUB

Parametrização do Seu Ambiente

Durante a instalação do Equipamento, é necessário, mudar algumas informações do firmware.

Este procedimento visa, preparar o equipamento para seu ambiente, são estas informações:

  • SID do wifi
  • Senha do Wifi
  • host do servidor

Mudando o Wifi

A informação do SID da sua rede, deve ser escrita, no define:

STASSID, colocando o que é informado no seu wifi, conforme figura abaixo:

No meu caso, o meu SID, é esse.

Já a senha do seu wifi, é o que é definida, no define STAPSK, e deve ser mudada, para o valor que for da sua senha.

Mudando o endereço do servidor

O Endereço do servidor, é o caminho que seu ESP encontrará a aplicação que receberá as solicitações do seu ESP8266.

Geralmente é uma aplicação Linux, porem pode ser também windows.

De forma geral o servidor precisará ser um IP fixo, em sua casa, porem explicaremos em mais detalhes, quando tratarmos deste assunto.

Não esqueça de mudar o endereço do servidor, pois a aplicação irá entrar na rede errada, não recebendo os comandos corretos.

casa
Montagem da Cadeira do Capitão – Parte 1

Neste artigo, irei mostrar a primeira parte da montagem da cadeira do capitão.

GIT do Projeto

https://github.com/marcelomaurin/casa

Apresentando como fazer.

Primeiro passo é baixar os arquivos no grabcad:

https://grabcad.com/library/nextion-captain-s-chair-1

A primeira peça que iremos imprimir é a frente.

Frente da peça

Nela será fixada o display nextion 2,4 pol, para este projeto usamos o modelo NX3224T024.

Tela Lcd Nextion 2.4 Tft Hmi 320x240 Touch Screen Arduino
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:

Baixar a IDE do Nextion

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 site do projeto é:

https://github.com/MarceloMaurin/casa

O projeto esta sendo distribuído no repositório GIT, caso não saiba usar, leia primeiramente nosso artigo abaixo:

http://maurinsoft.com.br/index.php/2019/03/09/usando-o-github/
Tutorial de como usar o github

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:

Adaptador Usb P/ Rs232 Ttl Serial Pl2303 5v - Arduino
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!

casa
Cadeira do Capitão

A idéia deste projeto é montar uma cadeira interativa.

GIT do Projeto

http://maurinsoft.com.br/index.php/projetos-open-source/projeto-casa-inteligente/

Permitindo que a pessoa controle ações da casa, através de comandos touch screen em uma cadeira.

Este projeto foi inspirado na famosa cadeira do capitão kirk.

captain kirk's chair - Picture of Star Trek Original Series Set Tour,  Ticonderoga - Tripadvisor
Cadeira capitão kirk

A ideia é realmente centralizar o controle da casa nesta cadeira.

Imagem real da cadeira com a acoplagem plastica.

Já com controles Touch Screen, para ajuste.

Controle touch screen

Todo o projeto de controle, e automação, esta sendo feito usando esp32, para seu controle.

O projeto encontra-se em desenvolvimento, e fará parte do projeto casa, um projeto open source de automação residencial.

GRABCAD

O projeto das estruturas plásticas podem ser baixadas no grabcad.

https://grabcad.com/library/nextion-captain-s-chair-1

maurinsoft.com.br