Durante as férias, pensei que seria uma ótima idéia ter um dispositivo de detecção de falta de energia para nossa casa na Nova Inglaterra. Uma pesquisa rápida do DuckDuckgo descobriu a excelente implementação do Raspberry Pi da Fabytm. Depois de um pouco de brincadeira, decidi que uma versão mais leve da idéia de Butean poderia ser mais simples em um MCU ESP32 ou ESP8266 barato. Também permitirá que outras pessoas com menos tempo, menos dinheiro ou possivelmente menos habilidades técnicas construam um dispositivo de detecção de energia.
Existem dois cenários de interrupção que eu queria capturar:
Detecção de interrupção - Primeiro, eu queria usar o sistema de notificação de alimentação da Adafruit para me notificar quando ele não recebeu uma resposta HTTP do meu dispositivo dentro de um período de tempo especificado. O Adafruit IO permite que contas gratuitas enviem notificações se nenhuma atualização tiver sido publicada em 10 minutos, 30 minutos, 1 hora ou 1 dia. Esse recurso de feed 'online' é muito bom. Para as contas gratuitas de IO da ADAFURT, é apenas um e -mail, mas para nossos propósitos, isso é suficiente.
Comprimento da interrupção - o código, todas as ~ 100 linhas dele, também rastreia o tempo da época. Quando a energia é retomada, ele calcula quanto tempo passou desde o último tempo registrado e publicará para se esse delta se exceder um valor que você definir no config.py . Relato o tempo de interrupção no campo Value1 da IFTTT e minha ação "então" é que o Alexa me notifique sobre o comprimento da interrupção.
No config.py , defino o intervalo de postagem do Adafruit para 30 segundos e o intervalo de interrupção para 10 minutos. Também tenho esse feed por e-mail minha conta do Gmail, que tem uma regra de que, se o remetente for [email protected], isso encaminhará o e-mail para o meu gateway AT&T SMTP para [email protected] e recebo um alerta SMS. Para notificações IFTTT, defino o comprimento da interrupção do delta para 30 minutos e uso webhooks para me alertar de qualquer interrupção que dura mais do que o intervalo de tempo.
Você precisará dos 5 componentes a seguir para construir este dispositivo:
Um Expressif ESP MCU - eu escolhi a placa Lolin/Wemos Esp32C3 por ~ $ 4. Um ESP8266 funciona igualmente bem.
Micropython - Você pode baixá -lo para a placa acima aqui. Você precisará de ferramentas esptool e ampy para piscar o Micropython e fazer o upload de seus scripts Python. Use sua ferramenta de conectividade serial favorita (putty.exe, tela, etc.).
Os arquivos Micropython detect.py e config-sample.py . Renomeie config-sample.py para config.py para incorporar suas credenciais WiFi, Adafruit e IFTTT.
Contas gratuitas feitas em Adafruit e Ifttt. Criar essas contas é simples - apenas para ir diretamente a esses sites e se inscrever. Você precisará criar um feed e configurar a notificação para este feed no Adafruit. No IFTTT, use um webhook usando o nome do feed que você especificou no Adafruit.
Um pequeno estojo para incluir o MCU. Incluí a versão .scad e .stl de um pequeno estojo que abrigará o chip ESP. Você pode modificá -lo enquanto procura se encaixar no quadro de sua escolha. Use o SCAD para fazer essas alterações.
Comentários/sugestões/críticas são bem -vindos. Lembre -se de que construí este repositório e o código em menos de 90 minutos e tenho certeza de que poderia ser melhorado. Mas funciona muito bem para o que eu preciso.
