Serwis wykorzystuje pliki cookies. Korzystajc z forum wyraasz zgod na uywanie cookies. Wicej informacji w regulaminie.
StacjePogody.waw.pl

Autor Wątek: Synchronizacja z serwerami pogodowymi  (Przeczytany 2428 razy)

Offline YERZY W.

  • Cirrus
  • *
  • Wiadomości: 14
  • Otrzymał podziękowań: 0
  • Typ stacji: HP2553
Synchronizacja z serwerami pogodowymi
« dnia: 26 Lutego, 2024, 13:22:58 »
Cześć wszystkim, czy ktoś może mi wyjaśnić jak wygląda synchronizacja z serwerami pogodowymi?

Obecnie używam HP2553 i nigdy nie miałem takich problemów. Mam dodaną stację i do ecowitt.net i na WG.
Wczoraj chciałem na apce sprawdzić zmianę ciśnienia i zorientowałem się że stacja widocznie nie ma połączenia z siecią bo nie zaciąga danych. Po restarcie połączenie wróciło ale na aplikacji brakuje danych z tych trzech dni (widocznie od tego czasu to trwało). Oczywiście w pamięci stacji te dane się znajdują. W tej chwile wszedłem na WG i jest ta sama historia tzn po przywróceniu połączenia na nowo zapisuje dane ale brakuje tych z 3 dni przerwy.

W jaki sposób przebiega synchronizacja danych?
Zakładałem że po wznowieniu połączenia załaduje te wszystkie brakujące, ale tak się nie stało. Wygląda to tak że stacja wysyła aktualne dane na serwer w danym momencie (załóżmy co 10 min) i jakakolwiek przerwa w połączeniu, czy też brak zasilania spowoduje że dane nie wyjdą chociaż są w pamięci urządzenia. Tak ma być?


Forum Użytkowników Stacji Pogodowych

Synchronizacja z serwerami pogodowymi
« dnia: 26 Lutego, 2024, 13:22:58 »

Offline Dador

  • Cumulonimbus
  • *****
  • Wiadomości: 527
  • Otrzymał podziękowań: 56
  • Płeć: Mężczyzna
    • Stacja pogody VP2 - aktualna pogoda w Rybniku i Jejkowicach
  • Typ stacji: Davis VP2 Plus, Oregon, Ecowitt
Odp: Synchronizacja z serwerami pogodowymi
« Odpowiedź #1 dnia: 26 Lutego, 2024, 14:35:11 »
Ecowitt i inne firmy (nawet Davis, sic!) uznają ostatnio, że już żyjemy w takich czasach, że brak prądu lub brak Internetu się nie zdarza, więc nie zaprzątali sobie głowy tym, by dodać pamięć logującą dane, do swoich urządzeń.

Konsole i bramki Ecowitt posiadają tylko pamięć ulotną, coś jak RAM w komputerze, która po wyłączeniu zasilania jest tracona. Jesteś offline, dane nie lecą do chmury, tracisz je. Pozostaje logować dane na kartę SD, lub korzystać w sieci lokalnej np. z komputera z oprogramowaniem logującym (CumulusMX, WeatherDisplay, EasyWeather, inne). Wtedy masz pewność, że nawet, jak jest awaria sieci od operatora, to w sieci lokalnej dane są cały czas rejestrowane, a następnie, ww. programy, mają możliwość nadgonienia ich w serwisach pogodowych typu WeatherUnderground, WeatherCloud, etc.

No taka polityka. Wszystko w chmurze.

Offline Parasol

  • Administrator
  • *****
  • Wiadomości: 2618
  • Otrzymał podziękowań: 126
  • Płeć: Mężczyzna
    • Stacje-Pogody.pl
  • Typ stacji: Netatmo, wcześniej TFA NEXUS i WS3500
Odp: Synchronizacja z serwerami pogodowymi
« Odpowiedź #2 dnia: 26 Lutego, 2024, 16:24:43 »
Wczoraj chciałem na apce sprawdzić zmianę ciśnienia i zorientowałem się że stacja widocznie nie ma połączenia z siecią bo nie zaciąga danych. Po restarcie połączenie wróciło ale na aplikacji brakuje danych z tych trzech dni (widocznie od tego czasu to trwało).

