Re: příjem NTP ESP8266/32

Petr Zapadlo zapik na email.cz
Neděle Červenec 24 10:21:48 CEST 2022


Zdravím,

odečítá se od 1970 (unix time stamp), samotného mě přkvapilo jak málo se 
z toho paketu vlastně využije. Ale přesnostně mi to bohatě stačí (ani 
minuta není pro mě kritická míra). Podívám se co dalšího by v tom paketu 
bylo ještě využitelného - minimálně kontrola Stratum by stála za úvahu.

Zatím jsem udělal to, že jsem dopsal důslednou kontrolu délek paketu a 
jeho čtení. Tak uvidím co to bude dělat, problém je v tom, že mi bude 
dost dlouho trvat než ověřím, že to skutečně bylo řešení.

Petr

Dne 24. 07. 22 v 8:47 Miroslav Mraz napsal(a):
> Tohle zřejmě někdo převzal přímo z arduina - 
> https://www.arduino.cc/reference/en/libraries/ntpclient/. Je to 
> napsané celé blbě. Autor zřejmě netuší, že existuje něco jako 
> stdint.h, zcela zbytečně používá u členských dat this-> (vy to tam už 
> nemáte) - zřejmě je zvyklý na python nebo javascript. Z přijatého 
> paketu jen převezme počet sekund od nějakého data. Nebudu zkoumat, 
> jestli to má být rok 1900 (jak tam píše) nebo spíš 1970 (unix 
> timestamp), podstatné je, že spoustu informací z toho paketu prostě 
> zahodí. Chtělo by to paket podrobně prozkoumat a pokud v něm budou 
> blbosti, tak ho prostě ignorovat.
>
> Mrazík
>
> On 24. 07. 22 5:34, Petr Zapadlo wrote:
>> Zdravím, odpovím tak nějak hromadně všem v jedné zprávě.
>>
>> Ne, read návratový kod neošetřuje - dobrý nápad - read by mělo vrátit 
>> počet byte paketu - zkusím kontrolovat, to by mohlo pomoci na nějaké 
>> fake pakety.
>>
>> Interní čas počítám a synchro dělám jednou za 12 hodin a při startu, 
>> nejede mi tam nic kritického abych musel implementovat časový fázový 
>> závěs (jestli se rybičkám rozsvítí o vteřinu dřív anebo později je 
>> jedno :-)).
>>
>> Jako časový server používám  české pooly NTP serverů:
>>
>> String ntp_hosts[NUM_NTP] 
>> ={"0.cz.pool.ntp.org","1.cz.pool.ntp.org","2.cz.pool.ntp.org"};
>>
>> Prakticky to znamená, že každé čtení jde proti jinému NTP serveru.
>>
>> Celé jsou to zkoušel ve vlaku LEO Express do Prahy - Leoš má dost 
>> blbou wifi, takže o výpadky tam není nouze, stejně tak o latenci 
>> paketů jdoucí až >15s,  měl jsem upravenou synchronizaci aby to šlo 
>> co pár vteřin a ani jednou to nezablblo. Říkal jsem si, že blbější 
>> situace už nenastane :-) (A nastala)
>>
>> Díky
>>
>> Petr
>>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list


Další informace o konferenci Hw-list