휴일 동안, 나는 뉴 잉글랜드에있는 우리 집을위한 정전 탐지 장치를 갖는 것이 좋은 생각이라고 생각했습니다. 빠른 Duckduckgo Search는 @Fabytm의 우수한 Raspberry Pi 구현을 발견했습니다. 약간의 연설을 마친 후, 나는 Butean의 아이디어의 가벼운 버전이 저렴한 ESP32 또는 ESP8266 MCU에서 더 간단 할 수 있다고 결정했습니다. 또한 시간이 적거나 돈이 적거나 기술 능력이 적은 다른 사람들이 전력 감지 장치를 구축 할 수 있습니다.
캡처하고 싶은 두 가지 정전 시나리오가 있습니다.
중단 감지 - 먼저, Adafruit의 피드 알림 시스템을 사용하여 지정된 기간 내에 내 장치로부터 HTTP 응답을받지 못했을 때 알려주고 싶었습니다. Adafruit IO는 10 분, 30 분, 1 시간 또는 1 일에 업데이트가 게시되지 않은 경우 무료 계정을 보낼 수 있습니다. 이 '온라인'피드 기능은 정말 좋습니다. 무료 Adafruit IO 계정의 경우 이메일 전용이지만 목적을 위해서는 충분합니다.
정전 길이 - 코드, ~ 100 줄은 모두 에포크 시간을 추적합니다. 전원이 재개되면 마지막 기록 된 시간 이후 얼마나 많은 시간이 지났는지 계산하고 config.py 에서 설정 한 값을 초과하면이 델타에 IFTTT에 게시 할 것입니다. IFTTT의 Value1 필드에서 정전 시간을보고하고 내 "그러한"조치는 Alexa가 나에게 정전 길이를 알리도록하는 것입니다.
config.py 에서 Adafruit 게시 간격을 30 초로 설정하고 정전 간격을 10 분으로 설정했습니다. 또한이 피드가 내 gmail 계정으로 이메일을 보내고 있습니다.이 피드는 발신자가 [email protected] 인 경우 이메일을 AT & T SMTP-to-SMS [email protected]으로 전달하고 SMS 경보를 받는다는 규칙이 있습니다. IFTTT 알림의 경우 델타 중단 길이를 30 분으로 설정하고 WebHooks를 사용하여 해당 시간 간격보다 오래 지속되는 중단을 알립니다.
이 장치를 구축하려면 다음 5 가지 구성 요소가 필요합니다.
Expressif ESP MCU- ~ $ 4로 LOLIN/WEMOS ESP32C3 보드를 선택했습니다. ESP8266은 똑같이 잘 작동합니다.
Micropython- 위의 보드 용으로 다운로드 할 수 있습니다. Micropython을 플래시하고 Python 스크립트를 업로드하려면 esptool 및 ampy 도구가 필요합니다. 좋아하는 직렬 연결 도구 (putty.exe, 화면 등)를 사용하십시오.
detect.py 및 config-sample.py micropython 파일. config-sample.py config.py 로 이름을 바꾸려면 Wi-Fi, adafruit 및 ifttt 자격 증명을 통합합니다.
Adafruit 및 Ifttt 모두에 대한 무료 계정. 이 계정을 만드는 것은 간단합니다.이 사이트를 직접 가서 가입하는 것만으로도. 피드를 생성하고 Adafruit 의이 피드에 대한 알림을 설정해야합니다. IFTTT에서는 adafruit에 지정된 피드 이름을 사용하여 Webhook을 사용하십시오.
MCU를 동봉하는 작은 경우. ESP 칩을 수용 할 작은 케이스의 .Scad 및 .Stl 버전을 모두 포함 시켰습니다. 선택한 보드에 맞게 보일 때 수정할 수 있습니다. SCAD를 사용하여 이러한 변경을 수행하십시오.
의견/제안/비판이 환영됩니다. 명심하십시오.이 저장소와 코드를 90 분 이내에 구축했으며 개선 될 수 있다고 확신합니다. 그러나 그것은 내가 필요로하는 것에 적합합니다.
