Isi kandungan:

Penggera Banjir Bawah Tanah Kuasa Sangat Rendah Dengan ESP8266: 3 Langkah
Penggera Banjir Bawah Tanah Kuasa Sangat Rendah Dengan ESP8266: 3 Langkah

Video: Penggera Banjir Bawah Tanah Kuasa Sangat Rendah Dengan ESP8266: 3 Langkah

Video: Penggera Banjir Bawah Tanah Kuasa Sangat Rendah Dengan ESP8266: 3 Langkah
Video: Letupan Stesen Janakuasa Nuklear Chernobyl 2024, Julai
Anonim
Penggera Bawah Tanah Kuasa Sangat Rendah Dengan ESP8266
Penggera Bawah Tanah Kuasa Sangat Rendah Dengan ESP8266
Penggera Banjir Bawah Tanah Kuasa Sangat Rendah Dengan ESP8266
Penggera Banjir Bawah Tanah Kuasa Sangat Rendah Dengan ESP8266

Helo, selamat datang ke arahan pertama saya.

Ruang bawah tanah rumah saya dibanjiri setiap beberapa tahun kerana pelbagai sebab seperti ribut petir musim panas, air bawah tanah tinggi atau paip pecah. Walaupun ia bukan tempat yang bagus, tetapi dandang pemanasan pusat saya terletak di sana dan air boleh merosakkan bahagian elektroniknya, jadi saya perlu mengepam air secepat mungkin. Adalah sukar dan tidak selesa untuk memeriksa keadaannya setelah ribut petir musim panas, jadi saya memutuskan untuk membuat penggera berasaskan ESP8266 yang menghantar e-mel kepada saya sekiranya berlaku banjir. (Apabila banjir disebabkan oleh air bawah tanah yang tinggi, permukaan air biasanya kurang dari 10 sentimeter yang tidak membahayakan pemanas dan tidak disarankan untuk mengepam kerana ia akan kembali dan semakin banyak anda mengepam, semakin banyak air tanah akan datang lain kali. Tetapi bagus untuk mengetahui keadaannya.)

Dalam aplikasi ini, peranti mungkin dalam keadaan "tidur" selama bertahun-tahun, dan jika semuanya berfungsi seperti yang dirancang, hanya dapat beroperasi selama beberapa saat. Menggunakan tidur nyenyak tidak praktikal kerana ia memerlukan terlalu banyak arus jika kita ingin tidur dalam jangka masa yang lama dan ESP8266 hanya boleh tidur maksimum sekitar 71 minit.

Saya memutuskan untuk menggunakan suis apungan untuk menghidupkan kuasa ESP. Dengan penyelesaian ini, ESP tidak dihidupkan ketika suis terbuka, jadi penggunaan kuasa hanyalah pengosongan bateri sendiri, yang menjadikan sistem ini siap untuk dibimbangkan selama bertahun-tahun.

Apabila paras air mencapai suis apungan, ESP mulai beroperasi dengan normal, menyambung ke rangkaian WiFi saya, menghantar e-mel kepada saya dan tidur selama-lamanya dengan ESP. Mendalam (0) sehingga kuasa dimatikan dan dihidupkan semula. Sekiranya tidak dapat menyambung ke WiFi atau tidak dapat menghantar e-mel, ia akan tidur selama 20 minit, dan mencuba lagi sehingga berjaya.

Idea ini serupa dengan penyelesaian yang dijelaskan oleh Andreas Spiess dalam video ini. Tetapi kerana sifat banjir dan suis apungan, kami tidak perlu menambahkan MOSFET untuk memastikan ESP tetap aktif sehingga selesai tugasnya, kerana suis apungan akan ditutup jika paras air melebihi paras pencetus.

Langkah 1: Skema:

Skema
Skema

Bahagian

  • D1: BAT46 Schottky-diode untuk bangun tidur nyenyak. Saya mempunyai pengalaman yang lebih baik dengan dioda Schottky daripada perintang antara D0 dan RST.
  • Float Switch: Tiang buluh sederhana dan suis apungan berasaskan magnet dari eBay. Lingkaran dengan magnet dapat diterbalikkan untuk bertukar antara peralihan tahap bendalir tinggi dan rendah. Pautan eBay
  • Pemegang bateri: untuk bateri 2x AAA 1.5V
  • Terminal skru P1: 2x 2P 5.08mm (200mil) untuk menyambungkan wayar dari bateri dan suis apungan.
  • Kapasitor C1: 1000uF 10V untuk meningkatkan kestabilan ESP semasa radio dihidupkan. Harap maklum, jika ESP dalam tidur nyenyak, tenaga yang tersimpan di dalam kapasitor cukup untuk menghidupkannya selama 3-4 minit. Dalam tempoh itu, pengoperasian suis apungan tidak dapat menghidupkan semula ESP kerana kapasitor tetap menyala semasa tidur nyenyak. Ini hanya menarik semasa ujian.
  • U1: mikrokontroler LOLIN / Wemos D1 Mini Pro ESP8266. Ini adalah versi pro dengan penyambung antena luaran, yang mungkin berguna ketika diletakkan di ruang bawah tanah. Harap maklum, anda harus memasangkan semula "perintang" SMD 0 ohm untuk memilih antena luaran dan bukannya antena seramik terbina dalam lalai. Saya mengesyorkan untuk membeli mikrokontroler LOLIN dari kedai rasmi LOLIN AliExpress kerana terdapat banyak papan Wemos / LOLIN versi palsu atau lama di luar sana.
  • Perfboard: Papan proto 50mm * 50mm akan cukup untuk memuatkan semua bahagian. Litar terlalu mudah untuk membuat PCB.:)

