Selama liburan, saya pikir akan menjadi ide bagus untuk memiliki perangkat deteksi pemadaman listrik untuk rumah kami di New England. Pencarian Duckduckgo yang cepat menemukan implementasi Raspberry Pi @FabyTM yang luar biasa. Setelah sedikit bermain-main dengan itu, saya memutuskan bahwa versi Butean yang lebih ringan mungkin lebih sederhana pada MCU ESP32 atau ESP8266 yang murah. Ini juga akan memungkinkan orang lain dengan lebih sedikit waktu, lebih sedikit uang, atau mungkin lebih sedikit keterampilan teknis untuk membangun perangkat deteksi daya.
Ada dua skenario pemadaman yang ingin saya tangkap:
Deteksi Pemadaman - Pertama, saya ingin menggunakan sistem pemberitahuan umpan Adafruit untuk memberi tahu saya ketika belum menerima respons HTTP dari perangkat saya dalam periode waktu tertentu. Adafruit IO memungkinkan akun gratis untuk mengirim pemberitahuan jika tidak ada pembaruan yang diposting dalam 10 menit, 30 menit, 1 jam, atau 1 hari. Fitur umpan 'online' ini sangat bagus. Untuk akun ADAFruit IO gratis, ini hanya email tetapi untuk tujuan kami, ini cukup cukup.
Panjang pemadaman - Kode, semua ~ 100 baris, juga melacak waktu zaman. Ketika daya dilanjutkan, ia menghitung berapa banyak waktu yang telah berlalu sejak waktu yang direkam terakhir dan akan memposting ke IFTTT Delta ini jika melebihi nilai yang Anda atur di config.py . Saya melaporkan waktu pemadaman di bidang Value1 IFTTT dan tindakan "lalu" saya adalah meminta Alexa memberi tahu saya tentang panjang pemadaman.
Dalam config.py , saya mengatur interval posting Adafruit ke 30 detik dan interval pemadaman hingga 10 menit. Saya juga memiliki umpan ini mengirim email ke akun gmail saya yang memiliki aturan bahwa jika pengirim [email protected], ia meneruskan email ke gateway AT&T SMTP-to-SMS [email protected] dan saya mendapatkan peringatan SMS. Untuk pemberitahuan IFTTT, saya mengatur panjang pemadaman delta menjadi 30 menit dan menggunakan webhooks untuk mengingatkan saya tentang pemadaman apa pun yang berlangsung lebih lama dari interval waktu tersebut.
Anda akan membutuhkan 5 komponen berikut untuk membangun perangkat ini:
Expressif ESP MCU - Saya telah memilih papan LOLIN/WEMOS ESP32C3 seharga ~ $ 4. ESP8266 bekerja dengan baik.
Micropython - Anda dapat mengunduhnya untuk papan di atas di sini. Anda akan membutuhkan alat esptool dan ampy untuk mem -flash micropython dan mengunggah skrip python Anda. Gunakan alat konektivitas serial favorit Anda (Putty.exe, layar, dll.).
File detect.py dan config-sample.py micropython. Ganti nama config-sample.py ke config.py untuk menggabungkan wifi, Adafruit dan kredensial IFTTT Anda.
Akun gratis dibuat pada Adafruit dan IFTTT. Membuat akun ini sederhana - hanya untuk pergi secara langsung dan mendaftar. Anda harus membuat umpan dan mengatur pemberitahuan untuk feed ini pada Adafruit. Pada IFTTT, gunakan webhook menggunakan nama umpan yang Anda tentukan di Adafruit.
Kasing kecil untuk melampirkan MCU. Saya telah memasukkan versi .SCAD dan .STL dari sebuah casing kecil yang akan menampung chip ESP. Anda dapat memodifikasinya saat Anda ingin menyesuaikan papan yang Anda pilih. Gunakan SCAD untuk membuat perubahan ini.
Komentar/saran/kritik disambut. Perlu diingat, saya membangun repo dan kode ini dalam waktu kurang dari 90 menit dan saya yakin itu bisa ditingkatkan. Tapi itu bekerja dengan baik untuk apa yang saya butuhkan.
