Dessa cirkulerar på de vanliga marknadsplatserna och finns många diskussioner på andra forum.
Är det nån som råkat ut för dem?
Jag har två här, köpta i höstas, ESP-07S. Samma remsa så föga förvånande att de båda är defekta.
Problemet är alltså, mikrokontrollern ska normalt efter deepsleep dra GPIO16 låg, som då ska vara kopplad till Reset för att väcka den.
Så långt funkar det på dessa. Men den kräver en dubbeldipp för att vakna, vilket de fungerade inte kräver.
Ett annat kännetecken är att GPIO0 pulsar 26MHz efter att den skulle vaknat.
Beställt tre nya nu, men ponera att dessa också är defekta. Vad ska man göra för workaround?
Kunde man få ihop en högimpedant transistorkrets som ger en andra puls, nån sorts vippa?
Alternativt dra in pulståget från GPIO0 genom en transistor till reset?
Finns ju ett utbud av "resetkretsar", finns det nån som skulle ge dubbla pulser?
En AtTiny eller motsvarande i deepsleep som vaknar när input går låg och ger två pulser ut?
Defekta ESP8266, zombie efter deep sleep
Re: Defekta ESP8266, zombie efter deep sleep
Använder ESP32 modul i en produkt på jobbet, där har vi problem med att vissa individer inte vaknar upp efter flash. De kan sen vakna slumpmässigt om ström bryts och återkopplas. Reset hjälper inte. Omprogrammering hjälper inte.
Jag har inte lagt jättemycket krut på dem utan bara bytt modul på de enheter som inte vill vara med.
Det är säkert inte samma fel.. men ändå.
Jag har inte lagt jättemycket krut på dem utan bara bytt modul på de enheter som inte vill vara med.
Det är säkert inte samma fel.. men ändå.
Re: Defekta ESP8266, zombie efter deep sleep
ESP32 har ju detta internt, behöver ingen jumper mellan GPIO och reset.
Re: Defekta ESP8266, zombie efter deep sleep
Har testat lite nu med en annan ESP8266 mellan GPIO16 och Reset.
När dess input-pin från zombiens GPIO16 går låg ger dess output-pin två dippar till zombiens Reset.
1ms dip verkar räcka MEN det måste vara 50ms mellan första och andra dip. Det försvårar lite alla analoga kopplingar.
När dess input-pin från zombiens GPIO16 går låg ger dess output-pin två dippar till zombiens Reset.
1ms dip verkar räcka MEN det måste vara 50ms mellan första och andra dip. Det försvårar lite alla analoga kopplingar.
Re: Defekta ESP8266, zombie efter deep sleep
Denna något bisarra och okommenterade kod från https://github.com/esp8266/Arduino/issues/6318 verkar fungera,
Även om strömmen är runt 30 uA mot 22 uA på ESP.DeepSleep().
Har dock fått en fungerande nu.
Har också ett par ATTiny13 påväg som jag ska pröva, gjort en fungerande resetter med en DigiSpark, ATTiny85.
Kod: Markera allt
static uint32 *rtc = (uint32 *)0x60000700;
void nk_deepsleep(uint32 time_us) {
rtc[0] = 0x30;
rtc[1] = rtc[7] + 5;
rtc[3] = 0x10010;
rtc[4] = 0;
rtc[6] = 8;
rtc[17] = 4;
rtc[2] = 1 << 20;
ets_delay_us(10);
rtc[0] &= 0xFCF;
rtc[0] = 0;
rtc[1] = rtc[7] + (45 * (time_us >> 8));
rtc[3] = 0x640C8;
rtc[6] = 0x18;
rtc[16] = 0x7F;
rtc[17] = 0x20;
rtc[39] = 0x11;
rtc[40] = 0x03;
rtc[2] = 1 << 20;
__asm volatile("waiti 0");
}
// nk_deepsleep(300*1000000); //300 sec
Har dock fått en fungerande nu.
Har också ett par ATTiny13 påväg som jag ska pröva, gjort en fungerande resetter med en DigiSpark, ATTiny85.