Založen: Jul 27, 2004 Příspěvky: 4693 Bydliště: 25km na západ od Prahy
Zaslal: ne listopad 30 2025, 15:44 Předmět: Chyba synchronizace času u ESP8266-1 *vyřešeno*
Upoutal mě WiFi termostat a chtěl jsem to použít k ovládání kotle. Jenže to chodilo asi jen autorovi. Kompilace projde v pořádku, nahrání do ESP taky OK, na telefonu se naloguji, mohu tam měnit hodnoty, ale to je všechno. Čas neběží.
V sérivém monitoru vidím opakující se chybu a nevím co s tím. Zkoušel jsem různé knihovny, ale marně. Zkusil jsem i AI, ale ta mě do toho jen zamotala.
Mohl by mě někdo poradit, kde by mohla být chyba?
Zrejme sa to ESP pripája nejako??? na nejaký server???, alebo modul???, lebo ESP samé o sebe časostroj nemá. Nuž ale to už si vykonzultuj s autorom kódu, keď si lenivý sa naučiť programovať.
Založen: Jan 01, 2023 Příspěvky: 2783 Bydliště: Česká Lípa
Zaslal: ne listopad 30 2025, 17:18 Předmět:
Když chcete používat nějaký cizí projekt, který jste sám nenapsal tak je potřeba, abyste měl aspoň trochu přehled o tom jak co funguje, jinak se může stát, že vůbec nedokážete najít případný problém.
ESP nemá vlastní RTC čip, který by byl zálohovaný baterií tak jako to má běžně PC. Takže k tomu, aby v ESP fungoval čas musíte po každém zapnutí provést synchronizaci času. Pak teprve po úspěšném provedení synchronizace bude čas v ESP běžet, ale jen do vypnutí. Po zapnutí bude zase potřeba provést synchronizaci času. Synchronizace času se provádí prostřednictvím NTP serveru.
V programu thermostat.ino, který je na tom vámi odkazovaném webu jako příklad, se provádí synchronizace času vždy jednou po zapnutí ve funkci setup().
Problém je v tom, že v tom zdrojáku je definován odkaz na již nefunkční NTP server viz tento řádek
NTP.begin("fr.pool.ntp.org", 1, true);
Nahraďte ho odkazem na funkčním NTP server ntp.nic.cz viz níže.
NTP.begin("ntp.nic.cz", 1, true);
K provedení synchronizace musí být v době zapnutí toho ESP v rámci Wifi sítě, ke které se to ESP připojuje samozřejmě dostupný Internet, aby se ESP mohlo připojit na ten NTP server.
Další problém bude v tom, že ve zdrojáku thermostat.ino se ESP nepřipojuje na jinou Wifi s dostupným Internetem, ale sama vytváří vlastní izolovaný AP bod což znamená, že bude bez připojení k Internetu tj. i výše zmíněný funkční NTP server bude nedostupný.
Ve zdrojáku thermostat.ino jsou dvě varianty funkce connexion(). První, která je zakomentovaná /* */ je určena k připojení k existující Wifi síti tj. ta co obsahuje WiFi.begin(ssid, password);
Druhá varianta funkce connexion(), která je v tom zdrojáku skutečně použitá vytváří vlastní izolovaný AP bod viz wifiManager.setAPCallback.
Takže kromě té již výše uvedené úpravy v odkazu na NTP server musíte ještě navíc zakomentovat tu druhou variantu funkce connexion() a odkomentovat tu první s tím, že musíte v horní části zdrojáku nadefinovat ssid a password (tj. heslo)
pro přípojení k vaší lokální Wifi, ke které se bude ESP připojovat a která by měla mít dostupné připojení na Internet, aby se ESP mohlo připojit k tomu NTP serveru.
Pokud se chcete synchronizaci času přes Internet vyhnout tak si můžete k tomu ESP dokoupit třeba tento modul s RTC čipem a do programu si k tomu doplnit i obsluhu. Inspirovat se můžete podle tohoto návodu, který je k Arduinu tj. pro ESP si to budete muset upravit třeba podle tohoto návodu. Pak bude stačit osadit ten modul baterií, čas v modulu jednou nastavit a pak už se o čas nemusíte řadu let starat, protože chod času v době vypnutí udrží ta baterie.
Tu synchronizaci vůči NTP serveru si můžete v programu pozměnit na povel tak, aby jste mohl čas srovnat když se bude RTC čas po nějaké době už dost rozcházet s platným časem třeba za rok a nebo si namísto té synchronizace vůči NTP dodělejte do toho webového rozhraní ESP, přes které k tomu přistupujete, možnost ručního nastavení času. S ručním nastavením času byste se obešel bez Internetu i bez RTC, ale mělo by to tu nevýhodu, že byste v takovém případě musel po každém zapnutí ESP čas znovu ručně nastavit jinak by čas v ESP neběžel.
Založen: Jul 27, 2004 Příspěvky: 4693 Bydliště: 25km na západ od Prahy
Zaslal: ne listopad 30 2025, 20:32 Předmět:
ESP se připojí na WiFi a já jí vidím v telefonu. V té ESP jsou uložené 3 webové stránky na které se bez problému dostanu přes 192.168.4.1. Na výpisu z serial monitoru co jsem sem dal je vidět, že si čas načte. Takže není potřeba nic dalšího. Nefunguje jen ta synchronizace.
2 printscreeny.jpg
Komentář:
Velikost:
141.93 kB
Zobrazeno:
3 krát
_________________ Kdyby Edison nevynalezl elektřinu, do teď se díváme na televizi při svíčkách.
Založen: Jul 27, 2004 Příspěvky: 4693 Bydliště: 25km na západ od Prahy
Zaslal: ne listopad 30 2025, 20:59 Předmět:
Ne, je to původní. Mám ještě jednu upravenou verzi, kde je čidlo teploty BMP280 a je to stejné. _________________ Kdyby Edison nevynalezl elektřinu, do teď se díváme na televizi při svíčkách.
Založen: Dec 12, 2005 Příspěvky: 2707 Bydliště: SR, Poprad
Zaslal: ne listopad 30 2025, 21:39 Předmět:
kedze v arduino IDE nema zapnuty timestamp, tak predpokladam, ze prvykrat ntp sa deje v case, ked este nie je na wifi a potom po 60 sekundach (ako ma nastaveny interval). alebo sa ta kniznica pokusa pri prvom zlyhani o dalsi pokus o niekolko sekund a ten uz je ok.
chcelo by to vyhodit tie 2 if a nechat si vypisat konkretny error. _________________ No vidis, a tak si sa bal
Založen: Jul 27, 2004 Příspěvky: 4693 Bydliště: 25km na západ od Prahy
Zaslal: po prosinec 01 2025, 16:20 Předmět:
Nejde, hlásí to chybu. V tom druhém ESP bude asi špatný program. Nedokážu v něm uložit heslo a SSID. Autor tam dal odkaz, který už nefunguje a tak zkouším co se dá. _________________ Kdyby Edison nevynalezl elektřinu, do teď se díváme na televizi při svíčkách.
Časy uváděny v GMT + 1 hodina Jdi na stránku 1, 2Další
Strana 1 z 2
Nemůžete odesílat nové téma do tohoto fóra. Nemůžete odpovídat na témata v tomto fóru. Nemůžete upravovat své příspěvky v tomto fóru. Nemůžete mazat své příspěvky v tomto fóru. Nemůžete hlasovat v tomto fóru. Nemůžete připojovat soubory k příspěvkům Můžete stahovat a prohlížet přiložené soubory
Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.