Índice:

Controle o portão deslizante automático com o Home Assistant e o ESPHome: 5 etapas (com fotos)
Controle o portão deslizante automático com o Home Assistant e o ESPHome: 5 etapas (com fotos)
Anonim
Controle o seu portão deslizante automático com o Home Assistant e o ESPHome
Controle o seu portão deslizante automático com o Home Assistant e o ESPHome

O artigo a seguir traz alguns comentários sobre minha experiência pessoal no controle do portão deslizante automático que instalei em minha casa. Este portão, denominado "V2 Alfariss", foi fornecido com alguns controles remotos Phox V2 para controlá-lo. Eu também tenho uma campainha Google Nest Hello, que infelizmente não pode ser conectada ao controlador do portão deslizante para abrir remotamente o portão do aplicativo móvel. Para mim, uma maneira de resolver essa limitação era encontrar uma maneira de conectar o controlador de portão deslizante automático à Internet. Com esse novo portão conectado, posso responder a casos de uso como controlar o portão deslizante com meu telefone celular. Consegui isso usando o Home Assistant, o ESPhome e algumas peças eletrônicas.

A ideia por trás deste artigo não é dar a você algo pronto para usar, mas sim inspirá-lo. Lembre-se, se você não tem exatamente o mesmo portão automático, não esqueça de baixar e ler a documentação técnica do seu modelo. Adapte-o e melhore-o. Aviso: Tenha cuidado e não se esqueça de desligar a energia elétrica antes de abrir o controlador principal. Aproveitar!

Suprimentos

  • Ferramentas:

    • Chave de fenda
    • Ferro de solda
    • Multímetro
  • Partes:

    • Framboesa PI 3 (conjunto completo: 2A alim + cartão SD de 32 gb)
    • ESP8266 Wemos D1 mini
    • 2 módulos de relé
    • 2 resistores 10k
    • PCB para prototipagem
    • Fios

Etapa 1: Como funciona?

Como funciona?
Como funciona?

O principal desafio aqui é conectar o portão deslizante automático a um smartphone. Para fazer isso, vamos transformar o portão deslizante automático em um dispositivo IOT. Claro, existem várias maneiras de fazer isso. No meu caso, depois de alguns experimentos, decidi ir com:

  • Usando o Home Assistant como um hub para controlar o portal e receber solicitações de um usuário.
  • Instalando o ESPHome como o firmware dentro do ESP8266.
  • Partes eletrônicas:

    • Um protótipo de PCB para soldar componentes e conectá-los
    • Dois relés para simular o botão para abrir ou fechar o portão
    • Uma fonte de alimentação 5V antiga para alimentar o ESP8266
    • Dois resistores para dividir a tensão do sensor de abertura / fechamento
  • Uma conexão de Internet com um roteador (necessário recurso de configuração de regra NAT)
  • Uma conta DuckDNS para permitir a resolução de nomes para o seu Assistente Doméstico
  • Um telefone celular para instalar o aplicativo Home Assistant e um widget na tela

O fluxo

Observe o esquema para entender melhor.

  1. No seu celular, você ativa o widget do aplicativo móvel Home Assistant
  2. Uma solicitação é enviada para o endereço da Web do seu Home Assistant (resolvido por DuckDNS e TLS por vamos criptografar).
  3. Seu roteador de Internet direciona a solicitação para o aplicativo Assistente para casa
  4. Home Assistant envia a ação de solicitação para ESPHome
  5. ESPHome aciona o motor do portão deslizante automático
  6. Champanhe !

Etapa 2: instalar e configurar o Home Assistant no Raspberry PI

O Home Assistant pode ser visto como um hub para todas as suas coisas de IOT em casa. Será um bom lugar para controlar todos os dispositivos conectados e adicionar muitos recursos. Os principais recursos que mais gosto são o painel, a API e a diversidade de add-ons.

Instalação

Eu claramente não tenho nenhum valor agregado para dizer a você como configurar e instalar o Home Assistant. Na verdade, antes desse projeto eu não conhecia esse software. Os principais artigos são:

  • Instale o Home Assistant com este artigo
  • A configuração de rede para o Home Assistant pode ser encontrada aqui:

    github.com/home-assistant/operating-system…

  • Instale o ESPHome com este:
  • Instale o complemento DuckDNS para o assistente doméstico:
  • Instale o plugin File Editor (útil):

Depois de todos esses pontos, você tem um bom Home Assistant rodando em seu Raspberry PI. Você deve ser capaz de acessá-lo por meio de HTTP e um IP local ou tente https://homeassistant.local: 8123.