Harap maklum, bateri disambungkan ke input 3.3V. Walaupun D1 Mini mempunyai LDO bawaan untuk operasi USB / LiPo, kami tidak memerlukannya ketika digerakkan dari bateri alkali 3V 2AAAA. Dengan hubungan ini D1 Mini saya dapat menyelesaikan tugasnya dengan hanya voltan bekalan 1.8V juga.

Langkah 2: Kodnya

Program ini mungkin lebih baik atau lebih sederhana, tetapi bahagiannya terbukti dengan baik dalam projek saya yang lain.

Lakaran menggunakan perpustakaan berikut:

ESP8266WiFi.h: Lalai untuk papan ESP8266.

Gsender.h: Perpustakaan pengirim Gmail dari Borya, boleh dimuat turun dari sini.

Aliran program agak mudah.

  • ESP bermula.
  • Membaca memori RTC untuk diperiksa adakah itu permulaan pertama atau tidak
  • Menyambung ke WiFi menggunakan fungsi cleverwifi (). Ini menyambung ke WiFi menggunakan alamat MAC penghala (BSSID) dan nombor saluran untuk sambungan yang lebih cepat, mencuba semula tanpa mereka setelah 100 percubaan yang tidak berjaya dan tidur setelah 600 percubaan. Fungsi ini berasal dari sketsa penjimatan penggunaan WiFi OppoverBakke, tetapi tanpa menyimpan data sambungan ke bahagian RTC dalam aplikasi ini.
  • Memeriksa voltan bateri dengan ciri ESP yang terdapat dalam ciri ADC_MODE (ADC_VCC) / ESP.getVcc (). Ini tidak memerlukan pembahagi voltan luaran atau pendawaian ke A0. Sesuai untuk voltan di bawah 3.3V, yang menjadi kes kita.
  • Menghantar e-mel dengan Gsender.h. Saya menambahkan pemboleh ubah dan teks khusus untuk subjek dan rentetan mesej untuk melaporkan voltan bateri, masa berlalu sejak pengesanan pertama dan nasihat mengenai penggantian bateri. Jangan lupa menukar alamat e-mel penerima.

    • Tidur

      • Sekiranya berjaya, ia tidur "selamanya" dengan ESP.deepSleep (0); Secara fizikal ia akan berada dalam mod tidur sehingga paras air tinggi. Ini secara teknis adalah beberapa jam atau maksimum beberapa hari, yang tidak akan menghabiskan bateri dengan sedikit arus tidur uA. Apabila air habis, suis apungan akan terbuka dan ESP akan dimatikan sepenuhnya, dan penggunaan semasa adalah 0.
      • Sekiranya tidak berjaya, tidur selama 20 minit, kemudian cuba lagi. Mungkin berlaku gangguan bekalan elektrik sekiranya berlaku ribut petir musim panas. Ia mengira dimulakan semula dan menyimpannya dalam memori RTC. Maklumat ini digunakan untuk melaporkan waktu yang berlalu sejak percubaan penggera pertama. (Harap diperhatikan, ketika mengujinya dengan daya USB dan monitor bersiri, RTC dapat menyimpan nilai kiraan kitaran antara muat turun juga.)

Langkah 3: Pemasangan dan Pemasangan

Pemasangan dan Pemasangan
Pemasangan dan Pemasangan
Pemasangan dan Pemasangan
Pemasangan dan Pemasangan
Pemasangan dan Pemasangan
Pemasangan dan Pemasangan

Setelah menguji kod di papan roti, saya menyoldernya ke sekeping kecil papan wangi.

Saya menggunakan 2 keping terminal skru tiang berukuran 5.08mm yang dijahit bersama, header wanita untuk ESP, kapasitor dan beberapa jumper.

Harap maklum, perintang SMD dengan nombor "0" di sebelah antena seramik harus disolder semula ke pad kosong di sebelahnya untuk memilih antena luaran.

Kemudian saya memasukkan semuanya ke dalam kotak persimpangan elektrik IP55 kecil. Wayar dari suis apungan dihubungkan melalui kelenjar kabel.

Kotak itu diletakkan pada ketinggian yang selamat, di mana air (semoga) tidak pernah dapat mencapainya, jadi saya menggunakan sepasang wayar tembaga 1mm ^ 2 (17AWG) yang agak tebal untuk menyambungkan suis apungan. Dengan persediaan ini, ESP dapat memulakan dan menghantar mesej walaupun dengan voltan input 1.8V.

Selepas pemasangan, penjaga senyap ini berjaga-jaga, tetapi saya harap ia tidak perlu segera menghantar penggera …

Disyorkan: