<div dir="auto">Vseobecne v IT:<div dir="auto">- na NTP sa obcas objavuju utoky (podhadzuje sa iny cas, vratenie casu moze zhodit napr. databazy )</div><div dir="auto">- pri dolezitych projektoch sa pouziva lokalny NTP setver, najcastejsie synchronizovany cez GPS/GLONASS/BEIDOU/Galileo... a zalohovany napr. Rubidiovym normalom.</div><div dir="auto">Napr. Meinberg M300 a mnoho dalsich. Pozor. Cena je niekde od 3-5 000 eur vyssie. A male projekty to nie je.</div><div dir="auto">- pri menej dolezitych systemoch je mozne pouzit symetricke sifrovanie a kluce. Tak si klient a server veria.</div><div dir="auto">- pri viacerych zariadenich pracujucch spolocne sa pouziva otocenie vsetkych voci serveru a zaroven zariadenia sa nastavuju ako peer. To zabezpeci, ze sa na zariadeniach nerozide cas pri skokovej zmene servera, ale "tahaju sa" vsetky zariadenia spolu (napr nody clustra )</div><div dir="auto">- standardne NTP daemon riesi dotahovanie. Skokovo sa nastavi cas len pri starte a dalej sa uz len dotahuje lokalny cas na klientovi ako pri fazovom zavese.</div><div dir="auto"><br></div><div dir="auto">Skokova zmena o viac ako 15 min vyhodi synchronizaciu.</div><div dir="auto"><br></div><div dir="auto">Pozrite si neco okolo ntpd.</div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto">Dodo</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Dňa so 23. 7. 2022, 21:28 Petr Zapadlo <<a href="mailto:zapik@email.cz">zapik@email.cz</a>> napísal(a):<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Zdravím,<br>
<br>
na většině projektů, kde je  třeba   čas, tak ho synchronizuji z NTP.  <br>
Občas (třeba  jednou za půl roku) se stane, že ESP získá špatný čas.  <br>
Pokusil jsem se to eliminovat  - načítám čas 3x a porovnávám - použiji <br>
dvě hodnoty, které mají minimální rozestup. (pokud se nesejdou, tak to <br>
ignoruji a zkouším znova)<br>
<br>
Situace se zlepšila, přesto občas k problému dojde. Zdá se, že četnost <br>
nějak závisí i na kvalitě internetové linky.  U mě doma se to prakticky <br>
neděje (Metronet, DSL, modem Terminator) , ale u známé se to děje <br>
poměrně často (měsíčně) (O2, DSL, modem ZTE), u syna tak jednou za půl <br>
roku (kabelovka Vodafone).<br>
<br>
Vypadá to, že za nějakých podmínek projde UDP stackem v ESP i paket, <br>
který není v pořádku - asi má i vadný checksum, ale vzhledem k četnosti <br>
to nejsem schopen nijak ověřit.  Případně projde nesmyslný paket (ale to <br>
by měl eliminovat požadavek na 2 stejné hodnoty).<br>
<br>
Jak se divám do struktury NTP paketu, tak tam už žádný kontrolní <br>
mechanizmus není. (dívám se dobře?)<br>
<br>
Základní kus kodu je vzat z mnohokrát opakovaného příkladu:<br>
<br>
Poslání paketu:<br>
<br>
  memset(packetBuffer, 0, NTP_PACKET_SIZE);<br>
   // Initialize values needed to form NTP request<br>
   // (see URL above for details on the packets)<br>
   packetBuffer[0] = 0b11100011;   // LI, Version, Mode<br>
   packetBuffer[1] = 0;     // Stratum, or type of clock<br>
   packetBuffer[2] = 6;     // Polling Interval<br>
   packetBuffer[3] = 0xEC;  // Peer Clock Precision<br>
   // 8 bytes of zero for Root Delay & Root Dispersion<br>
   packetBuffer[12]  = 49;<br>
   packetBuffer[13]  = 0x4E;<br>
   packetBuffer[14]  = 49;<br>
   packetBuffer[15]  = 52;<br>
<br>
   // all NTP fields have been given values, now<br>
   // you can send a packet requesting a timestamp:<br>
   _ntp_udp.beginPacket(timeServerIP, 123); //NTP requests are to port 123<br>
   _ntp_udp.write(packetBuffer, NTP_PACKET_SIZE);<br>
   _ntp_udp.endPacket();<br>
<br>
<br>
Příjem paketu:<br>
<br>
_ntp_udp.read(packetBuffer, NTP_PACKET_SIZE); // read the packet into <br>
the buffer<br>
<br>
     //the timestamp starts at byte 40 of the received packet and is <br>
four bytes,<br>
     // or two words, long. First, esxtract the two words:<br>
<br>
     unsigned long highWord = word(packetBuffer[40], packetBuffer[41]);<br>
     unsigned long lowWord = word(packetBuffer[42], packetBuffer[43]);<br>
<br>
<br>
Jak zvýšit spolehlivost a eliminovat blbý čas?<br>
<br>
<br>
Díky<br>
<br>
Petr<br>
<br>
<br>
_______________________________________________<br>
HW-list mailing list  -  sponsored by <a href="http://www.HW.cz" rel="noreferrer noreferrer" target="_blank">www.HW.cz</a><br>
<a href="mailto:Hw-list@list.hw.cz" target="_blank" rel="noreferrer">Hw-list@list.hw.cz</a><br>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
</blockquote></div>