Índice:

ESP8266-01 IoT Smart Timer para Domótica: 9 etapas (com imagens)
ESP8266-01 IoT Smart Timer para Domótica: 9 etapas (com imagens)

Vídeo: ESP8266-01 IoT Smart Timer para Domótica: 9 etapas (com imagens)

Vídeo: ESP8266-01 IoT Smart Timer para Domótica: 9 etapas (com imagens)
Vídeo: ESP8266 Project using Blynk Google Assistant with Timer and Sensor | IoT Projects 2022 2024, Novembro
Anonim
ESP8266-01 IoT Smart Timer para Domótica
ESP8266-01 IoT Smart Timer para Domótica
ESP8266-01 IoT Smart Timer para automação residencial
ESP8266-01 IoT Smart Timer para automação residencial
ESP8266-01 IoT Smart Timer para automação residencial
ESP8266-01 IoT Smart Timer para automação residencial

ATUALIZAÇÕES

2018-09-30: Firmware atualizado para a versão 1.09. Agora com Suporte Básico Sonoff

2018-10-01: Versão de teste do firmware 1.10 disponível para teste no ESP8266-01 com problemas

Com os novos chavões sendo Internet Of Things (IoT) e Home Automation, decidi examinar os itens atuais dentro e ao redor da minha casa que são controlados por algum tipo de dispositivo. Os itens que mais se destacaram são os seguintes:

  • Bomba de piscina
  • Enchedor de água de piscina
  • Piscina e luzes circundantes
  • Luzes do gabinete do sistema de TV / entretenimento

O item comum usado para controlar esses dispositivos são os temporizadores de tomada de parede padrão. Cada dispositivo está equipado com seu próprio cronômetro e estão localizados em locais diferentes. Então, por que escolhi esses itens para começar com projetos de Internet das Coisas ou Automação Residencial, você pode perguntar?

Bem, morar na África do Sul significa que falhas de energia são uma ocorrência regular. Com as estatísticas da minha casa, tive 35 falhas de energia no ano passado, totalizando 40 horas. Normalmente, isso não é um problema, pois todos os temporizadores instalados atualmente são equipados com uma bateria reserva para manter o tempo durante falhas de energia. Mas existem alguns problemas:

  • Essas baterias de reserva duram apenas um ou dois anos, então o cronômetro deve ser substituído. Os temporizadores são construídos de forma que o temporizador precise ser destruído para obter acesso à bateria Ni-Cad interna.
  • Cada vez que falta energia, os temporizadores com baterias defeituosas precisam ser reprogramados e a hora definida.
  • A localização física do cronômetro, quando conectado à tomada da parede, torna quase impossível ler os visores do LCD visualizando o cronômetro de cima. Isso significa que o cronômetro precisa ser desconectado ou tenho que me deitar no chão para definir ou ajustar os cronômetros após uma queda de energia.

Pelas razões acima, decidi testar a possibilidade de substituir os timers por um IoT Smart Timer, conectado à minha rede doméstica local.

A ideia era projetar um temporizador autônomo, que pudesse:

  • Ajustar automaticamente a hora atual usando a Internet (IoT)
  • Operado sem nenhuma ação do usuário (Smart)
  • Ligue / desligue uma saída de acordo com os tempos definidos (temporizador)
  • Programável e controlável via rede (Domótica)

Etapa 1: o design ESP8266-01

O Design ESP8266-01
O Design ESP8266-01
O Design ESP8266-01
O Design ESP8266-01

O design foi feito usando um módulo WiFi ESP8266-01, pois era o que eu tinha disponível. Em sua forma mais simples, o ESP8266-01 tem quatro pinos de E / S:

  • GPIO0
  • GPIO2
  • TX
  • RX

Modos de energização ESP8266-01

O estado lógico dos pinos de E / S são usados para determinar em qual modo o ESP8266-01 será inicializado. A primeira etapa foi determinar quais pinos de E / S podem ser usados para acionar um relé de saída.

  • Para inicialização normal, GPIO0 e GPIO2 devem ser configurados como lógico HIGH. Portanto, é claro que esses dois pinos não podem ser usados como uma saída digital.
  • O pino Tx é definido como uma saída na inicialização e a saída definida como alta. Este pino Tx também transmite alguns dados seriais durante a inicialização. Portanto, este pino também não pode ser usado como uma saída.

O único pino restante é o pino Rx. Este pino é definido como uma entrada na inicialização e não precisa ser puxado para o alto durante a inicialização. Este pino é, portanto, o mais adequado para ser usado como um pino de saída.

Arranque

Para garantir o modo de inicialização correto do ESP8266-01 durante a inicialização, os seguintes pinos são puxados para cima usando resistores de 10K:

  • GPIO0
  • GPIO2
  • RST
  • CH_PD

Isso garante que a unidade inicialize corretamente todas as vezes.

Relé de Saída

O RX é o único pino adequado para ser usado como uma saída. Este pino é, portanto, usado para conduzir o relé de saída por meio de um transistor NPN. O diodo de volante padrão e resistores de base de transistor foram adicionados.

Botão MODE / SET

O botão está conectado ao GPIO2 e, com o botão liberado, um resistor de 10K puxará GPIO2 para cima. Com o botão pressionado, o GPIO2 é puxado para 0V.

Este botão é usado para duas funções:

  • Configuração inicial para conectar a unidade a uma rede WiFi local
  • Para controlar manualmente a saída durante as operações normais

LED de indicação

O LED está conectado ao GPIO0 e indica o seguinte:

  • Na inicialização, pisca FAST para indicar o modo de configuração WiFi
  • Pisca lentamente quando a hora da unidade não está definida
  • indica o status ligado / desligado do relé de saída

Etapa 2: a fonte de alimentação

A fonte de energia
A fonte de energia
A fonte de energia
A fonte de energia
A fonte de energia
A fonte de energia

Usarei o IoT Smart Timer em diferentes níveis de tensão, portanto, há duas opções de fonte de alimentação disponíveis:

12 - 24 Vcc

O conversor DC-DC usado é adequado para fontes de até 28 V DC. A saída do conversor é ajustável e definida para 5V. Isso precisa ser feito antes de o módulo ESP8266 ser conectado.

Um diodo foi adicionado para proteger contra polaridade reversa na entrada de alimentação.

220V ACPara esta opção, consegui obter uma pequena fonte de alimentação comutada de 220V / 5V no eBay.

Independentemente da tensão de entrada, o IoT Smart Timer precisa de duas fontes de alimentação:

5V Rail

Com ambas as opções, o 5 V DC é obtido de uma fonte de alimentação comutada, e não de um regulador linear. Isso significa que há um mínimo de calor gerado pela fonte de alimentação. O 5V é usado para conduzir o relé de saída

3.3V Rail

O 3,3 V para o ESP8266-01 é obtido de um regulador ASM1117 3.3. O ASM1117 3.3 é um regulador linear e pode lidar com até 500mA. No entanto, o calor gerado será determinado pela tensão de entrada do ASM1117. Para reduzir o calor, o ASM1117 é alimentado por um trilho de 5V.

Filtragem de ruído

Para reduzir a ondulação de tensão para o ESP8266-01, o trilho de 3,3 V é equipado com um capacitor de 100 - 1000 uF. Os trilhos de 5 V e 3,3 V também são protegidos contra interferência de alta frequência por capacitores de 0,1 uf.

Etapa 3: Montagem da placa de PC

Montagem da placa de PC
Montagem da placa de PC
Montagem da placa de PC
Montagem da placa de PC
Montagem da placa de PC
Montagem da placa de PC

A placa PC foi projetada usando a versão freeware do Eagle. É uma placa de um lado, que pode ser facilmente feita em casa usando o método de transferência de toner.

Uma vez que a placa de PC é feita, monte a placa de PC na seguinte ordem:

  • Solde o regulador ASM1117 e três componentes SMD 0.1 uF no lado da solda da placa
  • Adicione o único jumper ao lado do componente da placa
  • Solde os resistores e diodos no lugar
  • Adicione os cabeçalhos para o módulo ESP8266-01
  • Adicione os pinos de cabeçalho para o LED e o botão
  • Adicione os terminais de parafuso
  • Usando pinos de cabeçalho, conecte o conversor DC / DC à placa.
  • Solde o relé no lugar
  • Complete a placa soldando o transistor e o capacitor de 100 uF.

Depois que todos os componentes estiverem soldados à placa, verifique todos os pontos de solda e certifique-se de que não haja curto-circuito entre as placas.

! ! ! NOTA IMPORTANTE ! ! ! Para garantir que a placa de circuito impresso possa lidar com grandes correntes nos contatos de saída, aplique uma quantidade decente de solda nas trilhas entre os contatos do relé e os terminais de parafuso

Etapa 4: Teste da placa de PC

Teste da placa de PC
Teste da placa de PC

! ! ! Antes de aplicar energia! ! !

Remova o módulo ESP8266-01 da unidade. Isso evita o superaquecimento do regulador ASM1117 antes que a alimentação de 5 V seja ajustada.

Não há muitos testes que podem ser feitos após a montagem. A etapa mais importante é garantir os níveis corretos de tensão.

  • Aplique 12 - 24 Vcc à unidade.
  • Meça a tensão de saída do conversor DC / DC
  • Ajuste a saída do conversor entre 5,0 e 5,5V.
  • Em seguida, meça a alimentação de 3,3 V.
  • Se os suprimentos estiverem OK, desligue a unidade

Agora você pode inserir o módulo ESP8266-01 nos cabeçalhos fornecidos.

! ! ! Observação !

Depois de testar o IoT Timer e ele estiver funcionando, use laca transparente para cobrir o lado da solda da placa de PC. Isso evitará a oxidação das trilhas e fornecerá isolamento extra entre os contatos do relé e o resto do circuito

Etapa 5: o gabinete

The Enclosure
The Enclosure
The Enclosure
The Enclosure
The Enclosure
The Enclosure

O gabinete não é tão importante, contanto que a placa do PC e toda a fiação se encaixem perfeitamente e com segurança nele.

Para facilitar a construção, criei um cabo com o LED e o botão MODE / SETUP conectado a ele. Isso me deu mais flexibilidade na montagem do LED e do botão no gabinete. Este cabo é então conectado ao conector da placa de circuito impresso.

As fotos mostram uma das unidades de 12 V usadas para luzes LED.

Etapa 6: Programação do ESP8266-01 / NodeMCU

Programação do ESP8266-01 / NodeMCU
Programação do ESP8266-01 / NodeMCU
Programação do ESP8266-01 / NodeMCU
Programação do ESP8266-01 / NodeMCU
Programação do ESP8266-01 / NodeMCU
Programação do ESP8266-01 / NodeMCU

Para programar o ESP8266-01, você precisa primeiro configurar o IDE do Arduino. Não vou entrar em detalhes, pois há muitos instructables excelentes disponíveis neste tópico. Escolhi os seguintes links em Instructables para referência, sem qualquer ordem específica aos autores. Obrigado por seus Instructables individuais.

Siga este ESP8266 e Arduino IDE para configurar o Arduino IDE para o módulo ESP8266.

Em seguida, você precisará de um programador para programar o ESP8266. Aqui estão dois links:

Usando Arduino Uno

Placa de programação DIY

Bibliotecas

Você precisará instalar bibliotecas adicionais para poder compilar o código. Novamente, consulte este Instructable:

Instalar e usar bibliotecas Arduino

Não me lembro quais bibliotecas tive que instalar, mas sei que o WiFiManager deve ser baixado separadamente. Incluí no arquivo Libraries.zip.

Etapa 7: configuração inicial

Configuração pela primeira vez
Configuração pela primeira vez
Configuração pela primeira vez
Configuração pela primeira vez
Configuração pela primeira vez
Configuração pela primeira vez

Quando usado pela primeira vez, o IoT Smart Timer precisa estar conectado a uma rede sem fio. Essa tarefa é realizada usando a biblioteca WiFiManager, portanto, nenhum SSID ou senha precisa ser digitado no código.

Siga estas etapas:

  • Ligue a unidade
  • O LED começará a piscar rapidamente
  • Pressione o botão MODE / SETUP
  • Quando o LED desligar, solte o botão
  • Aguarde alguns segundos e, em seguida, abra as conexões Wi-Fi do seu smartphone ou dispositivo
  • Uma nova rede WiFi chamada IoT Timer ficará visível
  • Selecione este ponto de acesso
  • Faça login no IoT Timer (nenhuma senha é necessária)
  • Espere até que o seu dispositivo esteja conectado à rede do IoT Timer
  • Abra qualquer navegador de internet
  • Na barra de endereço, digite o seguinte endereço IP - 192.168.4.1
  • O console WiFiManager abrirá
  • Selecione Configurar WiFi
  • Uma lista com pontos de redes WiFi disponíveis será exibida
  • Selecione a rede WiFi necessária e digite a senha
  • Em seguida, insira o endereço IP que deseja usar para se conectar ao IoT Timer
  • Digite o endereço IP do gateway padrão, seguido pela máscara
  • Assim que todas as configurações forem feitas, clique no botão Salvar
  • Uma nova janela será aberta para confirmar que as novas credenciais foram salvas
  • Feche seu navegador

Depois de salvo, a rede do IoT Timer será encerrada e a unidade tentará se conectar à sua rede sem fio.

  • Conecte seu smartphone ou dispositivo à mesma rede WiFi usada para o temporizador IoT.
  • Abra seu navegador
  • Na barra de endereço, digite o endereço IP do seu Timer IoT
  • A página de configuração do IoT Timer abrirá

Seu temporizador de IoT está pronto para uso

Etapa 8: configuração do temporizador IoT

Configuração do temporizador IoT
Configuração do temporizador IoT
Configuração do temporizador IoT
Configuração do temporizador IoT
Configuração do temporizador IoT
Configuração do temporizador IoT
Configuração do temporizador IoT
Configuração do temporizador IoT

A página da web integrada do IoT Timer consiste em cinco seções:

Status

Mostra o nome do dispositivo, bem como a hora atual e o status de saída do temporizador

Além disso, o modo de operação do temporizador é definido nesta seção. Existem três modos:

  • Auto - a saída será controlada pelos diferentes programas de temporizador
  • Ligado - A saída é forçada a LIGAR e permanecerá ligada até que o modo seja alterado
  • Desligado - A saída é desligada forçada e permanecerá desligada até que o modo seja alterado.

Programas

Esta seção contém os tempos de ativação e desativação do cronômetro. Existem sete programas disponíveis e cada programa pode ser definido individualmente.

Antes de alterar o próximo programa, pressione o botão SALVAR para salvar as alterações feitas no programa atual.

Função do botão

O botão MODE / SETUP pode ser usado para controlar o relé de saída durante a operação normal. Aqui, selecione o que o botão deve fazer quando pressionado.

Marque a caixa "Função do botão Atualizar" antes de pressionar o botão Salvar para salvar as novas configurações.

Configuração

Aqui, você pode alterar o nome do Timer IoT. Isso facilita a identificação entre vários temporizadores.

A hora na unidade é obtida na Internet por meio de um servidor de hora NTP. Para exibir a hora correta, atualize o fuso horário de sua região.

Se você quiser usar um servidor de horário NTP diferente, insira o novo endereço IP no espaço fornecido.

Marque a caixa "Atualizar configuração" antes de pressionar o botão Salvar para salvar as novas configurações.

NOTA

Ao alterar o Fuso Horário, o novo horário somente será definido como correto na próxima consulta de horário. A unidade está configurada para atualizar a hora a cada 5 minutos.

Ajuste de tempo

Às vezes, acontece que o servidor de horário NTP não responde a todas as consultas de horário. Se demorar muito para que a hora seja definida por meio do servidor NTP, você pode inserir a hora e a data manualmente.

Marque a caixa "Atualizar hora" antes de pressionar o botão Salvar para salvar a nova hora e data.

Sincronização de Horário

A última parte da página indica a hora e a data em que a última hora foi sincronizada através do servidor de hora NTP.

Recomendado: