ESP8266 Deep Sleep (Derin Uyku Modu) ve Enerji Tasarrufu
ESP8266 kablosuz sensor olarak bataryadan uzun süreli beslenebilmesi için periyodik ölçüm dışında gönderim yapmadığında enerji tasarru için derin uyku modunda kullanılması gerekir. ESP8266 için Derin Uyku modu kullanımı bu makelede anlatılmıştır.

esp8266 programlama deep sleep(derin uyku) devre şeması

ESP8266 ve ESP32 Wi-Fi modüller kablosuz veri gönderen Sensör birimlerinde yoğun olarak kullanılırlar. Bu birimler genellikle belirli zaman aralıklarında ölçüm yaparak sunucuya veri gönderir ve bir sonraki ölçüme kadar uyku modunda beklemeleri gerekmektedir. Aksi halde Kablosuz ağa bağlı durumda işlem yapmadığı anlarda yaklaşık ~80mA akım tüketen modül bataryayı çok kısa süre içerisinde tüketecektir.


ESP8266 modüller derin uyku modunda 20µA (0.02mA) düzeyinde akım çekmektedir. Derin uyku modunda kablosuz ağa bağlı durumda değillerdir. Belirlenen periyod ile uyku moduna sokulurlar ve belirlenen periyod sonunda iç sayaç GPIO-16 (D0) pini ile modülü resetleyerek sıradaki ölçüm işlemini tekrar başlatır.


ESP8266 Deep Sleep (Derin Uyku) fonksiyonu için belirlenebilecek max. süre "4 294 967 295" Mikro Saniye (4294967295 µs) yani 71.58 dakika olacaktır. Diğer tüm uyku modları, aktif/pasif donanımlar ve tüketim değerleri aşağıdaki tabloda verilmiştir.





ItemModem-sleepLight-sleepDeep-sleep
Wi-FiOFFOFFOFF
System clockONOFFOFF
RTCONONON
CPUONPendingOFF
Substrate current15 mA0.4 mA~20 uA
Average current (DTIM = 1)16.2 mA1.8 mA
Average current (DTIM = 3) 15.4 mA0.9 mA
Average current (DTIM = 10) 15.2 mA0.55 mA





ESP.deepSleep(3600e6); komutu ESP8266/ESP32 modülü "3 600 000 000 µS" süreyle (3600sn) uyku moduna alacaktır. Süre sonunda GPIO16 (Arduino D0) pini modülü resetleyerek komut satırını tekrar başlatacaktır.

Örnek Uygulama Kodu



/*
 * ESP8266 Deep Sleep (Derin Uyku) Modu Kullanımı
 * Author: AGUL
 * https://www.signal.com.tr/esp8266/esp8266_deepsleep_mode_derin_uyku_modu_ve_enerji_tasarrufu
 */
 
void setup() {
  Serial.begin(115200);
  Serial.setTimeout(2000);
 
  // Wait for serial to initialize. Seri port hazırlanması için bekle
  while(!Serial) { }
 
  // Deep sleep (Derin Uyku Modu) 60 dakika. ESP8266 GPIO16 pininden reset ucuna göndereceği sinyal ile 60 dakika sonra uyanacak ve en baştan kod bloğunu okumaya başlayacaktır.
  Serial.println("Uyanık durumdayım, 1 saat süreyle uyku durumuna geçiyorum.");
  ESP.deepSleep(3600e6); 
 
 
}
 
void loop() {

}





UYARILAR









Osmanağa Mh. Miski Amber Sk. No:5A/1, 34714 Kadıköy İstanbul
+90 216 290 0000
info@signal.com.tr
KADIKÖY V.D. / 7690012701
Hong Kong Ofis: Room 1304, 13/F, Allways Centre, 468 Jaffe Road, Causeway Bay, Hong Kong.
+852 2417 2366
info.hk@signal.com.tr

Telif Hakkı © 1995-2023, Signal Elektronik Limited.
Signal Elektronik, bir elektronik komponent pazarlama ve mühendislik firmasıdır.İstanbul ve Hong Kong ofislerinde çalışan deneyimli ve uzman personeli ile elektronik komponentlerin pazarlama ve satış sonrası destek faaliyetlerini yürütmektedir.
Bu sitede bulunan tüm içerik, metin gibi, grafik, logo, düğme simgeleri, resimler, ses klipleri, dijital indirme, veri derlemeleri, ve yazılım, Signal Elektronik veya içerik tedarikçileri mülkiyetindedir ve uluslararası telif hakkı yasaları tarafından korunmaktadır.