blog-eletrogate-logo-desktop blog-eletrogate-logo-mobile
  • Categorias
    • Voltar
    • INICIANTES
    • INTERMEDIÁRIOS
    • AVANÇADOS
    • divide
    • Automação Residencial
    • Componentes Eletrônicos
    • Impressão 3D
    • IoT
    • Modelagem 3D
    • Módulos Wifi
    • Por trás da tecnologia
    • Projetos
    • Raspberry Pi
    • Robótica
    • Sensores
    • Shields
    • Sistemas Operacionais
    • Tipos de Arduino
    • Tutoriais
  • Apostilas
  • Quem Somos
  • Seja um redator
  • Trabalhe Conosco
    • Categorias
      • Voltar
      • INICIANTES
      • INTERMEDIÁRIOS
      • AVANÇADOS
      • divide
      • Automação Residencial
      • Componentes Eletrônicos
      • Impressão 3D
      • IoT
      • Modelagem 3D
      • Módulos Wifi
      • Por trás da tecnologia
      • Projetos
      • Raspberry Pi
      • Robótica
      • Sensores
      • Shields
      • Sistemas Operacionais
      • Tipos de Arduino
      • Tutoriais
    • Apostilas
    • Quem Somos
    • Seja um redator
    • Trabalhe Conosco
Loja Eletrogate
voltar
  • Introdução
  • Materiais
  • Breve resumo
  • Executando o projeto
  • Conclusão
  • Sobre o Autor
Automação Residencial

Automação Residencial com Alexa (Amazon) e NodeMCU

Eletrogate 9 de abril de 2020Atualizado em: 16 maio 202215 min

Introdução

O conceito da automação residencial, ou domótica, surgiu na França na década de 80 do século passado, e até aqui percorreu um longo caminho para se tornar acessível e viável. Neste post de hoje você vai aprender bem detalhadamente como automatizar sua casa de uma forma incrível, barata e o melhor: você não precisará de comprar nenhum “equipamento smart” (como lâmpadas ou tomadas), que são pouco acessíveis no mercado brasileiro, pois tudo será feito por você mesmo!

Com o conhecimento adquirido aqui, você poderá automatizar sua casa, dando comandos para a assistente virtual (que vamos te apresentar logo abaixo) e acionar seus dispositivos como no vídeo abaixo:

https://blog.eletrogate.com/wp-content/uploads/2020/04/automacao.mp4


Materiais

Para fazer este projeto, iremos precisar dos seguintes materiais e serviços:

  • ESP8266 NodeMCU 
  • Cabo USB/Micro-USB
  • Módulo Relé 4 canais
  • Jumpers Macho/Femea 
  • Protoboard
  • 4 LEDs difusos de cores variadas (para prototipação)
  • Resistores de 330R (para prototipação)
  • Aplicativo Amazon Alexa – Android – IOS
  • Conta na Sinric Pro
  • Materiais para instalação elétrica como tomadas e fios.

Breve resumo

ESP8266 NodeMCU:  Será a placa de desenvolvimento usada neste projeto, o funcionamento dela é similar as placas Arduino, mas com algumas peculiaridades que fazem ela ser a escolha melhor para este projeto:

  • Bastante compacto
  • WiFi nativo
  • Baixo consumo de energia
  • Compatibilidade com a Arduino IDE e suas bibliotecas.

Se você é iniciante no universo Arduino, clique aqui e leia mais sobre. Aqui no blog você achará outros posts ensinando a programar, como este, ou baixe alguma de nossas apostilas que estão disponíveis gratuitamente.

Se caso você não conhece a placa NodeMCU ou quer saber mais, você poderá aprender mais sobre ela clicando neste nosso post.

Módulo Relé: Um relé funciona como uma chave que basicamente tem a função de interromper a conexão de um circuito, fisicamente, ou fazer a função dele. Pode-se imaginar que um relé é como um botão que é comandado eletricamente.

Ele possui dois tipos de funcionamento: Normalmente Aberto, onde ele irá funcionar exatamente como um botão: quando acionado ele fecha a conexão entre dois fios, e quando não acionado ele interrompe. Também possui o funcionamento Normalmente Fechado, que é o inverso do apresentado anteriormente, onde, quando acionado ele abre a conexão entre dois fios, e quando não acionado ele fecha a conexão.

Para aprender mais sobre um relés, clique aqui.

Amazon Alexa: A Alexa se tornou muito conhecida como assistente pessoal desde o seu lançamento, em 2014, para rivalizar com outras assistentes do mercado. Graças ao investimento da Amazon em dispositivos de automação residencial, a Alexa se tornou cada vez mais presente nesse segmento. Há diversos aparelhos domésticos que já vem a integração com a Alexa nativamente, como TVs, ar condicionados, etc, que poderão ser usados neste projeto.

A Alexa funciona através de comandos de voz, onde você pode gerenciar desde alarmes, lembretes, agenda, bem como perguntar informações gerais como clima, notícias, etc.

O mais importante a se citar é que ela consegue identificar de forma automática dispositivos conectados a ela, através da rede ou de “skills” de terceiros, que é basicamente a conexão dela a serviços de terceiros, que será o que usaremos.

Sinric Pro: O Sinric Pro é um serviço de Cloud (nuvem) para dispositivos inteligentes, onde ele suporta uma série de dispositivos inteligentes que podemos criar e integrar a ele.

A principal vantagem de se usar o serviço da Sinric é que não necessitamos de um dispositivo especial para integrar aos dispositivos, como um Echo Dot. O Echo Dot serve como um Hub para conectar os dispositivos inteligentes a internet. O Sinric faz esse serviço sem a necessidade de ter um dispositivo adicional, só precisando do aplicativo.

De forma gratuita podemos hospedar até 5 dispositivos, e acessar os registros de uso de até 3 dias! Com isso, podemos hospedar nele nossos dispositivos criados, e quando a Alexa receber um comando, ela irá requisitar a esse serviço fazer a alteração no estado de um dispositivo, e esse serviço irá fazer a requisição ao nosso NodeMCU, que estará conectado a internet, e ele irá fazer a alteração do nosso dispositivo físico.

Parece demorado e complicado?  Só parece. É bastante simples e vale muito a pena conferir.


Executando o projeto

Instalando e configurando a Alexa

Primeiro devemos fazer a instalação do aplicativo Alexa no seu Smartphone IOS ou Android

E depois de instalado, devemos criar uma conta clicando em “Criar uma nova conta Amazon”, na parte inferior da tela.

Coloque o seu nome, seu e-mail e uma senha, e aperte em “Criar sua conta da Amazon”

Observação: Este e-mail precisa ser válido, pois uma confirmação de conta será enviado nele.

Um e-mail padrão foi enviado na sua caixa de e-mail, abra ele e copie o código presente lá na tela do aplicativo, e vá em “Crie sua conta da Amazon”.

Após ter criado, você será redirecionado a tela de termos de uso, leia os termos se tiver dúvidas em relação a privacidade e vá em “Continuar”.

Na tela perguntando se você gostaria de configurar um dispositivo, aperte em “não”, essa configuração faremos mais tarde.

Uma tela pedindo a confirmação do número do seu telefone irá aparecer. Insira o numero do seu telefone (com o DDD de 2 dígitos na frente) e vá em “continuar”. Na tela posterior, digite o código enviado a seu celular e continue.

Você chegará a essa tela de configuração da Alexa. Ensinar a voz é opcional, não usaremos esse recurso aqui inicialmente, mas ele é legal de ser explorado.

As próximas telas serão um tour pelo aplicativo. Conceda as autorizações do aplicativo usar o microfone do seu celular para que a Alexa funcione corretamente. Recomendo que faça um tour pelo aplicativo antes de continuar, veja as funções da Alexa e as coisas que ela é capaz de responder, desde coisas como: “Alexa, qual a temperatura em Belo Horizonte?” até “Alexa, qual sua idade?”. Teste e se surpreenda.

 

Criando uma conta no Sinric Pro e configurando

 

Agora você pode fechar o aplicativo, porque o próxima passo será criar uma conta no Sinric Pro. Para isso, cole o seguinte endereço no seu navegador: https://sinric.pro/pt-index.html, e clique em “cadastre-se!”.

O cadastro é similar ao da Alexa, onde será pedido alguns dados seus. Preencha corretamente os dados e novamente use um e-mail válido no campo e-mail, pois será enviado um e-mail em sua caixa de e-mail para confirmar sua conta e vá em “register”.

Após feito a etapa anterior, abra novamente sua caixa de e-mail e confirme, clicando em “confirm”. Volte ao site e faça seu login normalmente, pois dua conta já está ativa.

Fazendo o login, você entrará no painel principal da página do Sinric Pro, vá na aba de dispositivos, no canto esquerdo.

 

 

Vá em adicionar dispositivo, e aqui iremos adicionar nosso dispositivo a ser controlado.

 

Neste caso, estou adicionando um ventilador. Todos os dispositivos adicionados são do tipo “switch”, porque serão controlados com relé.

 

 

Crie seus dispositivos, lembrando que a plataforma permite ser criado até 5 dispositivos de forma gratuita.

 

Note que abaixo do nome do dispositivo tem o ID dele, esse ID será importante no futuro, e pode ser fácilmente copiado somente apertando o botão “copiar”.

 

 

Vá na guia Credencias, e lá terão chaves importantes. É pela credencial que poderemos consultar a “chave do app” e a “senha do app”, que será importante passar essa informação para o programa a ser enviado na Arduino IDE ao seu NodeMCU.

Importante: Esses dados são únicos. Se você passar esse dado a alguém, ele poderá ter controle aos seus dispositivos e te prejudicar.

 

Fazendo a conexão com o NodeMCU

 

O primeiro passo é configurar a sua Arduino IDE para trabalhar com o NodeMCU.

Caso você não souber como fazer, clique aqui para aprender a como configurar (e vá até a parte “Procedimentos para instalar NodeMCU na Arduino IDE” e siga essa parte).

Depois de todas as configurações serem feitas na sua IDE, você estará apto a continuar.

Instale em sua Arduino IDE a biblioteca Sinric Pro, indo no canto superior da tela em “Ferramentas>Gerenciar Bibliotecas…”.

E instale a biblioteca abaixo, do autor Boris Jaeger. Instale a versão mais atual.

Agora abra a Arduino IDE, e copie o código abaixo. Insira no código a senha do seu WiFi no campo WIFI_SSID, e a senha no campo “WIFI_PASS”.

O dado da APP_KEY é a “Chave do App”, descrito na imagem anterior, e a “APP_SECRET” é a “Senha do App”.

Os IDs de cada dispositivo pode ser consultado na guia de dispositivos. Copie e cole.

#include <ESP8266WiFi.h>   
#include "SinricPro.h"
#include "SinricProSwitch.h"

#define WIFI_SSID         "Coloque_Aqui_o_nome_do_seu_WiFi"    
#define WIFI_PASS         "A_Senha_do_seu_WiFi"
#define APP_KEY           "Coloque aqui a chave do app, que você acha lá no site do Sinric Pro"      // O seu App Key é algo como "de0bxxxx-1x3x-4x3x-ax2x-5dabxxxxxxxx"
#define APP_SECRET        "Coloque o senha do app, está na parte de credenciais"   // O seu App Secret é algo como "5f36xxxx-x3x7-4x3x-xexe-e86724a9xxxx-4c4axxxx-3x3x-x5xe-x9x3-333d65xxxxxx"

#define Abajour_ID       "Copie e cole aqui"    // Algo como "5dc1564130xxxxxxxxxxxxxx"
#define Abajour_Pin 16  // O pino fisico onde está ligado
#define Lampada_ID       "Copie e cole aqui"    // Algo como "5dc1564130xxxxxxxxxxxxxx"
#define Lampada_Pin 5  // O pino fisico onde está ligado
#define Regua_ID       "Copie e cole aqui"    // Algo como "5dc1564130xxxxxxxxxxxxxx"
#define Regua_Pin 4  // O pino fisico onde está ligado
#define Ventilador_ID       "Copie e cole aqui"    // Algo como "5dc1564130xxxxxxxxxxxxxx"
#define Ventilador_Pin 0  // O pino fisico onde está ligado

#define BAUD_RATE         9600                // Se precisar, pode trocar o baud rate


void setupWiFi();
void setupSinricPro();
bool AbajourState(const String &deviceId, bool &state);
bool LampadaState(const String &deviceId, bool &state);
bool ReguaState(const String &deviceId, bool &state);
bool VentiladorState(const String &deviceId, bool &state);


// main setup function
void setup() {
  Serial.begin(BAUD_RATE); Serial.printf("\r\n\r\n");
  setupWiFi();
  setupSinricPro(); 
  pinMode(Abajour_Pin, OUTPUT);
  pinMode(Lampada_Pin, OUTPUT);
  pinMode(Regua_Pin, OUTPUT);
  pinMode(Ventilador_Pin, OUTPUT);
}

void loop() {
  SinricPro.handle();
}


bool AbajourState(const String &deviceId, bool &state) {
  Serial.printf("O abajour foi %s\r\n", state?"ligado":"desligado");
  digitalWrite(Abajour_Pin, state);
  return true; // request handled properly
}

bool LampadaState(const String &deviceId, bool &state) {
  Serial.printf("A lampada foi %s\r\n", state?"ligada":"desligada");
  digitalWrite(Lampada_Pin, state);
  return true; // request handled properly
}

bool ReguaState(const String &deviceId, bool &state) {
  Serial.printf("A regua de energia foi %s\r\n", state?"ligada":"desligada");
  digitalWrite(Regua_Pin, state);
  return true; // request handled properly
}

bool VentiladorState(const String &deviceId, bool &state) {
  Serial.printf("O ventilador foi %s\r\n", state?"ligado":"desligado");
  digitalWrite(Ventilador_Pin, state);
  return true; // request handled properly
}

// setup das conexões Wifi
void setupWiFi() {
  Serial.printf("\r\n[Wifi]: Conectando...");
  WiFi.begin(WIFI_SSID, WIFI_PASS);

  while (WiFi.status() != WL_CONNECTED) {
    Serial.printf(".");
    delay(250);
  }

  Serial.printf("Conectado!\r\n[WiFi]: Endereço de IP e %s\r\n", WiFi.localIP().toString().c_str());
}

// setup das funções para o SinricPro
void setupSinricPro() {
  // add devices and callbacks to SinricPro
  SinricProSwitch &mySwitch1 = SinricPro[Abajour_ID];
  mySwitch1.onPowerState(AbajourState);

  SinricProSwitch &mySwitch2 = SinricPro[Lampada_ID];
  mySwitch2.onPowerState(LampadaState);

  SinricProSwitch &mySwitch3 = SinricPro[Regua_ID];
  mySwitch3.onPowerState(ReguaState);

  SinricProSwitch &mySwitch4 = SinricPro[Ventilador_ID];
  mySwitch4.onPowerState(VentiladorState);

  // setup SinricPro
  SinricPro.onConnected([](){ Serial.printf("Conectado a nuvem SinricPro\r\n"); }); 
  SinricPro.onDisconnected([](){ Serial.printf("Desconectado a nuvem SinricPro\r\n"); });
  SinricPro.begin(APP_KEY, APP_SECRET);
}

Envie o seu programa na Arduino IDE e espere carregar.

Para ver mais exemplos do uso Sinric Pro, você pode ir direto no Github deles clicando aqui.

Integrando a Alexa ao projeto.

Abra o aplicativo Alexa e aperte na aba “dispositivos” no canto inferior direito, e clique em “Suas Skills de casa inteligente”.

