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
Configuração ESP8266 – Lolin

O ESP8266, Lolin, é o módulo ESP que iremos parametrizar hoje.

Pré-requisito

Para tanto, é necessário primeiro configurar o arduino para o lolin, para isso siga o passo abaixo:

http://maurinsoft.com.br/index.php/2021/04/28/configuracao-arduino-para-esp8266/

Passo 1

Procedimento, selecione o menu Ferramentas> Placa > ESP8266 Boards > Wemos D1 R1, conforme figura abaixo:

Pronto, voce já configurou o Lolin.

Passo 2

Agora é necessário, selecionar a porta COM foi criada para ele.

Conecte o Lolin na USB, através de um cabo micro USB A.

Cabo micro USB A

Passo 3

Ao conectar na USB, o seu PC criará uma porta serial, conforme figura abaixo:

Caso não o faça, instale o driver do controlador CH340, que pode ser baixado em:

https://sparks.gogo.co.nz/ch340.html

Passo 4

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:

  1. Mantenha pressionado o RST
  2. Mantenha pressionado o Flash
  3. Solte o RST
  4. 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.

Boa sorte!

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.

arduino
Configuração Arduino para ESP8266 ou ESP32

Neste pequeno tutorial iremos apresentar os procedimentos necessários para configurar o ESP8266 no arduino.

Pré-requisito:

O pré-requisito para rodar este tutorial é primeiramente ter instalado o Arduino, em sua ultima versão.

Procedimentos

Passo 1

Entre no arduino, click em Arquivo > Preferências:

No campo URLs Adicionais, inclua o seguinte URL:

http://arduino.esp8266.com/stable/package_esp8266com_index.json

ou esp32

https://dl.espressif.com/dl/package_esp32_index.json

Pressione OK, para salvar a configuração.

Passo 2

No menu, selecione a opção Ferramentas > Placa > Gerenciador de Placas:

Menu de Gerenciador de Placas

Surgirá uma janela do Gerenciador de Placas, pesquise pelo nome ESP8266 ou esp32, conforme figura abaixo:

módulo do ESP8266

Click no botão Instalar, instalando sempre a ultima versão disponível.

O Procedimento demorará alguns segundos, aguarde até o processo ser completado.

Agora, por fim, entre click no botão FECHAR.

Pronto voce já configurou o ESP8266 no seu arduino.

maurinsoft.com.br