Moim zdaniem na konsoli brakuje informacji, czy ostatni transfer danych do serwisów pogodowych zakończył się powodzeniem, czy nie (np. zielona kropka ok, czerwona problem).

W jaki sposób przebiega synchronizacja danych?
Zakładałem że po wznowieniu połączenia załaduje te wszystkie brakujące, ale tak się nie stało. Wygląda to tak że stacja wysyła aktualne dane na serwer w danym momencie (załóżmy co 10 min) i jakakolwiek przerwa w połączeniu, czy też brak zasilania spowoduje że dane nie wyjdą chociaż są w pamięci urządzenia. Tak ma być?

Wygląda na to, że pomiędzy stacją a serwerem jest komunikacja "jednokierunkowa", tzn. stacja wysyła dane co określony czas i nie sprawdza, czy dane zostały poprawnie odebrane. Czyli system typu "wysyłasz dane i nie przejmujesz się co dalej". Gdy jest problem z połączeniem czy z serwerem, to po prostu tych danych nie ma. Żeby nie było utraty danych, musiałaby być komunikacja "dwukierunkowa", czyli stacja sprawdzałaby, czy dane zostały poprawnie odebrane, i jakieś rozwiązanie, które by ponownie przesyłało zaległe pomiary, najlepiej w wolnym czasie pomiędzy kolejnymi planowanymi przesłaniami, bo wiadomo, że aktualne dane są priorytetem. Także serwer musiałby akceptować dane pogodowe z przeszłości.
« Ostatnia zmiana: 26 Lutego, 2024, 16:42:01 wysłana przez Parasol »
Pomóż innym, dodaj opinie o swojej stacji pogodowej na stronie Stacje-Pogody.pl
Zobacz także: https://nahulajnogi.pl | https://smartfonki.pl | https://zeroauta.pl

Offline YERZY W.

  • Cirrus
  • *
  • Wiadomości: 14
  • Otrzymał podziękowań: 0
  • Typ stacji: HP2553
Odp: Synchronizacja z serwerami pogodowymi
« Odpowiedź #3 dnia: 26 Lutego, 2024, 19:11:07 »
Dzięki za odpowiedź.
Wychowałem się na WH1080 ( prawie 14 lat) ale stacja nie była na stałe podpięta do PC więc nigdy nie udostępniałem danych pomiarowych. Jedynie co jakiś czas ściągałem sobie dane poprzez oprogramowanie EasyWeather które podczas synchronizacji zaciągnęło wszystkie te brakujące od ostatniego razu. W zeszłym roku przesiadłem się na 2553 i po prostu założyłem (niestety błędnie) że z serwerami pogodowymi działa to w ten sam sposób.
Chmura tu nie ma znaczenia - Dropbox, czy Onedrive to też chmura a synchronizacja działa w taki sposób jak powinna (przynajmniej wg mnie).

"Także serwer musiałby akceptować dane pogodowe z przeszłości."
Dokładnie w ten sposób bym to rozwiązał - zaciąga wszystkie brakujące dane od ostatnio zapisanych na serwerze do czasu aktualnego.
Rozumiem wasze tłumaczenie odnośnie zasady działania komunikacji - po prostu jestem bardzo zaskoczony/zawiedziony że tak ma być :(.

Offline Dador

  • Cumulonimbus
  • *****
  • Wiadomości: 527
  • Otrzymał podziękowań: 56
  • Płeć: Mężczyzna
    • Stacja pogody VP2 - aktualna pogoda w Rybniku i Jejkowicach
  • Typ stacji: Davis VP2 Plus, Oregon, Ecowitt
Odp: Synchronizacja z serwerami pogodowymi
« Odpowiedź #4 dnia: 26 Lutego, 2024, 19:51:23 »
Wychowałem się na WH1080 ( prawie 14 lat) (..)

Nie ty jeden kolego  ;)

Co do Wh1080, to ta stacja ma pamięć wewnętrzną z możliwością zapisu 4080 rekordów (1 rekord = 1 linia danych pomiarowych). Dlatego to hula z EasyWeather lub Cumulusem. Jak wspominałem, obecne "pokolenie" stacji meteo, z reguły nie posiada tej funkcji. Miast rejestrować na wbudowany logger, to dane wysyłane są od razu do chmury. Osobiście boleję nad tym, no ale co poradzisz?

Offline YERZY W.

  • Cirrus
  • *
  • Wiadomości: 14
  • Otrzymał podziękowań: 0
  • Typ stacji: HP2553
Odp: Synchronizacja z serwerami pogodowymi
« Odpowiedź #5 dnia: 26 Lutego, 2024, 20:00:45 »
No ale tutaj też mam włożone SD które pozwala na spory zapis danych. Ubolewam nad tym że te zapisane dane nie są synchronizowane z serwisami pogodowymi, a jedynie te w czasie rzeczywistym.

Offline Parasol

  • Administrator
  • *****
  • Wiadomości: 2618
  • Otrzymał podziękowań: 126
  • Płeć: Mężczyzna
    • Stacje-Pogody.pl
  • Typ stacji: Netatmo, wcześniej TFA NEXUS i WS3500
Odp: Synchronizacja z serwerami pogodowymi
« Odpowiedź #6 dnia: 26 Lutego, 2024, 21:24:50 »
Co do Wh1080, to ta stacja ma pamięć wewnętrzną z możliwością zapisu 4080 rekordów (1 rekord = 1 linia danych pomiarowych). Dlatego to hula z EasyWeather lub Cumulusem. Jak wspominałem, obecne "pokolenie" stacji meteo, z reguły nie posiada tej funkcji. Miast rejestrować na wbudowany logger, to dane wysyłane są od razu do chmury. Osobiście boleję nad tym, no ale co poradzisz?

Jeżeli stacja nie ma pamięci wewnętrznej, a chcemy mieć archiwum pomiarów, to można sobie z tym poradzić w prosty sposób: Jak na własnej stronie archiwizować pomiary ze stacji pogodowej?

No ale tutaj też mam włożone SD które pozwala na spory zapis danych. Ubolewam nad tym że te zapisane dane nie są synchronizowane z serwisami pogodowymi, a jedynie te w czasie rzeczywistym.

Może być ustawiony inny interwał archiwizowania danych (np. co 5 minut) i inny do przesyłania do serwisów pogodowych (np. co 3 minuty). Tak więc, raczej nie można by przesyłać danych już zarchiwizowanych. Ale powinien być jakiś bufor (np. na 1000 rekordów), w pamięci stacji lub na karcie, na dane które nie zostały z jakiegoś powodu przesłane (np. problemy z połączeniem). Po rozwiązaniu problemu, nawiązaniu połączenia, dane z bufora byłyby sukcesywnie przesyłane do serwisów pogodowych, w czasie pomiędzy normalnymi transmisjami. Tak, moim zdaniem, powinni to rozwiązać.
« Ostatnia zmiana: 26 Lutego, 2024, 21:31:19 wysłana przez Parasol »
Pomóż innym, dodaj opinie o swojej stacji pogodowej na stronie Stacje-Pogody.pl
Zobacz także: https://nahulajnogi.pl | https://smartfonki.pl | https://zeroauta.pl

Offline Dador

  • Cumulonimbus
  • *****
  • Wiadomości: 527
  • Otrzymał podziękowań: 56
  • Płeć: Mężczyzna
    • Stacja pogody VP2 - aktualna pogoda w Rybniku i Jejkowicach
  • Typ stacji: Davis VP2 Plus, Oregon, Ecowitt
Odp: Synchronizacja z serwerami pogodowymi
« Odpowiedź #7 dnia: 26 Lutego, 2024, 22:06:36 »
Może być ustawiony inny interwał archiwizowania danych (np. co 5 minut) i inny do przesyłania do serwisów pogodowych (np. co 3 minuty). Tak więc, raczej nie można by przesyłać danych już zarchiwizowanych. Ale powinien być jakiś bufor (np. na 1000 rekordów), w pamięci stacji lub na karcie, na dane które nie zostały z jakiegoś powodu przesłane (np. problemy z połączeniem). Po rozwiązaniu problemu, nawiązaniu połączenia, dane z bufora byłyby sukcesywnie przesyłane do serwisów pogodowych, w czasie pomiędzy normalnymi transmisjami. Tak, moim zdaniem, powinni to rozwiązać.

W Ecowitt'ach tak to nie działa niestety. Karta SD służy zasadniczo do 2 celów. Aktualizacji oprogramowania oraz zapisu (nie odczytu) danych. Stacja absolutnie nie korzysta z tych danych, by np. eksportować je gdzieś dalej. To taka proteza loggera i tyle.

Autor chce mieć gwarancję, że dane na zewnętrznych serwisach będą aktualne? To kupić Raspberry Pi, postawić CMX i puszczać przez niego dane w świat. Dodatkowo podpiąć konsolę pod UPS w razie braku zasilania (brak podtrzymania bateryjnego, to kolejna głupia koncepcja obecnych stacji). Taka konfiguracja, daje bardzo duże ratio pozyskania i eksportu danych.

Offline YERZY W.

  • Cirrus
  • *
  • Wiadomości: 14
  • Otrzymał podziękowań: 0
  • Typ stacji: HP2553
Odp: Synchronizacja z serwerami pogodowymi
« Odpowiedź #8 dnia: 27 Lutego, 2024, 11:59:47 »
Autor chce mieć gwarancję, że dane na zewnętrznych serwisach będą aktualne? To kupić Raspberry Pi, postawić CMX i puszczać przez niego dane w świat. Dodatkowo podpiąć konsolę pod UPS w razie braku zasilania (brak podtrzymania bateryjnego, to kolejna głupia koncepcja obecnych stacji). Taka konfiguracja, daje bardzo duże ratio pozyskania i eksportu danych.

Nie, autor chciałby u siebie w jakiejś apce mieć aktualne/wszystkie dane.

Jeżeli stacja nie ma pamięci wewnętrznej, a chcemy mieć archiwum pomiarów, to można sobie z tym poradzić w prosty sposób: Jak na własnej stronie archiwizować pomiary ze stacji pogodowej?

A czy jakaś aplikacja "pogodowa "byłaby wstanie zaciągnąć dane z własnego archiwum np CSV??

Offline Parasol

  • Administrator
  • *****
  • Wiadomości: 2618
  • Otrzymał podziękowań: 126
  • Płeć: Mężczyzna
    • Stacje-Pogody.pl
  • Typ stacji: Netatmo, wcześniej TFA NEXUS i WS3500
Odp: Synchronizacja z serwerami pogodowymi
« Odpowiedź #9 dnia: 28 Lutego, 2024, 20:01:31 »
A czy jakaś aplikacja "pogodowa "byłaby wstanie zaciągnąć dane z własnego archiwum np CSV??

W arkuszu kalkulacyjnym możesz dane CSV analizować, robić wykresy...
Pomóż innym, dodaj opinie o swojej stacji pogodowej na stronie Stacje-Pogody.pl
Zobacz także: https://nahulajnogi.pl | https://smartfonki.pl | https://zeroauta.pl

Offline Rychu_Świbno

  • Cumulonimbus
  • *****
  • Wiadomości: 1040
  • Otrzymał podziękowań: 45
  • Płeć: Mężczyzna
    • Sprawdź pomiary on-line i prognozy w Świbnie przy Ujściu Wisły i centrum Gdańska
  • Typ stacji: HP1001 WiFi & WH2600 IP WiFi & HP1002 WiFi
Odp: Synchronizacja z serwerami pogodowymi
« Odpowiedź #10 dnia: 29 Lutego, 2024, 01:03:19 »

(...)Wczoraj chciałem na apce sprawdzić zmianę ciśnienia i zorientowałem się że stacja widocznie nie ma połączenia z siecią bo nie zaciąga danych. Po restarcie połączenie wróciło
(...)

Zdiagnozowałeś powód utraty komunikacji stacja pogody-serwery pogodowe ?

Np:
* brak Internetu przez wskazany przez Ciebie okes 3 dni - czyli okres braku danych na serwerach pogodowych
* wysokie skoki napięcia,
* chwilowa utrata zasilania rutera,
* chwilowa utrata zasilania stacji bazowej.

W wyniku trzech ostatnich punktów mogła nastąpić utrata synchronizacji z internetowym serwerem czasu.

Charakteryzuje się to tym, że czas na stacji bazowej jest inny niż np czas w smartfonie. Ta rozbieżność czasu jest "gwarantem", że brak jest synchronizacji stacja-serwer pogodowy a zgodność tych czasów jest warunkiem koniecznym aby
pakiet danych ze stacji bazowej mógł być wysłany w górę sieci.

Teoretycznie taka synchronizacja powinna powrócić samoczynnie poprzez ustawienie automatyki w opcjach ustawiania - ale technika płata figle...
« Ostatnia zmiana: 29 Lutego, 2024, 01:41:04 wysłana przez Rychu_Świbno »

Offline Rychu_Świbno

  • Cumulonimbus
  • *****
  • Wiadomości: 1040
  • Otrzymał podziękowań: 45
  • Płeć: Mężczyzna
    • Sprawdź pomiary on-line i prognozy w Świbnie przy Ujściu Wisły i centrum Gdańska
  • Typ stacji: HP1001 WiFi & WH2600 IP WiFi & HP1002 WiFi
Odp: Synchronizacja z serwerami pogodowymi
« Odpowiedź #11 dnia: 29 Lutego, 2024, 03:16:23 »

(...) W jaki sposób przebiega synchronizacja danych? (...)

W komunikacji stacja-serwery występuje synchronizacja czasu w oparciu o zegar internetowy oraz przesyłanie danych czyli pakietów danych ze stacji bazowej do serwerów pogodowych. Serwery pogodowe oraz stacje bazowe prywatne czyli nasze pracują w oparciu o protokoły TCP/IP bez innych protokołów towarzyszących np UDP. Nasze stacje to proste urządzenia transmisyjne. Działają na zasadzie "wyślij" pod wskazany adres i "zapomnij" realizuje to TCP.

Oznacza to, że pakiet danych wędruje pod wskazany adres IP po przypadkowej trasie rutowanej doraźnie na podstawie dostępności pośrednich węzłów transmisji danych.

Ten adres, czas życia pakietu, ilość max węzłów pośrednich oraz priorytet danych zapisany jest w ramce pakietu. Twoja stacja o ile się nie mylę wysyła takie pakiety co 16sek oraz wartość ciśnienia dodatkowo co 60sek. Każdy z tych pakietòw rutuje inną, przypadkową drogą. Jeżeli sieć jest zapchana/zakorkowana to długość drogi wydłuża się poprzez próbę ominięcia korków innymi węzłami. Gdy max ilość węzłów zostanie przekroczona pakiet ulega likwidacji. To samo się dzieje gdy czas rutowania zostanie przekroczony - zwyle to jest ok. 7-10s. Nasze pakiety mają najniższe priorytety tzn 7.

Co to wszystko oznacza?. Oznacza to, że pakiet wysłany np co 16s nie zawsze dotrze do celu. Bo przekroczy czas życia, bo pobłądzi i zaliczy za dużą ilość węzłów komunikacyjnych czyli stacji teletransmisyjnych i też straci życie, bo stacja utraci synchronizację czasu i nie wyśle pakietu. Z braku stosowania w technologii naszych stacji oraz serwerów pogodowych protokołów kontrolujących dotarcie pakietu do celu stacja nie wie czy pskiety dotarły do celu i nie podejmuje prób wysłania ponownie zagubionego pakietu. Tak by się stało gdyby zaimplementowany był protokoł UDP. On właśnie wysłałby polecenie zwrotne, wysłania dubletu gdy stwierdzi, że pakiet nie dotarł do celu.

Ale nie ma tu wielkiej straty ponieważ serwery pogodowe kolekcjonują przez okres 5min. dane przetransportowane przez pakiet danych w przestrzeni ładunkowej takie jak, temp, wilgotność itp - uśredniają je i w tabeli wyświtlają wartości uśrednione z 18stu pakietów a dodatkowo wyświetlają na grafikach wartości chwilowe. Wartości chwilowe są istotne dla obserwacji online zmian kier i wartości wiatru czy np nasłonacznienia oraz UV.

Przez 5min do kolekcji na serwerze pogodowym trafia 5x60s=300s : 16s = 18 pakietòw. Jeżeli jeden zginie po drodze to nie ma wielkiej straty dla uśrednionej wartości z 5min transmisji. Gorzej jest z wartościami chwilowymi bo np nie zostanie wyświetlony ekstremalny podmuch wiatru z zagubionego pakietu.

Tak więc, transmisja danych przebiega w kier. stacja ---> serwer pogody a nie na odwrót.

To tak obrazowo wygląda. ;)


(...) Wygląda to tak że stacja wysyła aktualne dane na serwer w danym momencie (załóżmy co 10 min) i jakakolwiek przerwa w połączeniu, czy też brak zasilania spowoduje że dane nie wyjdą chociaż są w pamięci urządzenia. Tak ma być?

Stacja nie wysyła pakietów co 10min ale co 16s i dodatkowo pakiet z ciśnieniem co 60s. Serwery pogodowe archiwizują dane co 5min a nie co 10min.

Stacja wytwarza pakiet danych co 16 i 60s i :
* wysyła na serwer pogodowy
* kolekcjonuje pakiet 16sto i 60 sekundowy w swojej pamięci
* uśrednia dane w kolekcji i wyświetla je w tabeli stacji w interwale ustawionym w panelu ustawień np co 10min.
* wyświetla na LCD dane chwilowe z 16 i 60 sekund.

Jeżeli stacja nie wytworzy pakietu lub wytworzy ale nie wyśle z powodów o których powyżej w pierwszym akapicie, bądż wyśle ale pakiety zaginą lub stracą życie to na serwerze pogodowym takie dane nie pojawią się. Serwer nie wie czy i jakie pakiety wysłała stacja, stacja nie wie które pakiety dotarły do celu a które straciły życie. Dlatego nie jest  możliwe "dosłanie " brakujących pakietów do serwera przy obecnie stosowanej technologii transmisjii danych w stacjach oraz przez operatorów serwerów pogodowych.

Offline Parasol

  • Administrator
  • *****
  • Wiadomości: 2618
  • Otrzymał podziękowań: 126
  • Płeć: Mężczyzna
    • Stacje-Pogody.pl
  • Typ stacji: Netatmo, wcześniej TFA NEXUS i WS3500
Odp: Synchronizacja z serwerami pogodowymi
« Odpowiedź #12 dnia: 29 Lutego, 2024, 16:42:49 »
Z braku stosowania w technologii naszych stacji oraz serwerów pogodowych protokołów kontrolujących dotarcie pakietu do celu stacja nie wie czy pakiety dotarły do celu i nie podejmuje prób wysłania ponownie zagubionego pakietu. Tak by się stało gdyby zaimplementowany był protokół UDP. On właśnie wysłałby polecenie zwrotne, wysłania dubletu gdy stwierdzi, że pakiet nie dotarł do celu. (...) Serwer nie wie czy i jakie pakiety wysłała stacja, stacja nie wie które pakiety dotarły do celu a które straciły życie. Dlatego nie jest  możliwe "dosłanie " brakujących pakietów do serwera przy obecnie stosowanej technologii transmisjii danych w stacjach oraz przez operatorów serwerów pogodowych.

Stacja powinna wiedzieć, że dane dotarły do celu, ponieważ przesyłając dane (np. protokołem WU) serwer po odebraniu danych i ich przetworzeniu wysyła odpowiedź "success", co oznacza, że poprawnie odebrał dane. Tak więc, wygląda na to, że albo stacja nie odczytuje tych odpowiedzi, albo odczytuje, ale nic z tym nie robi, bo nie ma napisanej obsługi "błędów" (powtórnego przesyłania).

Nie wiem, w jakim języku mają oprogramowanie te stacje. Ale w języku logiki, powinno wyglądać to tak: jeżeli "odpowiedź serwera"<>"success" to dane nie zostały poprawnie odebrane przez serwer i należy coś z tym zrobić, czyli przesłać ponownie lub zapamiętać i ponownie przesłać później.

Stacja nie wysyła pakietów co 10min ale co 16s i dodatkowo pakiet z ciśnieniem co 60s. Serwery pogodowe archiwizują dane co 5min a nie co 10min.

"co 16s i dodatkowo pakiet z ciśnieniem co 60s" - to są najprawdopodobniej czasy aktualizacji pomiarów na wyświetlaczu. Czas zapisu danych w pamięci i przesyłania do serwisów pogodowych może być różny, jest zależny od ustawień stacji (np. 1-240 minut).
Pomóż innym, dodaj opinie o swojej stacji pogodowej na stronie Stacje-Pogody.pl
Zobacz także: https://nahulajnogi.pl | https://smartfonki.pl | https://zeroauta.pl

Offline Rychu_Świbno

  • Cumulonimbus
  • *****
  • Wiadomości: 1040
  • Otrzymał podziękowań: 45
  • Płeć: Mężczyzna
    • Sprawdź pomiary on-line i prognozy w Świbnie przy Ujściu Wisły i centrum Gdańska
  • Typ stacji: HP1001 WiFi & WH2600 IP WiFi & HP1002 WiFi
Odp: Synchronizacja z serwerami pogodowymi
« Odpowiedź #13 dnia: 01 Marca, 2024, 01:09:48 »
"co 16s i dodatkowo pakiet z ciśnieniem co 60s" - to są najprawdopodobniej czasy aktualizacji pomiarów na wyświetlaczu.

Czas zapisu danych w pamięci i przesyłania do serwisów pogodowych może być różny, jest zależny od ustawień stacji (np. 1-240 minut).

Poruszyłeś tu różne kwestie i dlatego dla uporządkowania tematu posegreguję prezentacje danych:
1. na wyświetlaczu konsoli
2. w tabeli danych konsoli,
3.w kokpicie stacji na grafice serwera pogodowego do obejrzenia np na smartfonie
4. w tabeli serwera pogodowego do obejrzenia np w smartfonie,

tak jak to zrobiłem w moim poprzednim postcie:

Ad 1. Aktualizacja na wyświetlaczu konsoli odbywa się co 16s dla parametrów mierzonych przez zespolony czujnik zewnętrzny i co 60s dla ciśnienia mierzonego przez czujnik wewnętrzny.

Co 16 i 60s - czyli w interwale wysyłania takich pakietów danych od czujników do konsoli jakie zaprogramował producent stacji.

Dla porównania wyświetlacza konsoli i danych prezentowanych w kokpicie stacji na serwerze pogodowym przeskoczę od razu do pktu 3.

Ad 3. Aktualizacja jest widoczna identycznie jak na wyświetlaczu konsoli co 16 i 60s z pewnym poślizgiem transmisji danych. Czas aktualizacji odliczany jest właśnie w kokpicie stacji widoczny w górnej części np na serwerze WU.

Właśnie te zmiany są widoczne dla parametrów dynamicznych takich jak pomiary wiatru czy nasłonecznienia i są dowodem na docieranie do celu czyli do serwera pogodowego pakietów danych co 16 i co 60s.  i nie dotyczą tylko aktualizacji wyświetlacza konsoli jak napusałeś powyżej.

Nie jest to więc jak piszesz tylko prawdopodobne wyświetlanie danych na wyświetlaczu konsoli ale ròwnoczesne wysłanie w tym samym interwale 16 i 60s pakietu danych w górę sieci do serwera pogodowego - co widać na serwerze pogodowym patrząc na dynamiczne parametry.

Od strony technicznej wygląda to tak, dla przykładowego czujnika zewnętrznego stacji.
Czujnik zewnętrzny co 16s tworzy pakiet z kilku parametrów i wysyła go po WiFi do konsoli, konsola rozpakowuje pakiet, wyciąga z niego poszczególne pomiary (temp., UV, wilgotność itd) i aktualizuje wyświetlacz konsoli - jednocześnie umieszczając te parametry w tabelach w konsoli. 


Jednocześnie konsola odebrany pakiet z czujnika zewn. modyfikuje poprzez utworzenie nowej ramki wg instrukcji protokołów TCP/IP - wprowadzając pomiary do części ładunkowej i adresując jednocześnie cały pakiet zgodnie z adresami serwerów pogodowych. Asap wysyła taki pakiet w górę sieci.

Natomiast punkty 2 i 4 dotyczą archiwizacji danych w konsoli i na serwerze. I właśnie tych punktów dotyczy druga kwestia poruszona przez Ciebie czyli Czasu....

I tak:
Czas zapisu danych w pamięci konsoli jest taki jaki user stacji ustawi sobie w Ustawieniach konsoli i zwykle jest to minimum 5min i max 240min jak napisałeś. I pomimo, że na wyświetlaczu konsoli dane się zmieniają co 16s to w tabeli zmieniają się co interwał  ustawiony przez usera. Są to dane uśrednione z  pomiarów w 16s interwałach.

Ale te ww ustawienia w konsoli nie dotyczą bezpośrednio archiwizacji danych na serwerze pogodowym.

Np serwer pogodowy WU archiwizuje standardowo co 5min. nadchodzące pakiety. Warunek jest taki o czym nie napisałem we wcześniejszych postach powyżej, że stacja musi wysyłać takie pakiety z interwałem conajmniej 5min i mniejszym. Jeżeli wyśle co 5min to parametry archiwizowane są na wprost ci 5min. Jeżeli wysyła z większą częstotliwiściwlą np co 16s to serwer kolekcjonuje kolejne pakiety, uśrednia co 5min i umieszcza w tabeli pomiarowej dla danej stacji.

Jeżeli stacja wysyła np co 20min bo ma tylko takie możliwości to siłą rzeczy na serwerze pogodowym w tabeli pojawią się pomiary co 20min.  a nie co co standardowe 5min ustalone przez operatora serwera. Dla przykładu stacje lotniskowe IMGW wysyłają takie dane co 1h i w tabelach na serwerze dane archiwizowane są co 1h - przeważnie są to pełne godziny.

Tak więc archiwizacja danych w konsoli i na serwerze pogodowym odbywa się wg ròżnych zasad. O interwale archiwizacji w konsoli decyduje user. O interwale na serwerze pogodowym decyduje operator serwera.

Na częstotliwość wysyłania pakietòw z czujników do konsoli stacji po WiFi oraz z konsoli do serwera pogodowego po IP nie ma wpływu user lecz zaimplementowane oprogramowanie i jest to dla zaawansowanych stacji zwykle 16s i 60s dla ciśnienia.

PS. @Parasol, może metodą polemizowania rozruszamy ponownie to Forum na czym powinno Ci zależeć jako adminowi ;)







Offline Parasol

  • Administrator
  • *****
  • Wiadomości: 2618
  • Otrzymał podziękowań: 126
  • Płeć: Mężczyzna
    • Stacje-Pogody.pl
  • Typ stacji: Netatmo, wcześniej TFA NEXUS i WS3500
Odp: Synchronizacja z serwerami pogodowymi
« Odpowiedź #14 dnia: 01 Marca, 2024, 12:43:37 »
Właśnie te zmiany są widoczne dla parametrów dynamicznych takich jak pomiary wiatru czy nasłonecznienia i są dowodem na docieranie do celu czyli do serwera pogodowego pakietów danych co 16 i co 60s.  i nie dotyczą tylko aktualizacji wyświetlacza konsoli jak napusałeś powyżej.

Nie jest to więc jak piszesz tylko prawdopodobne wyświetlanie danych na wyświetlaczu konsoli ale ròwnoczesne wysłanie w tym samym interwale 16 i 60s pakietu danych w górę sieci do serwera pogodowego - co widać na serwerze pogodowym patrząc na dynamiczne parametry.

Dane pogodowe są wysyłane przez stacje na serwery pogodowe co jakiś czas, który jest ustawiany w konfiguracji stacji. Jeżeli ustawisz interwał wysyłania danych na serwery pogodowe (upload interval) na 5 minut, to co 5 minut stacja połączy się z serwisem pogodowym i prześle dane. Nie będzie to ani częściej ani rzadziej - dokładnie co 5 minut.

Np serwer pogodowy WU archiwizuje standardowo co 5min. nadchodzące pakiety. Warunek jest taki o czym nie napisałem we wcześniejszych postach powyżej, że stacja musi wysyłać takie pakiety z interwałem co najmniej 5min i mniejszym. Jeżeli wyśle co 5min to parametry archiwizowane są na wprost ci 5min. Jeżeli wysyła z większą częstotliwościową np co 16s to serwer kolekcjonuje kolejne pakiety, uśrednia co 5min i umieszcza w tabeli pomiarowej dla danej stacji.

Dlatego, moim zdaniem, nie ma sensu wysyłać danych częściej, niż w odstępach czasowych, w jakich serwis pogodowy je przechowuje. Czyli np. WU ma 5 minutowe odstępy czasowe, czyli konfigurujesz wysyłanie w stacji (upload interval) na 5 minut.
Pomóż innym, dodaj opinie o swojej stacji pogodowej na stronie Stacje-Pogody.pl
Zobacz także: https://nahulajnogi.pl | https://smartfonki.pl | https://zeroauta.pl