Irá abrir uma nova tela, e vá em “Ativar Skills de casa inteligente”, na parte inferior.

Pesquise por “Sinric Pro”.

Aperte em cima do resultado, e uma nova tela aparecerá. Aperte em “Ativar para uso”.

E abrirá uma opção para você colocar o login e senha criado anteriormente, no site do Sinric Pro. Coloque e marque a opção “Não sou um robô”. Após a confirmação, vá em “Sign in”.

E essa tela irá aparecer te mostrando que sua conta foi vinculada. Depois dessa tela aparecer, você pode apertar o botão X no canto superior esquerdo, ou apertar o botão de voltar várias vezes, até chegar na tela principal.

 

Talvez uma tela como esta apareça, pedindo para você descobrir os dispositivos., pode clicar em descobrir os dispositivos. Se caso não achar nenhum, é sinal de que eles já foram descobertos. Volte a tela principal.

Vá novamente na guia “Dispositivos”, e veja seus novos dispositivos.

Agora iremos criar um novo grupo de dispositivos. Isso serve para fazer o acionamento coletivo deles, agrupando todos. Para isso, vá no canto superior direito no + e selecione “Adicionar grupo”.

Coloque um nome no grupo, ou selecione um nome já existente, e aperte em avançar.

Selecione os dispositivos que farão parte deste grupo, e aperte salvar.

E com isso o grupo estará pronto.

 

Montando os circuitos

 

Antes de fazer a montagem, observe o pinout do NodeMCU.

Imagem retirada do site esp8266-shop.

Observe que a numeração do pinos que vão para a Arduino IDE não correspondem aos que estão impressas na placa, e sim a esses que estão na imagem. Logo, perceba que os pinos usados para o projeto (verifique o código mais acima) são os 4 seguidos: 16, 5, 4, e 0.

Para começar a montar, iremos fazer um protótipo inicial com LEDs, que irão simular cada dispositivo, pois, assim conseguiremos detectar se o programa está correto com uma complexidade menor na montagem. Os resistores usados são os de 330R citados na parte de materiais.

E o resultado obtido deve ser algo parecido com este:

https://blog.eletrogate.com/wp-content/uploads/2020/04/protoboard-1.mp4

Lembrando que não é necessário que o cabo micro-USB esteja ligado necessariamente ao computador. Depois que o código estiver carregado, ele pode estar ligado apenas a um carregador de celular (5V).

Fazendo a conexão com os relês

Para fazer a conexão com os relês, tome bastante cuidado!

Se você for criança, peça a ajuda de um adulto, pois conexões erradas ou mal isoladas podem ocasionar em acidentes graves.

Siga o diagrama abaixo para fazer a conexão dos seus dispositivos com o relé. É recomendado que ao invés de ligar o dispositivo diretamente na rede elétrica, você instale um plug fêmea de tomada e o ligue dessa forma.


Conclusão

Então, com tudo finalmente concluído você pode dar comandos aos seus dispositivos a partir do seu celular!

https://blog.eletrogate.com/wp-content/uploads/2020/04/automacao.mp4

Aproveite a criatividade e automatize mais dispositivos, integre sensores a eles e coloque em prática todo o seu conhecimento em robótica e automação.

Gostou do projeto? Deixe aqui embaixo seu curtir para nos incentivar a trazer sempre mais conteúdos.

Este projeto fez com que você automatizasse sua casa toda? Grave um vídeo, e nos marque no instagram @eletrogate

Em caso de dúvidas e sugestões, deixe um comentário!

Deixo aqui o meu muito obrigado por você ter lido até aqui!

Quer saber mais sobre Arduino ?

Placas Arduino | Arduino | Case Arduino | Placa Arduino | Kit Arduino | Sensores Arduino


Sobre o Autor


Gustavo Nery

Cursando Engenharia de Controle e Automação pela UFMG. Apaixonado por eletrônica, computação e tecnologias na área de sistemas embarcados. Nos tempos livres me divido entre desenvolver pesquisa na universidade, adquirir novos conhecimentos e estar com a família.


Eletrogate

9 de abril de 2020 Atualizado em: 16 maio 2022

A Eletrogate é uma loja virtual de componentes eletrônicos do Brasil e possui diversos produtos relacionados à Arduino, Automação, Robótica e Eletrônica em geral.

Módulos Wifi

Placa de Desenvolvimento Arduino Uno WiFi

Eletrogate24 de maio de 2022

Neste post, você conhecerá uma placa que une o melhor das baseadas em ESP8266 com o melhor da família de placas baseadas no ATmega328p: a Uno WiFi.

Módulos Wifi

Placa de Desenvolvimento Arduino Uno WiFi

Eletrogate24 de maio de 2022

Neste post, você conhecerá uma placa que une o melhor das baseadas em ESP8266 com o melhor da família de placas baseadas no ATmega328p: a Uno WiFi.

Projetos

Radar/Sonar Ultrassônico para seus Projetos

Eletrogate19 de maio de 2022

Neste projeto, iremos construir um Radar (‘Radio Detection And Ranging’) ultrassônico com a Arduino e o software Processing. Iremos usar o conhecimento em programação com o sensor ultrassônico no Arduino obtido no post “Sensor Ultrassônico HC-SR04 com Arduino”.

Projetos

Radar/Sonar Ultrassônico para seus Projetos

Eletrogate19 de maio de 2022

Neste projeto, iremos construir um Radar (‘Radio Detection And Ranging’) ultrassônico com a Arduino e o software Processing. Iremos usar o conhecimento em programação com o sensor ultrassônico no Arduino obtido no post “Sensor Ultrassônico HC-SR04 com Arduino”.

Projetos

Levitação Ultrassônica com Arduino

Eletrogate17 de maio de 2022

Não é nenhuma varinha mágica ou encantamento como “Wingardium Leviosa” que você vai precisar para esse projeto. Com um Arduino, um driver de motor ponte H e um sensor de distância ultrassônico HC-SR04 você consegue criar uma máquina capaz de fazer objetos levitarem.

Projetos

Levitação Ultrassônica com Arduino

Eletrogate17 de maio de 2022

Não é nenhuma varinha mágica ou encantamento como “Wingardium Leviosa” que você vai precisar para esse projeto. Com um Arduino, um driver de motor ponte H e um sensor de distância ultrassônico HC-SR04 você consegue criar uma máquina capaz de fazer objetos levitarem.

Modelagem 3D

Conheça o Tinkercad

Eletrogate12 de maio de 2022

Se você já pensou em criar um projeto eletrônico, mas não tinha os componentes necessários e queria fazer um teste antes, este post foi feito pra você! Neste post, iremos conhecer a plataforma Tinkercad. Através dela, você poderá testar projetos, circuitos eletrônicos, códigos, criar designs 3D e muito mais.

Modelagem 3D

Conheça o Tinkercad

Eletrogate12 de maio de 2022

Se você já pensou em criar um projeto eletrônico, mas não tinha os componentes necessários e queria fazer um teste antes, este post foi feito pra você! Neste post, iremos conhecer a plataforma Tinkercad. Através dela, você poderá testar projetos, circuitos eletrônicos, códigos, criar designs 3D e muito mais.

Eletrogate Robô

Cadastre-se e fique por
dentro de novidades!

blog-eletrogate-logo-footer

Rua Rio de Janeiro, 441 - Sala 1301
Centro - Belo Horizonte/MG
CEP 30160-041
*Não temos atendimento físico

ANWAR SLEIMAN HACHOUCHE - ME
CNPJ: 18.917.521/0001-73

Atendimento

(31) 3142-3800

contato@eletrogate.com


Seg a Sex - das 8h às 17h

Institucional

  • Apostilas
  • Quem Somos
  • Privacidade
  • Seja um Redator
  • Trabalhe Conosco

Nos acompanhe

Facebook Instagram Youtube

© ELETROGATE 2022 - Todos os direitos reservados. Termos de uso e Política de privacidade.