Stabilita ESP8266

mhi

  • *****
  • 500
    • Zobrazit profil
Stabilita ESP8266
« kdy: 13. 10. 2019, 17:49:48 »
Zdravim,

 pouzivate nekdo ESP8266 v nejake dulezitejsi aplikaci, u ktere je vyzadovana spolehlivost? A funguje to 100% ?

 Mam par ESP8266 na nejake experimentovani (z eBaye), pravda, zapojene vselijak na stole, ale obcas se stava, ze se nektery z nich restartuje (pritom tam mam defacto jen priklad s HTTP serverem ktery umi vypnout LEDku). No a behem dne se mi nekdy restartuje (LED se rozsviti po bootu). Terminal (debug) jsem zatim neodlogoval, restart je velmi nepravidelny, ale udelam to.

 ESP32 mi to nedela. Oboji programuji oficialnim gcc a ESP-IDF.

 Na Internetu lide pisi rozdilne nazory na tento problem, nicmene u nazoru "funguje to" vetsinou neni dopsano z jake zkusenosti dotycny pise.


Re:Stabilita ESP8266
« Odpověď #1 kdy: 13. 10. 2019, 17:59:39 »
Zdravím,
ESP8266 používám na modulu Wemos D1 mini a tam je stabilita perfektní, není problém mít desítky dní uptime.  používám to jako různá čidla, která logují data do datábáze  a v rámci datových zpráv si posílám unixtime startu, takže to není jen dojem, ale lze se opřít o fakta.
Naopak s ESP32 mámhorší zkušenosti, mám tu 2 moduly (taktéž Wemos mini), kterými jsem nahrazoval 8266 kvůli potřebě lepšího PWM pro LEDky a s těmi je ta stabilita horší - občas je třeba je restartnout. Ale nepravidelně. Třeba potřebují 3 restarty o jednom víkednu a pak je měsíc klid.
programuji to pomocí Atom/PlatformIO a ArduinoCore.
Petr

PanVP

Re:Stabilita ESP8266
« Odpověď #2 kdy: 13. 10. 2019, 18:13:17 »
Poslední uptime 6 měsíců, pak výměna baterie, zařízení chárpe, odešle teplotu, chrápe odešle teplotu...

Re:Stabilita ESP8266
« Odpověď #3 kdy: 13. 10. 2019, 20:10:26 »
Poslední uptime 6 měsíců, pak výměna baterie, zařízení chárpe, odešle teplotu, chrápe odešle teplotu...

Nechci Vám brát iluze, ale pravděpodobně nemáte uptime 6 měsíců, nýbrž jen čas rovnající se době od resetu, provedení měření , odeslání hodnot a přechodu do deep sleep módu. Takže pár vteřin.
Protože u ESP8266 probuzení z deep sleep rovná se reset procesoru.....

Pavouk106

  • *****
  • 2 395
    • Zobrazit profil
    • Můj blog
    • E-mail
Re:Stabilita ESP8266
« Odpověď #4 kdy: 13. 10. 2019, 20:15:25 »
Několik dnů v kuse bez problémů. Poté ručně odpojuju od zdroje a přeprogramovávám...

Jsou to překlápěcí hodiny, kdy bubny otáčím krokovými motory a stále ještě vychytávám přesnost jednotlivých otočení (proto to má uptime jen pár dnů). ESP neuspávám, běží 24/7, připojené k wifi, 1x za sekundu kouká na RTC, jednou za pár hodin stahuje čas přes NTP a ukládá do RTC. Do toho točí krokovými motory dle potřeby.

Napájeno 3.3V lineárním stabilizátorem napětí, který je připojený na 5V boost (ten dělá 5V z Li-ion baterie). Programováno přes Arduino IDE. Jde o samotné ESP8266, bez desky s další elektronikou, na Ebay stálo 40Kč.

Věřím, že po vychytání přesnosti otáčení mi pojede skálopevně řadu dnů, týdnů, měsíců, nejlépe let...


