İçindekiler:

ESP8266 ile Ultra Düşük Güçlü Bodrum Sel Alarmı: 3 Adım
ESP8266 ile Ultra Düşük Güçlü Bodrum Sel Alarmı: 3 Adım

Video: ESP8266 ile Ultra Düşük Güçlü Bodrum Sel Alarmı: 3 Adım

Video: ESP8266 ile Ultra Düşük Güçlü Bodrum Sel Alarmı: 3 Adım
Video: wemos D1 mini Web Sunucusu Arduino esp8266 wemos d1 mini ile bir ESP8622 Web Sunucusu oluşturun 2024, Temmuz
Anonim
ESP8266 ile Ultra Düşük Güç Bodrum Taşkın Alarmı
ESP8266 ile Ultra Düşük Güç Bodrum Taşkın Alarmı
ESP8266 ile Ultra Düşük Güç Bodrum Taşkın Alarmı
ESP8266 ile Ultra Düşük Güç Bodrum Taşkın Alarmı

Merhaba, ilk dersime hoş geldiniz.

Evimin bodrum katını birkaç yılda bir şiddetli yaz fırtınaları, yüksek yeraltı suyu ve hatta boru patlaması gibi çeşitli nedenlerle su basıyor. Güzel bir yer olmasa da, kalorifer kazanım aşağıda bulunuyor ve su elektronik parçalarına zarar verebilir, bu yüzden suyu bir an önce dışarı pompalamam gerekiyor. Yoğun bir yaz fırtınasından sonra durumu kontrol etmek zor ve rahatsız edici olduğundan, sel durumunda bana e-posta gönderen ESP8266 tabanlı bir alarm yapmaya karar verdim. (Selene yüksek yeraltı suyu neden olduğunda, su seviyesi genellikle 10 santimetreden azdır, bu da ısıtıcıya zarar vermez ve yine de geri geleceği için dışarı pompalanması önerilmez ve ne kadar çok pompalarsanız, o kadar fazla yeraltı suyu gelir. bir dahaki sefere. Ama durumu bilmek güzel.)

Bu uygulamada cihaz yıllarca "uykuda" kalabilir ve her şey planlandığı gibi çalışıyorsa sadece birkaç saniye çalışır. Çok uzun süre uyumak istiyorsak çok fazla akım çektiği için derin uyku kullanmak pratik değildir ve ESP8266 en fazla 71 dakika kadar uyuyabilir.

ESP'nin gücünü açmak için bir şamandıralı anahtar kullanmaya karar verdim. Bu çözümle, anahtar açıkken ESP'ye güç verilmez, bu nedenle güç tüketimi yalnızca pillerin kendi kendine boşalmasıdır, bu da sistemi yıllarca alarm vermeye hazır tutar.

Su seviyesi şamandıra anahtarına ulaştığında, ESP normal bir şekilde çalışmaya başlıyor, WiFi ağıma bağlanıyor, bana bir e-posta gönderiyor ve güç kapatılıp tekrar açılıncaya kadar ESP. Deepsleep(0) ile sonsuza kadar uykuya dalıyor. WiFi'ye bağlanamazsa veya e-postayı gönderemezse, 20 dakika uyku moduna geçer ve başarılı olana kadar tekrar dener.

Bu fikir, bu videoda Andreas Spiess tarafından açıklanan çözüme benzer. Ancak, taşma ve şamandıralı anahtarın doğası gereği, ESP'yi görevini tamamlayana kadar açık tutmak için bir MOSFET eklememize gerek yoktur, çünkü su seviyesi tetik seviyesinin üzerindeyse şamandıralı anahtar kapanacaktır..

Adım 1: Şematik:

Şematik
Şematik

Parçalar

  • D1: Derin uykuda uyandırma için BAT46 Schottky diyot. Schottky diyotlarıyla D0 ve RST arasındaki dirençlerden daha iyi deneyimlerim var.
  • Şamandıra Anahtarı: eBay'den basit 1,2 $ kamış tüp ve mıknatıs tabanlı şamandıra anahtarı. Mıknatıslı halka, yüksek ve düşük sıvı seviyesi geçişi arasında geçiş yapmak için tersine çevrilebilir. eBay Bağlantısı
  • Pil tutucu: 2 adet AAA 1.5V pil için
  • P1: Aküden ve şamandıralı anahtardan gelen kabloları bağlamak için 2x 2P 5.08mm (200mil) vidalı terminaller.
  • C1: Telsiz açıkken ESP'nin kararlılığını artırmak için 1000uF 10V kapasitör. Lütfen, ESP derin uykudaysa, kapasitörde depolanan enerjinin 3-4 dakika güç sağlamak için yeterli olduğunu unutmayın. Bu süre içinde, şamandıralı anahtarın çalışması ESP'yi yeniden başlatamaz çünkü kapasitör derin uykudayken gücü açık tutar. Bu sadece test sırasında ilginçtir.
  • U1: LOLIN / Wemos D1 Mini Pro ESP8266 mikrodenetleyici. Bu, bodrum katına yerleştirildiğinde faydalı olabilecek harici anten konektörlü pro versiyonudur. Varsayılan dahili seramik anten yerine harici anteni seçmek için 0 ohm SMD "direnci" yeniden lehimlemeniz gerektiğini lütfen unutmayın. LOLIN mikrodenetleyicilerini resmi LOLIN AliExpress mağazasından satın almanızı tavsiye ederim çünkü çok fazla sahte veya eski sürüm Wemos / LOLIN kartı var.
  • Perfboard: 50mm*50mm proto board tüm parçaları takmak için yeterli olacaktır. Devre bir PCB yapmak için çok basittir.:)

Lütfen pilin 3.3V girişine bağlı olduğunu unutmayın. D1 Mini, USB / LiPo çalışması için yerleşik bir LDO'ya sahip olsa da, 3V 2xAAA alkalin pillerle çalıştırıldığında buna ihtiyacımız yoktur. Bu bağlantı ile D1 Mini'm de görevini sadece 1.8V besleme gerilimi ile tamamlayabildi.

2. Adım: Kod

Program daha güzel veya daha basit olabilirdi, ancak diğer projelerimde de kanıtlanmış parçaları var.

Çizim aşağıdaki kitaplıkları kullanır:

ESP8266WiFi.h: ESP8266 kartları için varsayılan.

Gsender.h: Borya'dan Gmail gönderici kitaplığı, buradan indirilebilir.

Program akışı oldukça basittir.

  • ESP başlar.
  • İlk çalıştırma olup olmadığını kontrol etmek için RTC hafızasını okur
  • Intelligentwifi() işlevini kullanarak WiFi'ye bağlanır. Bu, daha hızlı bağlantı için yönlendirici MAC adresini (BSSID) ve kanal numarasını kullanarak WiFi'ye bağlanır, 100 başarısız denemeden sonra bunlar olmadan yeniden dener ve 600 denemeden sonra uyku moduna geçer. Bu işlev, OppoverBakke'nin WiFi güç tüketimi tasarrufu taslağından türetilmiştir, ancak bu uygulamada bağlantı verilerini RTC bölümüne kaydetmeden.
  • Dahili ESP ile ADC_MODE(ADC_VCC) / ESP.getVcc() özellikleri ile akü voltajını kontrol eder. Bu, harici voltaj bölücü veya A0'a herhangi bir kablo bağlantısı gerektirmez. Bizim durumumuz olan 3.3V altındaki voltajlar için mükemmeldir.
  • Gsender.h ile bir değişiklik e-postası gönderir. Pil voltajını, ilk algılamadan bu yana geçen süreyi ve pil değişimiyle ilgili tavsiyeleri bildirmek için konuya ve mesaj dizilerine değişkenler ve özel metinler ekledim. Lütfen alıcı e-posta adresini değiştirmeyi unutmayınız.

    • uyur

      • Başarılı olursa, ESP.deepSleep(0) ile "sonsuza kadar" uyur; Su seviyesi yükselene kadar fiziksel olarak uyku modunda olacaktır. Bu teknik olarak birkaç saat veya en fazla birkaç gündür, bu da birkaç uA uyku akımıyla pili boşaltmaz. Su bittiğinde şamandıra anahtarı açılacak ve ESP tamamen kapanacak ve akım tüketimi 0 olacaktır.
      • Başarısız olursa, 20 dakika uykuya dalar, sonra tekrar dener. Bir yaz fırtınası durumunda AC güç kesintisi olması mümkündür. Yeniden başlatmaları sayar ve RTC belleğinde saklar. Bu bilgi, ilk alarm denemesinden itibaren geçen süreyi raporlamak için kullanılır. (Lütfen, USB gücü ve seri monitör ile test ederken, RTC'nin indirmeler arasında döngü sayısı değerini tutabileceğini unutmayın.)

Adım 3: Montaj ve Kurulum

Montaj ve Kurulum
Montaj ve Kurulum
Montaj ve Kurulum
Montaj ve Kurulum
Montaj ve Kurulum
Montaj ve Kurulum

Kodu bir breadboard üzerinde test ettikten sonra, küçük bir perfboard parçasına lehimledim.

Birbirine dikilmiş 2 adet 5.08 mm aralıklı 2 kutuplu vidalı terminal, ESP için bir dişi başlık, bir kapasitör ve birkaç jumper kullandım.

Harici anteni seçmek için seramik antenin yanında "0" numaralı SMD direncinin yanındaki boş pedlere yeniden lehimlenmesi gerektiğini lütfen unutmayın.

Sonra her şeyi küçük bir IP55 elektrik bağlantı kutusuna koydum. Şamandıralı şalterden gelen teller bir kablo rakoru ile bağlanır.

Kutu, suyun (umarım) asla ulaşamayacağı güvenli bir yüksekliğe yerleştirilmiştir, bu yüzden şamandıralı anahtarı bağlamak için bir çift nispeten kalın, 1 mm^2 (17AWG) bakır tel kullandım. Bu kurulum ile ESP, 1.8V giriş voltajı ile bile mesajı başlatabilir ve gönderebilir.

Kurulumdan sonra bu sessiz nöbetçi nöbette, ama umarım yakında bir alarm göndermek zorunda kalmaz…

Önerilen: