ESP의 Telegram Bot은 집에 빛이 있는지 알아보십시오. 우크라이나의 경우 실제.
그래서 지난 2 개월 동안 나는 거의 매일 12 시간 동안 빛이 없었습니다. 때때로 일한 일정이 있어야합니다.

집에 빛이없고 빛이 계속 될 때까지 시간을 보내려고한다고 상상해보십시오. 그리고 당신은 빛이 언제 계속 될지 모릅니다. 집에 있으면 가족이나 이웃에게 전화 할 수 있지만 그것은 내 사건이 아닙니다.
이전에는 집에서 빛이 계속되면 "온라인" 메시지로 나를 알리는 식물 생명 프로젝트를 만들었습니다. 그러나 그것은 나에게 충분하지 않았습니다.
빛이 언제 진행되는지 아는 것 외에도 다음 과 같이 알고 싶습니다.
나는 Telegram Bot을 만들거나 어떻게 "Lightbot" 이라고 불렀다는 아이디어를 생각해 냈습니다. 이 봇의 작업 원리는 간단합니다.
나는 라우터를 위해 UPS를 만들었습니다. Wi-Fi가 그리드로 면간적으로 꺼지지 않는 경우 에만 작동합니다 (빛이 꺼질 때 메시지를 전보로 보내는 데 몇 초가 필요합니다)! 아래 그림을 살펴 보겠습니다.

전원 공급 장치는 선박을 충전하고 빛이 꺼지는 경우 전원 ESP를 충전합니다. OptoCoupler의 도움으로 전원 공급 장치가 있는지 감지 할 수 있습니다.
또한 우리가 수동으로 켜지는 발전기가 있습니다. 그리고 발전기 나 그리드에서 빛이 켜져 있는지 감지하고 싶었습니다. 아이디어는 마이크의 도움으로 노이즈 수준을 측정하는 것이 었습니다. 장치가 집 안에 설치되기 때문에이를 감지하는 방법은 없으며, 전압 차이 Beetwen Grid Power와 Generator Power는 없습니다.
그러나 최근에 나는 발전기의 탐지 로이 아이디어를 버렸다. 수동으로 켜기 때문에 전등을 뽑아야합니다.
다음 메시지를 게시하는 채널이 있습니다. 빛이 켜져 있으면 다음을 보여줍니다.
? There is light from 18:27.
There was no light for 2 h. 12 min.
17h.57min.49sec.
세 번째 줄 "" "10 초마다 업데이트되어 빛이 얼마나 오래 걸리나요? 빛이 꺼지면 메시지를 보내고 빛의 수면 모드로 들어갑니다.
? There is no light from 12:26.
There was light for 17 h. 57 m.
전보에서 어떻게 보이는지
그렇습니다. OptoCoupler를 사용하는 것은 공통점이 없기 때문에이 보편적 인 일을하기로 결정했습니다. 당신은 대신 NPN 트랜지스터를 사용할 수 있습니다. 나는 그것이 어떻게 작동하는지 확인하지 않았지만, d. 가벼운 수면 모드를 사용하면 충전없이 몇 달 동안 작동 할 수 있습니다 (결코 일어나지 않을 것입니다).

플래시 및 재설정 버튼을 추가하는 것이 좋습니다. 이것은 당신의 삶이 더 쉬워 질 것입니다.
구성 요소 목록
| 양 | 이름 | 설명 |
|---|---|---|
| 1 | 전원 공급 장치 5V | 오래된 전화 충전기에서 |
| 1 | 배터리 충전기 모듈 TP4056 | 배터리 보호 회로가 낮은 충전 보호가없는 배터리 인 경우 |
| 1 | 리-이온 배터리 3.7V> 200MA | 오래된 전화 배터리를 사용할 수 있습니다 |
| 1 | AMS1117-3.3V 전압 조절기 | MC 전압 요구 사항에 따라 다릅니다 |
| 1 | ESP-8265 M3 | Wi-Fi 모듈이있는 마이크로 컨트롤러 |
| 2 | 촉각 버튼 스위치 | Easer Flash 및 재설정에 필요한 경우 |
| 1 | Optocoupler PC-817 | 모든 옵토 카이플러 또는 양극성 NPN- 전환기 |
| 1 | 저항 500 옴 | OptoCoupler를 사용하는 경우 |
| 1 | 저항 46 옴 | OptoCoupler를 사용하는 경우 전류를 제한합니다 |
| 1 | NPN- 트랜지스터 | BC337, 2N2222, 2N3904 .... optocoupler 대신 인 경우 |
| 1 | 저항 10k 옴 | OptoCoupler 대신 4K에서 10K |
| 1 | 저항 200 옴 | OptoCoupler 대신에 전류를 제한하십시오 |
// 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 ; 나는 충전기에서 오래된 케이스를 발견했는데, 이는 내부에 완벽하게 evrything을 장착했습니다. 