Daftar Isi:

Alarm Banjir Basement Daya Sangat Rendah Dengan ESP8266: 3 Langkah
Alarm Banjir Basement Daya Sangat Rendah Dengan ESP8266: 3 Langkah

Video: Alarm Banjir Basement Daya Sangat Rendah Dengan ESP8266: 3 Langkah

Video: Alarm Banjir Basement Daya Sangat Rendah Dengan ESP8266: 3 Langkah
Video: DETEKSI DINI BENCANA BARJIR DI WILAYAH MARTAPURA | M. JAINI | PROPOSAL SKRIPSI | TI STMIK BANJARBARU 2024, Juli
Anonim
Alarm Banjir Basement Daya Sangat Rendah Dengan ESP8266
Alarm Banjir Basement Daya Sangat Rendah Dengan ESP8266
Alarm Banjir Basement Daya Sangat Rendah Dengan ESP8266
Alarm Banjir Basement Daya Sangat Rendah Dengan ESP8266

Halo, selamat datang di instruksi pertama saya.

Ruang bawah tanah rumah saya kebanjiran setiap beberapa tahun karena berbagai alasan seperti badai petir musim panas yang hebat, air tanah yang tinggi atau bahkan pipa pecah. Meskipun ini bukan tempat yang bagus, tapi boiler pemanas sentral saya terletak di bawah sana dan air dapat merusak komponen elektroniknya, jadi saya harus memompa air keluar sesegera mungkin. Sulit dan tidak nyaman untuk memeriksa situasi setelah badai musim panas yang hebat, jadi saya memutuskan untuk membuat alarm berbasis ESP8266 yang mengirimi saya email jika terjadi banjir. (Bila banjir disebabkan oleh air tanah yang tinggi, ketinggian air biasanya kurang dari 10 sentimeter yang tidak berbahaya bagi pemanas dan tidak disarankan untuk dipompa karena akan kembali lagi dan semakin banyak Anda memompa, semakin banyak air tanah yang akan datang. lain kali. Tapi ada baiknya mengetahui situasinya.)

Dalam aplikasi ini perangkat mungkin dalam "tidur" selama bertahun-tahun, dan jika semuanya berjalan sesuai rencana, hanya beroperasi selama beberapa detik. Menggunakan deep sleep tidak praktis karena terlalu banyak menarik arus jika kita ingin tidur dalam waktu yang sangat lama dan ESP8266 hanya dapat tidur selama maksimum sekitar 71 menit.

Saya memutuskan untuk menggunakan sakelar pelampung untuk menyalakan daya ESP. Dengan solusi ini, ESP tidak dialiri daya saat sakelar terbuka, sehingga konsumsi daya hanya pelepasan baterai sendiri, yang membuat sistem tetap siap siaga selama bertahun-tahun.

Ketika ketinggian air mencapai sakelar pelampung, ESP mulai normal, terhubung ke jaringan WiFi saya, mengirimi saya email dan pergi tidur selamanya dengan ESP. Deepsleep(0) sampai daya dimatikan dan dihidupkan lagi. Jika tidak dapat terhubung ke WiFi atau tidak dapat mengirim email, ia akan tertidur selama 20 menit, dan mencoba lagi hingga berhasil.

Ide ini mirip dengan solusi yang dijelaskan oleh Andreas Spiess dalam video ini. Tetapi karena sifat dari flooding dan float switch, kita tidak perlu menambahkan MOSFET untuk menjaga ESP tetap menyala sampai selesai tugasnya, karena float switch akan tertutup jika level air melebihi level trigger..

Langkah 1: Skema:

Skema
Skema

Bagian

  • D1: BAT46 Schottky-diode untuk bangun tidur nyenyak. Saya memiliki pengalaman yang lebih baik dengan dioda Schottky daripada resistor antara D0 dan RST.
  • Float Switch: Tabung buluh sederhana seharga $1,2 dan sakelar float berbasis magnet dari eBay. Cincin dengan magnet dapat dibalik untuk mengubah antara switching level cairan tinggi dan rendah. Tautan eBay
  • Dudukan baterai: untuk 2x baterai AAA 1.5V
  • P1: Terminal sekrup 2x 2P 5.08mm (200mil) untuk menghubungkan kabel dari baterai dan sakelar apung.
  • C1: 1000uF 10V kapasitor untuk meningkatkan stabilitas ESP saat radio menyala. Perlu diketahui, jika ESP dalam kondisi deep sleep, energi yang tersimpan di kapasitor cukup untuk menyalakannya selama 3-4 menit. Dalam periode itu, pengoperasian sakelar apung tidak dapat memulai kembali ESP karena kapasitor tetap menyala saat dalam tidur nyenyak. Ini hanya menarik selama pengujian.
  • U1: mikrokontroler LOLIN / Wemos D1 Mini Pro ESP8266. Ini adalah versi pro dengan konektor antena eksternal, yang mungkin berguna ketika ditempatkan di ruang bawah tanah. Harap dicatat, Anda harus menyolder ulang "resistor" SMD 0 ohm untuk memilih antena eksternal, bukan antena keramik bawaan. Saya merekomendasikan untuk membeli mikrokontroler LOLIN dari toko resmi LOLIN AliExpress karena ada banyak papan Wemos / LOLIN versi palsu atau lama di luar sana.
  • Perfboard: Papan proto 50mm * 50mm akan cukup untuk memuat semua bagian. Rangkaian ini terlalu sederhana untuk membuat PCB.:)

Harap dicatat, baterai terhubung ke input 3.3V. Meskipun D1 Mini memiliki LDO bawaan untuk pengoperasian USB / LiPo, kami tidak memerlukannya saat ditenagai dari baterai alkaline 2xAAA 3V. Dengan koneksi ini D1 Mini saya dapat menyelesaikan tugasnya hanya dengan tegangan suplai 1,8V juga.

Langkah 2: Kode

Programnya bisa lebih bagus atau lebih sederhana, tetapi bagian-bagiannya sudah terbukti dengan baik di proyek saya yang lain.

Sketsa menggunakan perpustakaan berikut:

ESP8266WiFi.h: Default untuk papan ESP8266.

Gsender.h: Pustaka pengirim Gmail dari Borya, dapat diunduh dari sini.

Alur program cukup sederhana.

  • ESP dimulai.
  • Membaca memori RTC untuk memeriksa apakah ini permulaan pertama atau tidak
  • Terhubung ke WiFi menggunakan fungsi smartwifi(). Ini terhubung ke WiFi menggunakan alamat MAC router (BSSID) dan nomor saluran untuk koneksi yang lebih cepat, coba lagi tanpa itu setelah 100 upaya gagal dan tidur setelah 600 upaya. Fungsi ini berasal dari sketsa penghemat konsumsi daya WiFi OppoverBakke, tetapi tanpa menyimpan data koneksi ke bagian RTC dalam aplikasi ini.
  • Memeriksa voltase baterai dengan fitur ESP bawaan ADC_MODE(ADC_VCC) / ESP.getVcc(). Ini tidak memerlukan pembagi tegangan eksternal atau kabel apa pun ke A0. Sempurna untuk tegangan di bawah 3.3V, yang merupakan kasus kami.
  • Mengirim email alrt dengan Gsender.h. Saya menambahkan variabel dan teks khusus ke subjek dan string pesan untuk melaporkan voltase baterai, waktu berlalu sejak deteksi pertama, dan saran tentang penggantian baterai. Jangan lupa untuk mengubah alamat email penerima.

    • tidur

      • Jika berhasil, ia tidur "selamanya" dengan ESP.deepSleep(0); Secara fisik akan berada dalam mode tidur hingga ketinggian air tinggi. Ini secara teknis beberapa jam atau maksimum beberapa hari, yang tidak akan menguras baterai dengan beberapa arus tidur uA. Saat air habis, saklar pelampung akan terbuka dan ESP akan mati total, dan konsumsi arus akan menjadi 0.
      • Jika tidak berhasil, ia akan tertidur selama 20 menit, lalu mencoba lagi. Dimungkinkan untuk memiliki pemadaman listrik AC jika terjadi badai petir di musim panas. Ini menghitung restart dan menyimpannya di memori RTC. Informasi ini digunakan untuk melaporkan waktu yang telah berlalu sejak upaya alarm pertama. (Harap dicatat, saat mengujinya dengan daya USB dan monitor serial, RTC juga dapat menyimpan nilai jumlah siklus di antara unduhan.)

Langkah 3: Perakitan dan Instalasi

Perakitan dan Instalasi
Perakitan dan Instalasi
Perakitan dan Instalasi
Perakitan dan Instalasi
Perakitan dan Instalasi
Perakitan dan Instalasi

Setelah menguji kode pada papan tempat memotong roti, saya menyoldernya ke sepotong kecil papan perf.

Saya menggunakan 2 buah terminal sekrup 2 kutub pitch 5,08mm yang dijahit bersama, header wanita untuk ESP, kapasitor, dan beberapa jumper.

Harap dicatat, resistor SMD dengan nomor "0" di sebelah antena keramik harus disolder ulang ke bantalan kosong di sebelahnya untuk memilih antena eksternal.

Lalu saya memasukkan semuanya ke dalam kotak sambungan listrik IP55 kecil. Kabel dari sakelar pelampung dihubungkan melalui kelenjar kabel.

Kotak ditempatkan pada ketinggian yang aman, di mana air (semoga) tidak pernah mencapainya, jadi saya menggunakan sepasang kawat tembaga yang relatif tebal, 1mm^2 (17AWG) untuk menghubungkan sakelar apung. Dengan pengaturan ini, ESP dapat memulai dan mengirim pesan bahkan dengan tegangan input 1,8V.

Setelah instalasi, penjaga diam ini berjaga-jaga, tapi saya harap tidak segera mengirim alarm…

Direkomendasikan: