Telegram Bot no ESP para saber se você tem luz em casa. Real para a Ucrânia.
Então, nos últimos 2 meses, eu não tinha luz por 12h quase todos os dias. Deveria haver algum cronograma, que às vezes funcionava.

Imagine que você não tem luz em casa e sai para passar algum tempo até que a luz continue. E você não sabe quando a luz continuará. Você pode ligar para sua família ou vizinho se eles estiverem em casa, mas esse não é o meu caso.
Anteriormente, um projeto de vida vegetal que me notifica com a mensagem "Online" se a luz em casa continuar. Mas isso não foi suficiente para mim.
Além de saber quando a luz está acontecendo, quero saber:
Eu tive a ideia de fazer o Telegram Bot ou como o chamei de "Lightbot" . O princípio do trabalho deste bot é simples.
Eu fiz o UPS para o roteador, só funcionará se o seu Wi-Fi não desligar imididamente com a grade (ele precisa de alguns segundos para enviar a mensagem para o telegrama quando a luz se apagar)! Vamos dar uma olhada na foto abaixo.

A fonte de alimentação cobrará um batto, para poder ESP se a luz disparar. Com a ajuda do Optocoupler, eu poderia detectar se houver energia na fonte de alimentação.
Também tenho o gerador , que manualmente estamos ligando. E eu queria detectar se a luz está acesa do gerador ou da grade. A idéia era medir o nível de ruído com a ajuda do microfone. Não há outra maneira de detectá -lo, porque o dispositivo será instalado dentro da casa e não há diferença de tensão óbvia Beetwen Grid Power e a energia do gerador.
Mas ultimamente eu abandonei essa idéia com a detecção do gerador. Desde que o ligamos manualmente, eu apenas terei que desconectar o LightBot.
Há um canal que posta as próximas mensagens. Se a luz estiver acesa, mostra:
? There is light from 18:27.
There was no light for 2 h. 12 min.
17h.57min.49sec.
A terceira linha "" atualiza a cada 10 segundos para saber quanto tempo tenho luz. Se a luz estiver apagada, envia mensagem e entra no modo de suspensão leve.
? There is no light from 12:26.
There was light for 17 h. 57 m.
Como fica no telegrama
Sim, não há senso de usar o optocuplário, porque eles têm um terreno comum, mas eu decidi fazer isso universal. Em vez disso, você pode usar qualquer transistor npn, não verifiquei como funciona, mas deveria; d. Com o modo de suspensão leve, ele pode funcionar por meses sem carregar (o que nunca acontecerá).

Eu recomendo que você adicione os botões Flash e Redefinir. Isso tornará sua vida mais fácil.
Lista de componentes
| Quantia | Nome | Descrição |
|---|---|---|
| 1 | Fonte de alimentação 5V | do carregador de telefone antigo |
| 1 | Módulo de carregador de bateria TP4056 | Com o circuito de proteção da bateria, se a bateria sem proteção de carga baixa |
| 1 | Bateria de íons Li 3,7V> 200mA | pode ser usado pela bateria de telefone antigo |
| 1 | Regulador de tensão AMS1117-3.3V | Depende dos requisitos de tensão MC |
| 1 | ESP-8265 M3 | qualquer microcontrolador com módulo Wi-Fi |
| 2 | Interruptor de botão tátil | se necessário para o flash e redefinir mais fáceis |
| 1 | Optocoupler PC-817 | qualquer optocuplador ou npn-transistor bipolar |
| 1 | Resistor 500 OM | Se optocupler usado |
| 1 | Resistor 46 OM | Se optocupler usado, para limitar a corrente |
| 1 | Npn- transistor | BC337, 2N2222, 2N3904 .... se em vez de optocuplário |
| 1 | Resistor 10k OM | Se, em vez de optocupler, de 4k a 10k |
| 1 | Resistor 200 OM | se em vez de optocupler, para limitar a corrente |
// Wifi network station credentials
#define WIFI_SSID "SSID"
#define WIFI_PASSWORD "PASS"
// Telegram BOT Token (Get from Botfather)
#define BOT_TOKEN "1234567:Bot_TokeN"
String chat_id = "CHANNEL_ID" ;
int timezone = 2 ;https://arduino.esp8266.com/stable/package_esp8266com_index.json ; Eu encontrei um caso antigo do Charger, que se encaixava perfeitamente no interior.