Configuração

Configure DuckDNS com seu domínio e com o token. Por exemplo, você pode ver nas fotos, um pedaço da minha configuração. Não se esqueça de aceitar_termos com "verdadeiro".

lets_encrypt:

aceitar_terms: true certfile: fullchain.pem keyfile: privkey.pem token: 92f56bb2-2c26-4802-8d4d-xxxxxxxxxxxx domínios: - nameofyourchoice.duckdns.org segundos: 300

Decidi configurar HA com um IP estático porque é mais simples e você tem certeza de que o IP será o mesmo após uma reinicialização e então suas regras de encaminhamento de porta continuarão a funcionar: https://github.com/home-assistant/ sistema operacional …

No meu caso, adiciono uma parte da configuração dentro do arquivo configuration.yaml porque o DuckDNS não gerencia o https, apenas o certificado vamos criptografar e a atualização do DuckDns:

http:

ssl_certificate: /ssl/fullchain.pem ssl_key: /ssl/privkey.pem base_url:

Etapa 3: A placa eletrônica personalizada para aprimorar a porta deslizante automática

A placa eletrônica personalizada para aprimorar a porta deslizante automática
A placa eletrônica personalizada para aprimorar a porta deslizante automática
A placa eletrônica personalizada para aprimorar a porta deslizante automática
A placa eletrônica personalizada para aprimorar a porta deslizante automática
A placa eletrônica personalizada para aprimorar a porta deslizante automática
A placa eletrônica personalizada para aprimorar a porta deslizante automática

Talvez tenha sido a parte mais incomum para mim, porque geralmente estou mais ajustando coisas de softwares do que de hardwares. Comecei com uma placa de ensaio e um circuito bem básico, só para verificar se consigo fazer o upload de um programa dentro do mini Wemos D1 e piscar um LED. Então, mudei o firmware do ESPhome e sigo este artigo de introdução perfeito:

Depois de algumas iterações para encontrar o circuito certo, eu o documentei com Fritzing. Certifique-se de gastar tempo nesta etapa, já que não há como voltar quando tudo está soldado (não exatamente, mas não é um rollback fácil). Eu tentei simular o sensor de entrada do portão deslizante automático, mas isso foi um fracasso (explicarei mais tarde o porquê). Pessoalmente, descobri que o Fritzing é uma boa ferramenta para documentar o que você conecta na placa de ensaio.

Observação: você encontrará um bom ponto de partida aqui nas FAQs do ESPhome se não conseguir conectar o ESPHome ao Home Assistant para a primeira inicialização. Após o upload do firmware, você poderá fazer o upload "pelo ar" (OTA).

Relé para ativar o gatilho de abrir / fechar

Na especificação técnica do portão deslizante automático, especifica-se que é necessário fechar um circuito entre "START" e "COM" para desencadear uma ação de abrir / fechar o portão (abertura total). Um circuito fechado entre "START. P" e "COM" aciona uma ação de abrir / fechar o portão para pedestres. Não usei o "STOP" mas é o mesmo conceito mas para parar o portão ao abrir ou fechar.

Na escolha do componente eletrônico, decidi ir para um relé em vez de um transistor. Os transistores são bons, mas não fornecem uma garantia de que o circuito está perfeitamente fechado. Eu acho que eles podem deixar alguma corrente muito baixa entrar no circuito. Outro benefício do relé é que, ao testar seu circuito, você basicamente ouve quando o contato está próximo com o som "clic".

Obtenha o estado do sensor aberto

No início, eu estava pensando em usar alguns sensores magnéticos para detectar os estados de abertura ou fechamento do portão. Mas percebi que há um plugue que menciona "sensor de limite" no controlador. Claramente não feito para ser usado (por geeks como eu), descobri com um testador de contato que posso ler o estado aberto ou fechado quando abro o portão. Cometi um grande erro pensando que o estado era algum tipo de tensão lógica TTL (3,3 V). Nesse caso, você pode conectá-los diretamente à entrada Wemos. Mas, na verdade, quando o portão é aberto, há uma tensão de saída de 6,3 V. Para usar este sinal, você deve dividir a voltagem com este tipo de circuito https://www.learningaboutelectronics.com/Articles/H… A solução é bastante simples porque a voltagem precisa ser dividida por dois. Portanto, usei dois resistores de 10 Kohms entre a saída do sensor de limite e a entrada Wemos (novamente, procure um esquema nas imagens anexas).

Fonte de alimentação 5v barata

Para alimentar todos esses componentes, uso uma velha fonte de alimentação de telefone celular. Abri e mudei o plugue para um pequeno cabo de plugue com parafuso. Também decidi fundir os dois pcb (esp e fonte de alimentação) com cola quente (sim, eu sei, isso está um pouco sujo, mas funciona:-). Não é a coisa mais limpa do mundo, mas mais fácil de manusear e evita tocar no 220v.

Isso é tudo para a parte de hardware.

Etapa 4: Firmware ESPHome para rodar no protótipo de PCB

A lógica dentro do ESP8266 é injetada por meio do portal do Home Assistant ESPHome Add-on. Você codifica a lógica que o ESPHome executa. O tipo muito pequeno de aplicativo deve ser código com a sintaxe ESPHome. É muito fácil e divertido porque, com apenas algumas linhas de YAML, seu ESP8266 se torna rapidamente uma coisa inteligente. O código-fonte completo está disponível aqui: https://gist.github.com/toomone/819112ea1b04937912… Vamos nos concentrar na parte importante do código.

Controlando os relés

Como eu disse anteriormente, o controlador de portão deslizante automático pode acionar uma ação de abrir ou fechar com apenas um impulso curto (circuito fechado) entre duas entradas. Para fazer isso, você precisa configurar uma seção de switch com pouca configuração. Por exemplo, vamos focar na parte que ativa (abre ou fecha) a abertura parcial do portão (necessária para um pedestre, por exemplo).

trocar:

- plataforma: gpio pin: D3 // o número do PIN onde o sinal será emitido no id Wemos: relé restore_mode: ALWAYS_OFF - plataforma: nome do modelo: ícone "Gate Pedestrian Remote": "mdi: walk" turn_on_action: // the lógica a ser executada pelo ESPHome para simular um pulso - switch.turn_on: relé - atraso: 500ms - switch.turn_off: relé

O código anterior irá gerar um switch e um template. Esses dois conceitos permitem que a ESPHome ofereça algum mecanismo aprimorado sem codificação real. Convido você a ler a documentação da ESPHome para se aprofundar nos recursos oferecidos. https://esphome.io/cookbook/relay.html e

Leitura do estado do sensor aberto e fechado

binary_sensor:

- plataforma: gpio pin: número: D1 invertido: nome verdadeiro: "Sensor aberto" id: open_sensor device_class: garage_door

Esta parte do script instrui a placa wemos a ler o estado do sensor aberto em D1. Para encontrar D1, basta ler em seu PCB Wemos. Usei o parâmetro "inverted" para true para inverter o valor do sinal. Não me lembro do motivo claro, mas acho que foi simples exibir fechado ou aberto de acordo com o estado do portal no painel de HA.

Permitindo chamada de API para ESPHome

Se quiser usar o widget do assistente da página inicial no telefone, você precisará adicionar este pequeno código:

# Habilitar API do Home Assistant

api: services: - service: open_portal_pedestrian então: - switch.turn_on: relé - atraso: 500ms - switch.turn_off: relé

Desta forma, o configurador do app Home Assistant listará a ação para abrir o portal. Escolhi apenas o para pedestre porque este é o que mais utilizo.

Etapa 5: exponha o seu assistente doméstico para o mundo

Exponha o seu assistente doméstico para o mundo
Exponha o seu assistente doméstico para o mundo
Exponha o seu assistente doméstico para o mundo
Exponha o seu assistente doméstico para o mundo

Porque, você deseja ser capaz de abrir seu Portão de Correr Automático de qualquer lugar do planeta e não apenas de sua casa, você deve expor seu HA para o mundo. A propósito, certifique-se de usar uma autenticação de senha forte. Em seu roteador de Internet, você deve configurar uma regra para rotear todo o tráfego proveniente de uma porta específica para um IP específico e também para uma porta. Por exemplo, você encontrará a configuração que fiz no roteador do meu provedor (desculpe, está em francês), mas notará que é uma configuração muito simples. A regra deve dizer ao seu roteador para aceitar todos os protocolos na porta xxxx para ir no IP do Home Assistant com a porta 8123 (se você não o alterou).

Isso é tudo. Não hesite em fazer perguntas porque certamente esqueci de adicionar detalhes em uma parte específica. O sistema está funcionando todos os dias sem problemas. Também gosto do fato de poder abrir ou fechar o estado do portal no meu telefone.

Recomendado: