• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Projekt serwera czasu
#1
Potrzebuję algorytmu do lokalnego serwera czasu w sieci domowej.
 
Odpowiedź
#2
(08-09-2024, 09:44)tomis22 napisał(a): Potrzebuję algorytmu do lokalnego serwera czasu w sieci domowej.

A co on ma robić? Takie coś to zwykle protokół NTP, uwzględnia on opóźnienia transmisji pakietów w sieci, tak że uzyskana synchronizacja czasu jest z błedem milisekund. Kiedyś pod linuxem to był program ntpd, teraz chronyd. Tylko problemem jest skąd ma być brany czas wzorcowy? W sieci jest dużo serwerów a domu można zrobić sobie serwerek synchronizowany GPS. Oczywiście jeden komputer może się synchronizować z kilku źródeł, sam sobie wybiera najlepsze w danym momencie.
 
Odpowiedź
#3
Nie potrzebuję super dokładnego czasu . Posiadam Arduino Uno wraz z modułem DS3231 podłączone po kablu do sieci. Potrzebuje aby: czas zegara Arduino synchronizował się z serwerem czasu w Internecie, uwzględniał czas letni i zimowy, posiadał adres IP i następnie rozsyłał czas na każde zapytanie do sterowników po porcie 123..
 
Odpowiedź
#4
(10-09-2024, 20:56)tomis22 napisał(a): Nie potrzebuję super dokładnego czasu . Posiadam Arduino Uno wraz z modułem DS3231 podłączone po kablu do sieci.  Potrzebuje aby: czas zegara Arduino synchronizował się z serwerem czasu w Internecie, uwzględniał czas letni i zimowy, posiadał adres IP i następnie rozsyłał  czas na każde zapytanie do sterowników po porcie 123..

Arduino nie zarządza czasem zegarkowym - wie tylko jak długo pracuje... To każdy program lub biblioteka organizuje to sobie sama. W dodatku NTP oblicza poprawki do szybkości komputera (czy komputer się trochę spieszy czy opóźnia) - nie  modyfikuje zegarka sprzętowego, pamięta poprawki.
Protokoły sieciowe ustalają czas UTC - każdy komputer zna swoją lokalizacje i strefę czasową i sam oblicza sobie czas lokalny. Taki czas może się cofać (przy zmiane letni/zimowy) - co może być ok dla wyświetlania ale dziwne do obliczeń.
 
Odpowiedź
#5
Router z Gargoyle ma możliwość bycia serwerem czasu, oczywiście sam musi mieć dostęp do Internetu by sobie ustawić prawidłowy czas, można znaleźć taki za parę dyszek. Nie bardzo rozumiem po co robić serwer domowy, skoro urządzenia mają dostęp do sieci.
Jest mnóstwo bibliotek dla Arduino z NTP, ale kojarzę tylko klientów. Pewnie można by wyczaić format wiadomości, ustawić serwer na tym porcie 123 i odpowiadać na lokalne zapytania. Niestety nie mam takiego przykładu, jakbym nie chciał by jakiś moduł łączył się przez bramę na świat, to mam te routery z Gargoyle.
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
#6
(10-09-2024, 20:56)tomis22 napisał(a): Nie potrzebuję super dokładnego czasu . Posiadam Arduino Uno wraz z modułem DS3231 podłączone po kablu do sieci.  Potrzebuje aby: czas zegara Arduino synchronizował się z serwerem czasu w Internecie, uwzględniał czas letni i zimowy, posiadał adres IP i następnie rozsyłał  czas na każde zapytanie do sterowników po porcie 123..

Zapraszam do kontaktu na priv.
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości