Load Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ°

ESP8266 Ρ€Π΅ΠΆΠΈΠΌΡ‹ сна, энСргосбСрСТСниС

Π’ этом руководствС я ΠΏΠΎΠΊΠ°ΠΆΡƒ ΠΊΠ°ΠΊ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Ρ€ΠΈ Ρ€Π΅ΠΆΠΈΠΌΠ° сна Π½Π° ΠΏΠ»Π°Ρ‚Π΅ ESP8266. ΠžΡ‚ΠΏΡ€Π°Π²Π»ΡΡ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π² сон ΠΌΡ‹ Ρ‚Π΅ΠΌ самым экономим ΡΠ½Π΅Ρ€Π³ΠΈΡŽ, это Π²Π°ΠΆΠ½ΠΎ, ΠΊΠΎΠ³Π΄Π° устройство питаСтся ΠΎΡ‚ аккумулятора ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ круглосуточно.

Π‘Π°ΠΌΠΎΠ΅ популярноС устройство Π½Π° ESP это ΡƒΠ»ΠΈΡ‡Π½Ρ‹ΠΉ Ρ‚Π΅Ρ€ΠΌΠΎΠΌΠ΅Ρ‚Ρ€, Π΄Π°Π½Π½Ρ‹Π΅ с Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ Π½Π° сСрвСр с Π½Π΅ΠΊΠΈΠΌ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠΌ, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· Π² 5 - 10 ΠΌΠΈΠ½ΡƒΡ‚. Π—Π°ΠΌΠ΅Ρ€ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ нСсколько сСкунд, всё ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅ врСмя ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ бСздСйствуСт, потрСбляя ΡΠ½Π΅Ρ€Π³ΠΈΡŽ. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ заряд аккумулятора ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ESP  Π² сон.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°:

ESP8266 ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊ WiFi
ESP8266 выполняСт Π·Π°Π΄Π°Ρ‡Ρƒ (провСряСт Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΈ, отправляСт Π΄Π°Π½Π½Ρ‹Π΅)
ESP8266 Π·Π°ΡΡ‹ΠΏΠ°Π΅Ρ‚ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ
ESP8266 просыпаСтся
ΠŸΡ€ΠΎΡ†Π΅ΡΡ повторяСтся, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ WiFi, считываниС Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, сон...

БущСствуСт Ρ‚Ρ€ΠΈ Ρ‚ΠΈΠΏΠ° спящСго Ρ€Π΅ΠΆΠΈΠΌΠ°:

МодСм-сон - Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ WiFi. Π’ΠΎΠΊ потрСблСния 15 mA.

Π›Ρ‘Π³ΠΊΠΈΠΉ сон - всё Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ, ΠΊΡ€ΠΎΠΌΠ΅ часов Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ (RTC), процСссор Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ оТидания. Π’ΠΎΠΊ потрСблСния 0.4 mA.

Π“Π»ΡƒΠ±ΠΎΠΊΠΈΠΉ сон - всё Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ часы Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ (RTC). Π’ΠΎΠΊ потрСблСния 20 uA.

Π’Π°Π±Π»ΠΈΡ†Π° сравнСния Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² сна для ESP8266:

Item Modem-sleep Light-sleep Deep-sleep
Wi-Fi OFF OFF OFF
System clock ON OFF OFF
RTC ON ON ON
CPU ON Pending OFF
Π’ΠΎΠΊ потрСблСния 15 mA 0.4 mA ~20 uA
Average current (DTIM = 1) 16.2 mA 1.8 mA –
Average current (DTIM = 3) 15.4 mA 0.9 mA –
Average current (DTIM = 10) 15.2 mA 0.55 mA –

Π― ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π» всС Ρ‚Ρ€ΠΈ Ρ€Π΅ΠΆΠΈΠΌΠ° сна ΠΈ расскаТу Π²Π°ΠΌ Ρ‡Ρ‚ΠΎ Ρƒ мСня ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ. ВСстировал  Π½Π° ΠΏΠ»Π°Ρ‚Π°Ρ… ESP-01 ΠΈ WeMos D1 mini. Π’ΠΎ всСх Ρ‚Ρ€Ρ‘Ρ… случаях Π½ΡƒΠΆΠ½ΠΎ Π·Π°Π½ΠΎΠ²ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΊ WiFi.

МодСм-сон / Modem-sleep

Π’ этом Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π½Π΅ спит, Π½ΠΎ потрСбляСт ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ энСргии, всСго 15 mA, это ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΠΊΠ°ΠΊ 2-3 ярких свСтодиода. ΠŸΡ€ΠΈ ΠΏΠΈΡ‚Π°Π½ΠΈΠΈ устройства ΠΎΡ‚ сСти этим ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ΠΌ энСргии ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠ½Π΅Π±Ρ€Π΅Ρ‡ΡŒ, Π° Π²ΠΎΡ‚ аккумулятора Ρ…Π²Π°Ρ‚ΠΈΡ‚ Π½Π΅ Π½Π° Π΄ΠΎΠ»Π³ΠΎ. Π­Ρ‚ΠΎΡ‚ Ρ€Π΅ΠΆΠΈΠΌ сна самый простой Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, достаточно Π² ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠ°Ρ€Ρƒ строк:

WiFi.forceSleepBegin(); // Wifi off
// Ρ‚ΡƒΡ‚ ΠΊΠΎΠ΄ основной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
WiFi.forceSleepWake(); // Wifi on
delay(15000); // сон 15 сСк

Π’ тСстах этот Ρ€Π΅ΠΆΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π» Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.

Π›Ρ‘Π³ΠΊΠΈΠΉ сон / Light-sleep

Всё Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ, ΠΊΡ€ΠΎΠΌΠ΅ часов Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ (RTC), процСссор Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ оТидания. Π’ΠΎΠΊ потрСблСния Π² этом Ρ€Π΅ΠΆΠΈΠΌΠ΅ 0.4 mA. Π‘ Ρ‚Π°ΠΊΠΈΠΌ энСргопотрСблСниСм аккумулятор ΠΏΡ€ΠΎΡ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ достаточно Π΄ΠΎΠ»Π³ΠΎ.

ПослС пробуТдСния Π½ΡƒΠΆΠ½ΠΎ Π·Π°Π½ΠΎΠ²ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΊ WiFi. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π±ΡƒΠ΄ΠΈΡ‚ΡŒ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€, для этого GPIO2 Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΌΠΊΠ½ΡƒΡ‚ΡŒ Π½Π° минусовой Π²Ρ‹Π²ΠΎΠ΄.

Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ сна, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΠ»ΡƒΠ΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:

void light_sleep()
{
  //wifi_station_disconnect(); //not needed
  uint32_t sleep_time_in_ms = 15000; // sleep time ms
  wifi_set_opmode(NULL_MODE);
  wifi_fpm_set_sleep_type(LIGHT_SLEEP_T);
  wifi_fpm_open();
  wifi_fpm_set_wakeup_cb(callback);
  wifi_fpm_do_sleep(sleep_time_in_ms * 1000);
  delay(sleep_time_in_ms + 1);
}

void callback()
{
  Serial1.println("Callback");
  Serial.flush();
}

Π—Π΄Π΅ΡΡŒ Π΄Π²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΡΠ½ΡƒΡ‚ΡŒ Π² ΠΊΠΎΠ΄Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ light_sleep(). Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ установлСно врСмя сна 15 сСк, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‹ΠΏΠΈΡ‚ΡŒ насовсСм ΠΈΠ»ΠΈ ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΆΠ°Ρ‚Π° ΠΊΠ½ΠΎΠΏΠΊΠ°, для этого Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ строку Π½Π° эту:

wifi_fpm_do_sleep(0xFFFFFFF); // Π·Π°ΡΠ½ΡƒΡ‚ΡŒ ΠΈ Π½Π΅ ΠΏΡ€ΠΎΡΡ‹ΠΏΠ°Ρ‚ΡŒΡΡ

Π Π΅ΠΆΠΈΠΌ Π»Ρ‘Π³ΠΊΠΎΠ³ΠΎ сна оказался самым нСпонятным ΠΈ ΠΊΠ°ΠΏΡ€ΠΈΠ·Π½Ρ‹ΠΌ. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ… ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… сайтах Π°Π²Ρ‚ΠΎΡ€Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΊ Π΅Π³ΠΎ написанию. Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ… этот сон Ρƒ мСня исправно Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π΄ΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΌΠΈΠ½ΡƒΡ‚Ρ‹, Ссли большС, Ρ‚ΠΎ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΈΠ· сна. ΠŸΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅, ΠΌΠΎΠΆΠ΅Ρ‚ Ρƒ вас Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈΠ½Π°Ρ‡Π΅ ΠΈΠ»ΠΈ Π²Π°ΠΌ удастся Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ ΠΈΠ½Π°Ρ‡Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ сон Ρ€Π°Π±ΠΎΡ‚Π°Π» ΠΊΠ°ΠΊ Π½Π°Π΄ΠΎ.

Π“Π»ΡƒΠ±ΠΎΠΊΠΈΠΉ сон / Deep-sleep

Π­Ρ‚ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ энСргоэффСктивный Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, микросхСма ESP8266 потрСбляСт всСго 20 мкА. ΠžΡ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΡˆΠ΅, Ссли Ρƒ вас Π² схСмС Π΅ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ свСтодиоды, стабилизаторы напряТСния, Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΈ.

Π­Ρ‚ΠΎΡ‚ Ρ€Π΅ΠΆΠΈΠΌ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€, поэтому послС просыпания ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π½ΠΎΠ²ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΊ WiFi. Π’.Π΅. Π² этом Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ наТимаСтся ΠΊΠ½ΠΎΠΏΠΊΠ° reset ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π½Π°Ρ‡Π°Π»Π°.

Π§Ρ‚ΠΎΠ±Ρ‹ пСрСвСсти ESP8266 Π² Ρ€Π΅ΠΆΠΈΠΌ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ сна, Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ всСго ΠΎΠ΄Π½Ρƒ строку:

ESP.deepSleep(15e6); // сон  (5 ΠΌΠΈΠ½ΡƒΡ‚ = 300e6) ΠΈΠ»ΠΈ 0 - Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΡ€ΠΎΡΡ‹ΠΏΠ°Ρ‚ΡŒΡΡ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ

Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Ρ€Π°Π·Π±ΡƒΠ΄ΠΈΡ‚ΡŒ, Π½ΡƒΠΆΠ½ΠΎ Π½Π° Π²Ρ‹Π²ΠΎΠ΄ RST ΠΏΠΎΠ΄Π°Ρ‚ΡŒ сигнал LOW.

Π§Ρ‚ΠΎΠ±Ρ‹ микросхСма ΠΌΠΎΠ³Π»Π° ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ сна Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΡ‹Ρ‡ΠΊΡƒ RST Π½Π° GPIO 16, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½ ΠΊΠ°ΠΊ D0. Если посмотритС Π½Π° распиновку, ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ GPIO 16 ΠΈΠΌΠ΅Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ WAKE

NodeMCU ESP8266 распиновка

ΠŸΡ€ΠΈΠΏΠ°ΡΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΡ‹Ρ‡ΠΊΡƒ ΠΊΠ°ΠΊ нарисовано Π½ΠΈΠΆΠ΅ для ΠΏΠ»Π°Ρ‚Ρ‹ NodeMCU:

ΠŸΠ΅Ρ€Π΅ΠΌΡ‹Ρ‡ΠΊΠ° для ΠΏΠ»Π°Ρ‚Ρ‹ NodeMCU

ΠŸΠ΅Ρ€Π΅ΠΌΡ‹Ρ‡ΠΊΠ°  для ΠΏΠ»Π°Ρ‚Ρ‹ WeMos D1 mini:

ΠŸΠ΅Ρ€Π΅ΠΌΡ‹Ρ‡ΠΊΠ°  для ΠΏΠ»Π°Ρ‚Ρ‹ WeMos D1 mini

Π‘Π»ΠΎΠΆΠ½Π΅Π΅ всСго ΠΏΠ΅Ρ€Π΅ΠΌΡ‹Ρ‡ΠΊΡƒ ΠΏΡ€ΠΈΠΏΠ°ΡΡ‚ΡŒ Π½Π° ΠΏΠ»Π°Ρ‚Π΅ ESP-01, Ρ‚ΡƒΡ‚ Π΅Π»Π΅ Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹Π΅ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ ΠΈ ΠΏΠ°ΠΉΠΊΠ° ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΎΡ‚ вас мастСрства. Если Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹ Π² сСбС, Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ Π½Π΅ паяйтС, Π²ΠΎΠ·ΡŒΠΌΠΈΡ‚Π΅ Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρƒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ WeMos D1 mini.

ΠŸΠ΅Ρ€Π΅ΠΌΡ‹Ρ‡ΠΊΠ° для ESP-01

На Π½ΠΎΠ²Ρ‹Ρ… вСрсиях этой ΠΏΠ»Π°Ρ‚Ρ‹ рядом с ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠΌ, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π½Π°Π΄ΠΎ ΠΏΡ€ΠΈΠΏΠ°ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΡ‹Ρ‡ΠΊΡƒ стоят SMD-Π΄Π΅Ρ‚Π°Π»ΠΈ, Ρ‡Ρ‚ΠΎ Π΅Ρ‰Ρ‘ большС услоТнит процСсс ΠΏΠ°ΠΉΠΊΠΈ, ΠΌΠΎΠΆΠ½ΠΎ просто ΠΈΡΠΏΠΎΡ€Ρ‚ΠΈΡ‚ΡŒ ΠΏΠ»Π°Ρ‚Ρƒ. НиТС Π½Π° Ρ„ΠΎΡ‚ΠΎ старая вСрсия ΠΏΠ»Π°Ρ‚Ρ‹ ΠΈ новая. На ΡΡ‚Π°Ρ€ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρƒ я припаял ΠΎΠ΄Π½ΠΎΠΆΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΎΠΊ, ΠΏΡ€ΠΈΠΆΠ°Π» Π΅Π³ΠΎ ΠΊ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρƒ ΠΈ свСрху ΠΏΠΎΠ³Ρ€Π΅Π» паяльником. Π’Π°ΠΊΠΆΠ΅ Π½Π° старой ΠΏΠ»Π°Ρ‚Π΅ Π½ΡƒΠΆΠ½Π° ΠΏΠ΅Ρ€Π΅ΠΌΡ‹Ρ‡ΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠ»ΡŽΡΠΎΠ²Ρ‹ΠΌ Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ ΠΈ Ch_PD, ΠΈΠ½Π°Ρ‡Π΅ ΠΏΠ»Π°Ρ‚Π° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡˆΠΈΠ²Π°Ρ‚ΡŒΡΡ. Π§Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ максимального энСргосбСрСТСния Π½Π° старой ΠΏΠ»Π°Ρ‚Π΅ придётся ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ красный свСтодиод.

image

Распиновка ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ESP8266


shadow
Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ ДА ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» ΡΡ‚Π°Ρ‚ΡŒΡŽ: Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ ДА
Π”Π°Ρ‚Π°: 09.07.2022


shadow


shadow

ΠšΠžΠœΠœΠ•ΠΠ’ΠΠ Π˜Π˜

  • Π‘Π΅Ρ€Π³Π΅ΠΉβ„–1 | 17.01.2025 14:02

    ΠŸΡ€ΠΎΡˆΠΈΠ²Π°ΡŽ ΠΏΠ»Π°Ρ‚Ρƒ ESP-01s простым ΠΊΠΎΠ΄ΠΎΠΌ ESP.deepSleep(15e6); для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Deep Sleep. Π’ сон ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ ΠΈ просыпаСтся Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π½ΠΎ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ Π² Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠΌ снС 2 мА. Π§Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π±Ρ‹ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ 20 мкА?

    ΠžΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ
  • ΠžΠ»Π΅Π³β„–2 | 19.03.2025 14:09

    Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ Π»Π΅Π³ΠΊΠΈΠΉ сон
    #include "user_interface.h" // для сохранСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π²ΠΎ врСмя Π»Π΅Π³ΠΊΠΎΠ³ΠΎ сна Π½Π° основС RTC

    #define WAKE_UP_PIN 0 // D3

    void wakeupCallback() {//Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π°,Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π»Ρ‘Π³ΠΊΠΈΠΉ сон возобновился сразу послС Ρ‚Π°ΠΉΠΌ-Π°ΡƒΡ‚Π° ΠΈΠ»ΠΈ прСрывания (Π±Π΅Π· оТидания ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ delay()
    delay(3);// Π±Π΅Π· этого запустится delay(sleepSeconds * 1000 + 1)
    Serial.println("ΠΎΠ±Ρ€ Π²Ρ‹Π·ΠΎΠ², сон кончился");
    // этот сброс ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π΅ΡˆΠ°ΡŽΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ это Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°, которая
    // позволяСт процСссору Π²Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ delay(sleepSeconds * 1000 + 1)
    Serial.flush();
    }

    void sleep(int sleepSeconds) {
    extern os_timer_t *timer_list;
    timer_list = nullptr;
    // wifi_station_disconnect(); //not needed
    wifi_set_opmode_current(NULL_MODE);//NULL_MODE β€” этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Wi-Fi ΠΌΠΎΠ΄ΡƒΠ»ΡŒ.
    wifi_fpm_open();
    wifi_fpm_set_sleep_type(LIGHT_SLEEP_T);
    Serial.println("ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π² сон");
    Serial.flush();
    gpio_pin_wakeup_enable(GPIO_ID_PIN(WAKE_UP_PIN), GPIO_PIN_INTR_LOLEVEL);
    wifi_fpm_set_wakeup_cb(wakeupCallback); //функция ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ НЕ выполнялся delay послС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ строки
    wifi_fpm_do_sleep(sleepSeconds * 1000 * 1000);//Π›Ρ‘Π³ΠΊΠΈΠΉ сон ΠΏΠΎ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρƒ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π»ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ ~10 000 Π΄ΠΎ 0xFFFFFFE = 2^28-1 = 268435454 микросСкунд (~4 1/2 ΠΌΠΈΠ½ΡƒΡ‚Ρ‹)
    delay(sleepSeconds * 1000 + 1); // Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Π»Ρ‘Π³ΠΊΠΎΠ³ΠΎ сна Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ delay() (ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π² миллисСкундах), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π½Π° 1 мс Π΄Π»ΠΈΠ½Π½Π΅Π΅, Ρ‡Π΅ΠΌ врСмя сна
    }



    void setup() {
    pinMode(WAKE_UP_PIN, INPUT_PULLUP);
    Serial.begin(9600);
    Serial.println();
    }

    void loop() {
    delay(3); //Π±Π΅Π· этого ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ Π² сон, Π½ΠΎ Π½Π΅ просыпаСтся

    for (int i = 0; i < 3; ++i) {
    // Π’Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Π½ΠΎΠΌΠ΅Ρ€ ΠΏΠΈΠ½Π° ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
    Serial.print("Analog Pin ");
    Serial.print(i + 1);
    Serial.print("= ");
    Serial.println(analogRead(A0));
    delay(1000);
    }

    sleep(15);

    }

    ΠžΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ



НАПИБАВЬ ΠšΠžΠœΠœΠ•ΠΠ’ΠΠ Π˜Π™

Π’Π°ΡˆΠ΅ имя

Π’Π°Ρˆ e-mail



Shadow

  • Π‘Π°ΠΌΠΎΠ΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π³ΠΎΡ€ΡˆΠΎΠΊ для Π΄Π΅Ρ€Π΅Π²Π° ΠΈΠ· бисСра
    Найти малСнький Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ Π³ΠΎΡ€ΡˆΠΎΠΊ Π² ΠΌΠ°Π³Π°Π·ΠΈΠ½Π°Ρ… слоТно, Π° Π²ΠΎΡ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ Ρ€ΡƒΠΊΠ°ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ :)
    Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ ДА 10.04.2009
  • Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π·Π²Π΅Π·Π΄Ρƒ ΠΈΠ· Π±ΡƒΠΌΠ°Π³ΠΈ
    Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ Π·Π²Π΅Π·Π΄Ρƒ ΠΈΠ· Π±ΡƒΠΌΠ°Π³ΠΈ ΠΎΡ‡Π΅Π½ΡŒ просто. Вакая бумаТная Π·Π²Π΅Π·Π΄Π° Π² Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ΅ ΠΎΡ€ΠΈΠ³Π°ΠΌΠΈ станСт Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΡƒΠΊΡ€Π°ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π½ΠΎΠ²ΠΎΠ³ΠΎΠ΄Π½Π΅ΠΉ Π΅Π»ΠΊΠΈ ΠΈΠ»ΠΈ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ³Ρ€ΡƒΡˆΠΊΠΎΠΉ.
    АлСксандра 11.01.2020
  • Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΡŽΡ€ΠΈΠΊΠ΅Π½ ΠΈΠ· Π±ΡƒΠΌΠ°Π³ΠΈ
    Π‘ΡŽΡ€ΠΈΠΊΠ΅Π½ – это Ρ€Π°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡ‚ΡŒ Π·Π²Ρ‘Π·Π΄ΠΎΡ‡Π΅ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ скрыто носили ниндзя. Π£ Π½ΠΈΡ… ΠΌΠ½ΠΎΠ³ΠΎ Ρ„ΠΎΡ€ΠΌ ΠΈ Π²ΠΈΠ΄ΠΎΠ², Π½ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ извСстны Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π²ΠΈΠ΄ Π·Π²Π΅Π·Π΄Ρ‹. Π•Π΅ Ρ‡Π°Ρ‰Π΅ всСго приводят Π² качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°. Если Ρƒ вас подрастаСт малСнький ниндзя – ΡƒΠ·Π½Π°ΠΉΡ‚Π΅ ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΡŽΡ€ΠΈΠΊΠ΅Π½ ΠΈΠ· Π±ΡƒΠΌΠ°Π³ΠΈ.
    АлСксандра 09.12.2021
Π’Π²Π΅Ρ€Ρ… β‡’