Re:Stabilita ESP8266
« Odpověď #5 kdy: 13. 10. 2019, 20:22:48 »
Jinak ESP8266 Vám při bootu dá vědět, co bylo příčinou restartu.
Většinou,  při podobných problémech, je to HW watchdog, protože kód se někde zdržuje déle než je akceptovatelné pro udržení wifi spojení.
https://arduino-esp8266.readthedocs.io/en/latest/faq/a02-my-esp-crashes.html

martyd420

  • ***
  • 193
  • K U B U N T U
    • Zobrazit profil
    • E-mail
Re:Stabilita ESP8266
« Odpověď #6 kdy: 13. 10. 2019, 21:31:31 »
uptime "několik dnů" a "desítky dnů" mi teda přijde dost málo.. jestli to měly být pozitivní odpovědi, tak mě to docela odrazuje.
Taková jednoduchá věc musí běžet "navždy", že by bylo maximum dny až desítky dnů mi připadá jako blbost...
fakt?
T_PAAMAYIM_NEKUDOTAYIM  |  Nemám rád IPv6 influencery :P

Re:Stabilita ESP8266
« Odpověď #7 kdy: 13. 10. 2019, 21:44:50 »
uptime "několik dnů" a "desítky dnů" mi teda přijde dost málo.. jestli to měly být pozitivní odpovědi, tak mě to docela odrazuje.
Taková jednoduchá věc musí běžet "navždy", že by bylo maximum dny až desítky dnů mi připadá jako blbost...
fakt?

Ono to zas až taková jednoduchá věc není.
Z různých důvodů se může stát, že do vašeho kódu, který nějakým způsobem napasujete na vývojové prostředky, které vám výrobce dal k dispozici, zasáhne vyšší proces, který udržuje wifi spojení a procesor se zresetuje.
Je třeba  s tím počítat a být na to připraven.
A rozmyslet si, jestli vaše zadání je tento procesor schopen splnit.
Do Airbusu bych to určitě nedal.
Já tím řídím podlahové el. topení v celém domě už třetí topnou sezonu a funguje to.
Ale počítám s tím, že 4x denně mne HDO odřízne od napájení a po najetí musím po jeho obnovení zase přejít do funkčního stavu.

mhi

  • *****
  • 500
    • Zobrazit profil
Re:Stabilita ESP8266
« Odpověď #8 kdy: 13. 10. 2019, 23:36:41 »
uptime "několik dnů" a "desítky dnů" mi teda přijde dost málo.. jestli to měly být pozitivní odpovědi, tak mě to docela odrazuje.
Taková jednoduchá věc musí běžet "navždy", že by bylo maximum dny až desítky dnů mi připadá jako blbost...
fakt?

Diskuse zde mi prijde podobna tomu co jsem cetl 'na Internetu'. Moje predstava stability take zcela vylucuje veci typu "jednou za mesic se to zrestartuje" nebo "zrestartuje se to kvuli ztrate wifi signalu". Jak by se procesor mohl zrestartovat kdyz ztrati wifinu? Vzdyt se k ni muze normalne zase pripojit bez toho aby se prerusil muj jiny task, ktery treba neco duleziteho mezitim dela.

Asi vyzkousim udelat do dvou esp8266 udelat aplikaci, ktera pres wifi prenese "co pujde" (treba pres nejaky vypocet aby ta data byla hodne unikatni a CPU se zatizil i vypoctove) a bude logovat jakekoliv vypadky ci chyby prenosu.

PanVP

Re:Stabilita ESP8266
« Odpověď #9 kdy: 13. 10. 2019, 23:38:25 »
pravděpodobně nemáte uptime 6 měsíců...Protože u ESP8266 probuzení z deep sleep rovná se reset procesoru.....

Asi máte pravdu, označovat to za "uptime" je asi sporné.
V tom případě mohu říct, že zařízení pracuje spolehlivě v řádu několika měsíců bez zaseknutí.

- zařízení se probudí
- provede měření
- přepíše poslední měření na paměti flash
- provede kontrolu ostatních veličin (to bylo doděláno a není to potřeba logovat)
- pokusí se připojit na Wi-Fi, pokud se mu to povede, odešle data webovému serveru
- uspí se

A tohle dělá v řádu dlouhých měsíců bez přerušení v teplotním rozsahu -30°C do +40°C.
Myslel jsem, že největší problém bude baterie, že to v -30°C nedá, ale zimu to přežije.

PanVP

Re:Stabilita ESP8266
« Odpověď #10 kdy: 13. 10. 2019, 23:42:49 »
Moje predstava stability take zcela vylucuje veci typu "jednou za mesic se to zrestartuje"

Jak už zaznělo, do Airbusu bych to ROZHODNĚ nedával už jenom kvůli tomu, že jsou různé verze mikroprocesoru a každý má "jiné mouchy". Každý se chová trochu jinak. Jedna verze z roku 2016 se prostě chovala divně a za dobu výroby této potvory těch verzí bylo tuším celkem dost, každá s vlastní ERRATA, je to někde na stránkách espressif.com

Na druhou stranu, A ZA TY PRACHY CHCETE CO? KREVETY?

Re:Stabilita ESP8266
« Odpověď #11 kdy: 14. 10. 2019, 08:02:13 »
uptime "několik dnů" a "desítky dnů" mi teda přijde dost málo.. jestli to měly být pozitivní odpovědi, tak mě to docela odrazuje.
Taková jednoduchá věc musí běžet "navždy", že by bylo maximum dny až desítky dnů mi připadá jako blbost...
fakt?
O desítkách dnů jsem psal já, tak se k tomu i vyjádřím - prostě to funguje bez jakékoliv vnější intervence a uptime (cpu běží 24/7, nemám tam žádné uspávání) desítky dní je proto, že mezi tím vypadne elektřina. Minimálně 1x za 2 měsíce u nás prostě elektřina vypadne a nedá se s tím nic udělat. Čidla bez elektřiny smysl nemají, proto je nemám zálohované baterií. jsem si jist, že by to běželo výrazně déle bez problémů.
Petr

Re:Stabilita ESP8266
« Odpověď #12 kdy: 14. 10. 2019, 09:15:27 »
Jak by se procesor mohl zrestartovat kdyz ztrati wifinu? Vzdyt se k ni muze normalne zase pripojit bez toho aby se prerusil muj jiny task, ktery treba neco duleziteho mezitim dela.

ESP8266 moc neznám, ale není to feature tohoto čipu, ve kterém běží proprietární kód pro obsluhu wifi vedle "user-space" kódu, který dostává prostor jen v nějaké smyčce? Něco takového byl důvod vzniku ESP32 se dvěma oddělenými procesory, ne?

Re:Stabilita ESP8266
« Odpověď #13 kdy: 14. 10. 2019, 13:38:03 »
Mám necelých 10 holých ESP8266 v provozu jako distribuovaný bezpečností systém. Každý node snímá pohyb kliky dveří přes spínač s vačkou a jazýčkovým relé (s magnetem) jejich otevření. Na některých je na GPIO ještě siréna a nějaká pyrotechnika (palník s petardami "kobereček").

Přes wifi jde 5 druhů zpráv: "hello" (odešle po resetu), "heartbeat" jednou za minutu (absence vyvolá notifikaci), pohyb klikou odešle "prefire", "safe" systém (de)aktivuje a v případě otevření bez deaktivace "fire" (který rozhouká všechny nody naráz). Běží na tom MicroPython, je to v provozu už několik let, "hello" zpráva přijde tak jednou do měsíce, ale důvod resetu nesleduji. Dost možná něco v MicroPython runtime, je to tam přeci jen na těsno :-)

Napájení je 3V3 lineárem, do kterého jde buď 5 V ze zdroje, nebo 8-13 V z autobaterie u off-grid pastoušky.

Re:Stabilita ESP8266
« Odpověď #14 kdy: 14. 10. 2019, 14:47:05 »
Křišťan Surname: ono, ak tam pouzivas millis, tak raz za 50 dni sa resetuje pocitadlo, resp. pretecie. Aj to moze byt dovod na restart.