Índice:

Automação residencial com Android e Arduino: abra o portão ao chegar em casa: 5 etapas
Automação residencial com Android e Arduino: abra o portão ao chegar em casa: 5 etapas

Vídeo: Automação residencial com Android e Arduino: abra o portão ao chegar em casa: 5 etapas

Vídeo: Automação residencial com Android e Arduino: abra o portão ao chegar em casa: 5 etapas
Vídeo: Automação Residencial com Arduino - Primeiros Passos - Eletrônica Fácil 2024, Novembro
Anonim
Automação residencial com Android e Arduino: abra o portão ao chegar em casa
Automação residencial com Android e Arduino: abra o portão ao chegar em casa

Este Instructable trata da configuração de um sistema de automação residencial a ser controlado via smartphone, por meio de uma conexão com a internet, para que possa ser acessado de qualquer lugar que você precisar. Além disso, ele realizará determinadas ações sempre que um critério for atendido (como, por exemplo, acender a luz quando o smartphone se conectar à rede wi-fi doméstica, abrir o portão ao entrar em uma determinada área GPS, ou tudo o mais que você desejar).

Um aplicativo Android existente será usado, o que requer o mínimo de codificação possível: basta fazer o upload do código e pronto. O cérebro - o microcontrolador - será um Arduino, ou placa compatível com o Arduino, como um Aruino Uno com um escudo Ethernet ou um NodeMCU ESP8266.

Para acionar o sistema quando uma condição for atendida (posição GPS, hora, etc.), estaremos usando o notório Tasker; mais sobre isso mais tarde.

Ao realizar o sistema, os seguintes pontos-chave foram mantidos em mente:

  • Tem que ser barato.
  • Ele deve ser acessível de fora da rede doméstica local (ou seja, seu wi-fi).
  • Tem que ser REALMENTE fácil e rápido de construir e configurar.
  • Tem que ser confiável.

Dito isto, todo o projeto custará cerca de 20 € (7,50 € para um ESP8266, 8 € para uma placa de relé, o restante para hardware adicional) e levará cerca de 30 minutos para configurar tudo - nada mal.

Portanto, se você estiver interessado, siga este guia simples e rápido e configure o seu!

Etapa 1: Configurando o Hardware

Configurando o Hardware
Configurando o Hardware

Depois de reunir todos os seus componentes, a primeira coisa a fazer é conectar tudo.

Neste exemplo, conectaremos uma lâmpada ao ESP8266; lembre-se de que você deve ter muito cuidado ao trabalhar com tensões principais - as casas usam 220V, isso pode te matar! Sempre desligue a energia antes de trabalhar nisso e, se você não estiver confiante, procure a ajuda de um especialista!

Dito isso: para lidar com tais níveis de tensão e corrente (que queimarão o minúsculo ESPR8266), precisamos usar um relé adequado (como este que é lógico de 5 V, adequado para o Arduino padrão, ou este, um relé de nível lógico de 3,3 V, adequado para a pinagem de 3,3 V do ESP82666); as conexões são muito fáceis, siga o diagrama que anexamos.

Observe que algumas placas de relé (como a que vinculamos) são ATIVAS BAIXAS; isso significa que você deve conectar o relé ao aterramento para que seja ligado e vice-versa. Se este for o seu caso, a Homotica oferece uma boa solução; veremos no próximo parágrafo.

Etapa 2: configuração do ESP8266

Configuração ESP8266
Configuração ESP8266
Configuração ESP8266
Configuração ESP8266
Configuração ESP8266
Configuração ESP8266

Agora que configuramos o hardware do sistema de automação, temos que programar o microcontrolador.

Para fazer isso, precisaremos do software Arduino para fazer o upload do esboço fornecido para o ESP8266; portanto, navegue até a página de download do Arduino e obtenha a versão mais adequada para você.

Depois de fazer o download, instale-o.

Agora que temos nosso IDE instalado, precisamos da biblioteca necessária para que o esboço funcione; para instalá-lo, abra o App Github Repo e escolha Download no botão verde à direita.

Vá para a pasta Download no seu PC e, usando um software como o WinRar ou WinZip, descompacte o arquivo; abra a pasta recém-criada "homotica-master" e copie a pasta interna chamada "Homotica" para a pasta Arduino Editor Libraries (geralmente você pode encontrá-la em C: / Users / your_user_name / Documents / Arduino / libraries). Exclua os arquivos restantes em "homotica-master", não precisaremos deles

Uma etapa está faltando no upload do código para o ESP8266: precisamos obter a biblioteca para que o IDE do Arduino se comunique com a placa, pois ele não é oficialmente suportado.

Para fazer isso, siga estas etapas (créditos: Github ES8266 Arduino Repo):

  • Inicie o Arduino e abra a janela Arquivos> Preferências.
  • Digite "https://arduino.esp8266.com/stable/package_esp8266com_index.json" (sem aspas) no campo URLs adicionais do gerenciador de placa. Você pode adicionar vários URLs, separando-os com vírgulas.
  • Abra o gerenciador de placas em Ferramentas> menu Placa e instale a plataforma esp8266 (pesquise "esp8266" e baixe "esp8266 da comunidade ESP8266").

Tudo está configurado. Vamos cuidar do código do esboço.

Abra Arquivo> Exemplo> Homotica> Homotica ESP8266, copie TODO o código em um novo esboço e modifique os seguintes parâmetros:

  • ssid: insira aqui o nome da sua rede wireless
  • senha: sua senha wi-fi
  • ip, gateway, subnet: você provavelmente não terá que tocar nessas configurações; mude o ip se você quiser que seu ESP8266 tenha um endereço diferente
  • mUdpPort: a porta que abriremos no roteador posteriormente; se você não sabe o que é, não toque
  • code: um código exclusivo de 8 caracteres que será usado para autenticar seu aplicativo; você pode escolher o que quiser.

Se você estiver usando uma configuração ACTIVE LOW, não se esqueça de chamar homotica.setActiveLow () conforme mostrado no código de exemplo!

Para finalizar: adicione homotica.addUsedPin (5) (como mostrado no exemplo) para informar ao ESP8266 qual GPIO ele deve manipular, entre o loop while e homotica.set (mUdpPort, code); exclua todas as linhas homotica.simulateUdp (…).

Este é o código com o qual você deve ficar:

#incluir

#include #include const char * ssid = "mywifiname"; const char * password = "wifipassword"; Endereço IP ip (192, 168, 1, 20); Gateway de endereço IP (192, 168, 1, 1); Sub-rede IPAddress (255, 255, 255, 0); sem sinal int mUdpPort = 5858; código String estático = "aBc159"; Homotica homotica; void setup () {WiFi.config (ip, gateway, sub-rede); WiFi.begin (ssid, senha); while (WiFi.status ()! = WL_CONNECTED) {delay (500); } homotica.addUsedPin (5); homotica.setActiveLow (); // <- somente se você precisar homotica.set (mUdpPort, code); } void loop () {homotica.refresh (); }

Quando tudo estiver configurado corretamente, altere as configurações do compilador no menu Ferramentas de acordo com a captura de tela anexada e selecione a porta que seu ESP8266 está conectado em seu computador em Ferramentas> Porta.

Agora, clique em upload. Seu microcontrolador está configurado e pronto para funcionar!

Etapa 3: Roteador e IP

Roteador e IP
Roteador e IP
Roteador e IP
Roteador e IP

Para nos comunicarmos com o ESP8266 de todas as redes, precisaremos dizer ao roteador para permitir a entrada do comando que enviamos a ele.

Para fazer isso, navegue até a página de configuração do roteador (geralmente 192.168.1.1) e procure por algo como "servidor virtual" ou "encaminhamento de porta"; você pode localizar a configuração precisa para o modelo do seu roteador pesquisando no Google.

No encaminhamento de porta, crie uma nova regra que permita todas as conexões ao ESP8266 (aquela configurada anteriormente) através da porta ESP8266 (novamente, aquela configurada anteriormente). Nomeie-o como Homotica, insira o IP ESP8266 no campo IP e salve.

Se o roteador que você está usando não permitir que você faça isso, não se preocupe: você não conseguirá usar o aplicativo da rede móvel, mas funcionará perfeitamente dentro do seu wi-fi doméstico.

Agora, para nos referirmos ao nosso roteador do mundo externo, precisamos saber seu IP público; a desvantagem é que a maioria dos provedores de internet não fornece um IP estático, mas sim um dinâmico, que muda com o tempo.

Mas espere, podemos resolver isso!

Vá para NoIp, crie uma nova conta e, em seguida, crie um novo nome de host (veja a imagem em anexo). Anote qual nome de host você possui (em meu exemplo: https://yourhostname.ddns.net) e prossiga para a próxima etapa.

(Observação: você pode querer que seu pc sincronize automaticamente o IP do roteador com o nome do host NoIp: baixe o aplicativo gratuito para fazer isso)

Etapa 4: configuração do aplicativo

Configuração de aplicativo
Configuração de aplicativo
Configuração de aplicativo
Configuração de aplicativo
Configuração de aplicativo
Configuração de aplicativo

Vamos cuidar do app, certo?

Baixe o aplicativo na página da Play Store e abra-o.

Abra o menu esquerdo, selecione Tabuleiros e crie um novo. Preencheremos os parâmetros que definimos anteriormente no código de esboço ESP8266:

  • Nome do Arduino: o que você deseja (seja ESP8266)
  • IP do host: pode ser

    • o IP estático do roteador referenciado por meio do link NoIp
    • o IP ESP8266 se você quiser usá-lo apenas de dentro de sua rede wi-fi doméstica 192.168.1.20
  • Porta do host: aquela que configuramos e abrimos anteriormente 5858
  • Código de autenticação: o código de 8 caracteres que definimos no esboço aBc195

Salve . Abra o menu novamente, crie um novo dispositivo; vamos anexar uma lâmpada para demonstração:

  • Nome: luz
  • Nome do botão: usaremos Ativado, escolha o que você preferir
  • Número do pino: o pino ao qual fixamos a lâmpada. Tome cuidado! No ESP8266, as etiquetas dos pinos (D1, D2 …) NÃO correspondem ao nome do pino GPIO! Pesquise no Google para determinar qual pino é qual GPIO (em nosso exemplo: pino 5 é rotulado como D1)
  • Comportamento: você pode escolher entre ligar, desligar, mudar o estado de "empurrar" (ligar e desligar) o dispositivo.

Salve . Se você configurou tudo corretamente até agora, pressione On na lâmpada.

Legal, não é?

Agora você pode se divertir adicionando mais dispositivos, ainda mais placas e organizando-os em cenas.

Mas para usar com força total o que você acabou de criar, teremos que usar o Tasker.

Etapa 5: Integração com Tasker

Integração Tasker
Integração Tasker
Integração Tasker
Integração Tasker
Integração Tasker
Integração Tasker

Se você possui Tasker, ou deseja comprá-lo, continue lendo! Vamos usá-lo para dizer à Homótica o que fazer e quando fazer.

Neste exemplo, vamos acender a luz sempre que nos conectarmos ao wi-fi doméstico E o horário for entre 16h e 18h.

Abra o Tasker; crie uma nova tarefa (vamos chamá-la de Turn On Light), selecione Adicionar> Plugin> Homotica, pressione o lápis incon para configurar o plugin. Selecione Light> On and Save. De volta ao menu principal, crie um novo Perfil, selecione Estado> WiFi conectado, insira o nome do tour Wifi no campo SSID; pressione para trás e selecione Ligar a luz ao entrar na atividade. Agora, mantenha pressionado o lado esquerdo do perfil recém-criado, selecione Adicionar> Horário> Das 16h às 18h e feche.

Acabamos. Nossa luz se acenderá quando entrarmos em casa no horário que definirmos.

Isso é útil!

Agora é a sua vez: seja criativo com Homotica e Tasker, e não se esqueça de nos mostrar o que você criou!

Recomendado: