Forum Użytkowników Stacji Pogodowych
Stacje Pogody - oprogramowanie => Inne oprogramowanie => Wątek zaczęty przez: geofinder w 09 Marzec, 2020, 18:56:17
-
Witam.
Od niespełna 2 tygodni posiadam stację Ecowitt GW1002 (czekałem na nią ok. 2 miesiące).
Stacja nie posiada konsoli, a wiec podobnie jak w przypadku WH2600 nie ma lokalnej historii pomiarów.
Postanowiłem wiec napisać program, który będzie kolekcjonował dane meteo z tej stacji.
Program prawdopodobnie będzie działał także z innymi stacjami Ecowitt, które łączy bramka GW1000.
Aplikacja składa się z panelu na którym mogą być wyświetlane bieżące obserwacje, historia pomiarów oraz dzienne minima i maksyma (łącznie z czasem ich wystąpienia).
Można wysłać dane na własną stronę www. Na razie jest to prosta strona html z podstawowymi parametrami meteo.
Żeby połączyć stację Ecowitt z programem GW100X w aplikacji mobilnej WS View:
1. Wybierz z listy Device List właściwą stację.
2. Przyciskiem [More] rozwiń menu i wybierz polecenie Weather Services.
3. Wciskaj przycisk [Next] aż dojdziesz do okienka "Customized".
4. Zaznacz przycisk [Enabled] i [Wunderground].
5. W pole Server IP / Hostname wpisz lokalne IP komputera na którym uruchomisz program GW100X.
6. Ustaw pole Port na wartość 9999, a pole Upload Interval na wartość 60.
7. Zapisz zmiany wciskając przycisk [Save].
Po chwili dane ze stacji powinny pojawić się na panelu GW100X.
Program dostępny jest w wersji dla Windows i Raspbian.
Instalacja w systemie Raspbian opisana w pliku tekstowym dołączonym do archiwum zip.
Na tej stronie znajdziesz program GW100X do pobrania: http://rososz.ugu.pl/
-
Cześć.
Jestem posiadaczem GW1000, więc postanowiłem wypróbować Twój program dla Windows. Wprowadziłem w WS View wszystko jak podałeś. Niestety pojawiły mi się tylko wschody i zachody słońca. Żadne inne wartości u mnie się nie pokazują.
Próbowałem na dwóch komputerach z Win10 64bit. Zapewne robię coś źle, lub jest coś o czym nie wiem.
-
U mnie też czasem nie od razu "zaskakuje", trochę trzeba popróbować.
Warto wcisnąć ponownie przycisk Save (nie pojawi się wtedy podpowiedź "Success").
Być może trzeba wypełnić wszystkie pola na stronie Customized w aplikacji WS View.
Upewnij się, że wpisałeś prawidłowe IP.
Możesz poeksperymentować także z numerem portu, zmienić go z domyślnego na jakiś inny.
Oczywiście numer portu musi być taki sam w ustawieniach GW100X i VS View.
Z ciekawszych uaktualnień w wersji 0.8 dodałem parametr UTCI zwany "Wskaźnikiem obciążeń termalnych człowieka" lub "Universal Thermal Climate Index" (K.Błażejczyk i inni).
-
Przez godzinę walczyłem zmieniając różne ustawienia. W końcu zaskoczyło. Port mam ustawiony na 9876 a interwał zmieniłem teraz na 16 sekund. Wygląda na to, że wszystko zaczęło działać jak potrzeba. Niestety nie wszyscy będą mieli tyle cierpliwości.
Musiałbyś jakoś poprawić pewność połączenia.
GW100X przez najbliższe parę lat będą moimi podstawowymi stacjami (zamówiłem kolejne dwie sztuki) więc pozwolę sobie trochę Ciebie pomęczyć w sprawie oprogramowania.
Posiadam kilka dodatkowych czujników które są obsługiwane tylko przez protokół Ecowitt. Nie znam się na programowaniu, więc nie wiem czy dużym problemem była by zmiana protokołu z WU na Ecowitt.
Na pewno w Twoim programie przydałyby się "zegary" i wykresy. To chyba wszyscy lubią najbardziej.
-
Na pewno w Twoim programie przydałyby się "zegary" i wykresy. To chyba wszyscy lubią najbardziej.
W wersji 0.9 dodałem wykresy, jeszcze nie w pełni funkcjonalne ale już są.
Poprawiłem błąd dodawania paru/kilku rekordów z tej samej minuty (gdy interwał ustawiony był poniżej 60 sekund).
Trochę zmian kosmetycznych w głównym panelu.
Nowe okienko w menu Pomoc, objaśniające interpretację wskaźnika UTCI.
Przez godzinę walczyłem zmieniając różne ustawienia. W końcu zaskoczyło. Musiałbyś jakoś poprawić pewność połączenia.
Mi połączenie zajmuje maksymalnie 5min, często szybciej 1-2 minuty. W nawiążaniu połączenia może pomóc restart GW100X.
Oczywiste jest, że program musi mieć prawo dostępu do sieci lokalnej/prywatnej (zapora sieciowa, antywirus).
-
Od kiedy pierwszy raz GW100X połączył się z komputerem, nie mam już problemów z ponownym połączeniem. Dzieje się to natychmiastowo.
U mnie, w wersji 0.9 nie ważne jaki mam ustawiony interwał przesyłania danych są one zapisywane co pięć minut.
Nie wiem co oznaczają dane które znajdują się pod kafelkami.
Restart mojego GW1000 powoduje, że może on wysłać na serwery pogodowe dziwną wartość temperatury -5527°C czy coś koło tego, więc staram się unikać jego resetowania.
-
Nie wiem co oznaczają dane które znajdują się pod kafelkami.
Ts - temperatura skóry
S - bilans (saldo) zmian cieplnych (straty lub zysk) człowieka.
MTE - maksymalny czas ekspozycji (przebywania w danych warunkach).
hSl - wysokość słońca.
ap - ciśnienie na poziomie stacji (absolutne).
Restart mojego GW1000 powoduje, że może on wysłać na serwery pogodowe dziwną wartość temperatury -5527°C czy coś koło tego, więc staram się unikać jego resetowania.
Miałem na myśli restart programu GW100X (mogłem nadać jakąś inną nazwę by się nie myliła ;)).
U mnie czasem po deszczu przy słonecznej pogodzie stacja ekstremalnie zawyża promieniowanie słoneczne i indeks UV.
-
U mnie czasem po deszczu przy słonecznej pogodzie stacja ekstremalnie zawyża promieniowanie słoneczne i indeks UV.
Niestety kropla deszczu na czujniku UV i promieniowania słonecznego działa jak soczewka.
-
A jesteś mi wstanie pomóc jak ogarnąć tę metodę przesyłania dla stacji EFWS 2900 ? Chciałbym jakoś na swoją stronę dawać z niej dane.
-
W wersji 0.9.6 dodałem możliwość wyboru różnych zakresów czasowych wykresów (dzień, miesiąc, tydzień, rok, wczoraj) i opcję śledzenia kursorem po wykresie (górny panel okna wykresów).
W wersji 0.9.7 dodałem możliwość używania szablonów HTML.
Przykładowy szablon indexT.html dołączony jest do archiwum z aplikacją.
Na podstawie szablonu program wygeneruje docelowy plik HTML.
Oczywiście można tworzyć własne szablony.
Polega to na zastępowaniu wartości parametrów meteo w kodzie html strony specjalnymi znacznikami.
Nazwa szablonu musi być inna od nazwy docelowego pliku html.
Wszystkie zaimplementowane znaczniki są użyte w dołączonym szablonie.
A jesteś mi wstanie pomóc jak ogarnąć tę metodę przesyłania dla stacji EFWS 2900 ? Chciałbym jakoś na swoją stronę dawać z niej dane.
Jeśli twoja stacja współpracuje z aplikacją WS View to używając tej metody z szablonem możesz wysłać dane na swoją stronę. Połącz stację z programem GW100X jak opisałem w pierwszej wiadomości. W kodzie swojej strony umieść odpowiednie znaczniki o których pisałem wyżej i zapisz ją w katalogu programu. W ustawieniach wpisz nazwę pliku strony-szablonu (patrz załącznik settings-template.png).
-
Ostatnio mam trochę mało czasu. Twój program sobie działa. Niestety nie zaglądałem do niego. A więc nie było sugestii z mojej strony.
Niestety nie jestem informatykiem. Zadam więc chyba banalne pytanie jak zaktualizować do nowej wersji aby nie utracić danych. Najpierw Import / Export ?
Myślałeś już może o aplikacji na Androida?
-
Zadam więc chyba banalne pytanie jak zaktualizować do nowej wersji aby nie utracić danych. Najpierw Import / Export ?
Przechodząc z wersji 0.9 do 0.9.7 nie trzeba robić Eksport i Import. Będzie działać bo nie było żadnych zmian w strukturze bazy danych. Można zrobić Export dla bezpieczeństwa.
Myślałeś już może o aplikacji na Androida?
Nie wiem czy jest sens robić taką aplikacje na androida. Może jest, ale nie mam za bardzo teraz czasu, sił i ochoty na kolejny taki projekt.
-
Faktycznie, przeszedłem na wersję 0.9.7 bez problemów. Wszystkie dane się zachowały.
Mi aplikacja na Androida nie jest potrzebna bo mam też konsolę HP2551-C. Myślałem o tych użytkownikach którzy posiadają tylko GW1000.
-
Wersja 0.9.8
Dodałem kafelek z wartością przewidywanej termoizolacyjności odzieży oraz okno z opisem (dostępne z menu pomoc).
Na pasku stanu (dolna krawędź głównego panelu) wyświetla się opis odzieży dla aktualnej termoizolacyjności.
Nowe elementy zaznaczyłem na screenach ramką w kolorze czerwonym.
Dane te są też dostępne z poziomu strony www (nowe znaczniki).
Impulsem do wprowadzenia tej zmiany był dział BIOMETEO w portalu pogodynka.pl (http://pogodynka.pl)
Link do programu
rososz.ugu.pl (http://rososz.ugu.pl/)
-
Nowe elementy w wersji 0.9.9
Eksport i Import danych tabeli Min Max.
Wschody i zachody Księżyca na głównym panelu.
Aktualizacja z pliku eksportu tabeli Min Max (Przycisk Napraw Min Max).
P.S.
Dla lepszego rozumienia działania programu, napiszę czym różni się Import od Aktualizacji/Naprawy tabeli Min Max.
Import po prostu wstawia rekordy bez sprawdzania, więc lepiej robić go na pustej tabeli lub gdy wiemy, że wiersze się nie powtórzą i będą w odpowiedniej kolejności.
Naprawa Min Max tworzy lub uaktualnia rekordy na podstawie tabeli Historii, a aktualizacja na podstawie wcześniej wyeksportowanego pliku z tabeli Min Max.
Naprawa i Aktualizacja sprawdza czy dodawany wiersz dla danego dnia już istnieje. Jeśli już jest z taką datą, nie jest dodawany nowy, za to sprawdzana jest każda wartość max i min.
W przypadku wartości min - zmiany zapisywane są tylko gdy nowa wartość jest mniejsza od dotychczasowej.
W przypadku wartości max - zmiany zapisywane są tylko gdy nowa wartość jest większa od dotychczasowej.
Oczywiście dla poprawianych wartości min i max aktualizowane są nowe czasy.
-
Ja aktualizowałem z wersji 0.9.7 do 0.9.9. Niestety u mnie panel główny wygląda troszkę inaczej niż u Ciebie.
-
Ja aktualizowałem z wersji 0.9.7 do 0.9.9. Niestety u mnie panel główny wygląda troszkę inaczej niż u Ciebie.
Wygląda trochę inaczej bo screen był zrobiony w Raspbery Pi.
Za bardzo nie wiem skąd te przesunięcia tych elementów.
Zmieniłem trochę kod, przy okazji zauważyłem inny błąd (w Imporcie Min Max).
Może teraz będzie lepiej.
http://rososz.ugu.pl/
-
Kolejne zmiany (wersje 0.9.9a - 0.9.9e)
Nowy widok - tabela średnich dziennych wartości.
Średnie wartości parametrów: prędkości wiatru, porywu wiatru, promieniowania słonecznego i UVI są obliczane z pomijaniem wartości zero "0.0". Pozostałe wielkości uśredniane są w zakresie całej doby.
Dodałem parametry min i max dla "termoizolacyjności odzieży", z tego względu zmieniła się tabela Dzienne Min i Max.
Jest opcja importu historii z kontrolą (sprawdza czy rekord już istnieje, jeśli tak - jest aktualizowany).
Dwa nowe polecenia Napraw termoizolacyjność i Aktualizuj średnie dzienne w menu Edycja.
Pierwsze uzupełnia pola termoizolacyjności w tabeli Min Max, drugie dodaje lub zmienia wiersze tabeli Średnie dzienne.
Zmiany z powyższych poleceń są wprowadzane na postawie tabeli historii.
Drobne zmiany w głównym panelu.
Trochę to wszystko skomplikowane...
-
Jednak znalazłem trochę czasu by napisać pierwszą wersję programu na androida.
Program prosty, w zasadzie tylko ekran główny z aktualnymi wartościami (jest jeszcze ekran "O programie").
Same wartości parametrów nie są opisane. Występują w takiej kolejności:
- Temperatura zewnętrzna
- Trend temperatury
- Wilgotność na zewnątrz
- Temp. punktu rosy
- Uniwersalny Indeks Termalny (UTCI)
- Termoizolacyjność odzieży
- Ciśnienie
- Trend ciśnienia
- Prędkość średnia wiatru
- Prędkość porywu wiatru
- Kierunek wiatru
- Promieniowanie słoneczne
- Indeks UV
- Godzinowe natężenie opadów
- Opady dzienne
- Opady tygodniowe
- Opady miesięczne
- Opady roczne
- Temperatura wewn.
- Wilgotność wewn.
- Status baterii
Poniżej wyświetla się jeszcze Port i Lokalny adress IP jaki trzeba ustawić w aplikacji WS View w sekcji Customized. Protokół transmisji to Wunderground.
Aplikacja zapisuje dane w wewnętrznej bazie z interwałem 5 minut. Przyciski nawigacyjne na górze służą do przeglądania tej bazy.
Program dostępny do pobrania tu: http://rososz.ugu.pl/
-
Aktualizacja aplikacji.
W wersji 1.0.2 dodałem ekran Ustawienia a w nim możliwość konfiguracji:
- Portu komunikacji
- Motywu wyglądu aplikacji
- Synchronizacji i zapisu
W wersji 1.0.3 dodałem polecenia:
- Eksport danych
- Importowanie danych
- Usuwanie wszystkich danych
I w aktualnej wersji 1.0.4:
- Ekran Dziennych min i maks
- Naprawa dziennych min i max
Włączenie synchronizacji w ustawieniach powoduje, że na ekranie głównym powinny pojawiać się aktualne dane pomiarowe (o ile ustawienia portu i ip są właściwe).
W bieżącej wersji zmieniła się struktura bazy danych (dodana nowa tabela Dziennych min i max), wiec poprzednia baza zostanie zastąpiona. Zalecam wcześniej wyeksportowanie danych do pliku i import po instalacji nowej wersji. Plik zapisywany jest w folderze "Pobrane".
Naprawa Dziennych min i max jest odtwarzana na podstawie bazy historii pomiarów.
Poniżej zrzuty ekranów.
-
Nowe elementy od wersji 1.0.4 do 1.0.5a:
- Ciemny "Czarny" motyw (Ustawienia)
- Zadanie Napraw trendy (temperatury i ciśnienia)
- Wykresy 16-stu paramentów meteo
- Krótkie nazwy (wskaźniki) paramentów w głównym ekranie po lewej stronie
W wersji 1.1.4d była II-ga zmiana struktury bazy danych, więc należy zrobić eksport danych przed instalacją!
W tabeli Dzienne min i max doszły pola dotyczące dziennej sumy opadów; w przykładowym zrzucie ekranu zaznaczone czerwonym prostokątem.
Do wersji 1.0.4b trendy mogły być błędnie obliczane i takie zapisane, dlatego dodałem polecenie Napraw trendy w menu głównego ekranu.
W orientacji pionowej na ekranie są 2 wykresy jednocześnie, w orientacji poziomej wyświetla się jeden wykres.
Kolejne wykresy przewija się ruchem palca po ekranie (w lewo lub w prawo).
Można wybrać z menu ekranu zakres czasowy wykresu (patrz załącznik).
-
Problemy ze stabilnością programu GW100X w Raspberry Pi zmusiły mnie do poszukiwania jakiegoś rozwiązania tego problemu. Tym razem zrezygnowałem z programowania w Object Pascalu (Delphi, Lazarus) na rzecz Javy. Poprzednią aplikację na Androida pisałem w Javie, wiec stała się ona pewną bazą do napisania "na nowo" programu, który by można uruchomić w Raspberry Pi. Programy napisane w Javie można wykonywać na różnych urządzeniach, na których zainstalowane jest "środowisko uruchomieniowe Javy". Pisałem i testowałem w Windows 7 (Java SE 8 ) i Raspberry Pi 4 (Java SE 11). Minimalne wymagania to zainstalowana Java SE 7 (sprzed prawie 9 lat!).
Tyle wstępu, i do rzeczy...
Przedstawiam pierwszą wersję programu GW100XJ. Nie będę go jakoś szczegółowo opisywał. Jak ktoś czytał poprzednie wiadomości w tym wątku to prawdopodobnie się "połapie", bo wiele rzeczy się powtarza, lub jest podobne. Ogólnie program wyświetla aktualne pomiary, zapisuje w bazie dane ze stacji co 5 min, wyświetla minima, maksyma i średnie dzienne (menu Widok). Poruszanie się po wierszach tabel bazy danych jest za pomocą menu nazwanego Nawigacja. Z nowych poleceń jest "Ustaw rozmiar strony" i dotyczy liczby wierszy, które będą "przewijane" poleceniem poprzednia strona lub następna strona, oddzielnie dla tabeli danych historycznych i pozostałych "dziennych" (min i maks, średnie).
Program spakowany do pobrania na stronie http://rososz.ugu.pl/
Dołączam trochę zrzutów ekranu.
-
Ciąg dalszy rozwijania programu (wersja 1.1) pisanego w Javie.
Jest teraz możliwość przesyłania na stronę www.
Poleceniem "Warunki aktualne" z menu Edycja można wpisać opis warunków, które pojawią się na stronie.
"Sklonowałem" GW100XJ i powstał nowy WH2600J zmienając go tak by działał ze stacją Renkforce WH2600 / Ambient Weather WS-1401-IP.
Uzupełniłem plik tekstowy o nazwie "instalacja.txt".
Zmieniłem szablon indexT.html na odrobinę ładniejszy (dodany plik styles.css).
Programy testowałem również na starszym urządzeniu Raspberry Pi 2.
Strona z której można pobrać program:
http://rososz.ugu.pl/pobierz.html
Poniżej kilka obrazów programu.
-
Witam :)
Dziś chciałbym pokazać 3 sposoby jak ułatwić uruchomienie programu GW100XJ na platformie Raspberry Pi.
W zasadzie można je zastosować do każdego innego programu.
1. SPOSÓB - MENU GŁÓWNE
Żeby mieć łatwy i szybki dostęp do programu z menu głównego wybierz Preferencje i Main Menu Editor.
Zaznacz istniejące menu lub dodaj nowe. Ja wybrałem istniejące menu "Inne".
Nastepnie dodajemy nowy element, który bedzie się odnosił do programu GW100JX.
Wypełniamy pole Name (GW100JX) i pole Command (java -cp ".:/home/pi/java/gw100x/GW100X.jar" gw100x.GW100X).
Zatwierdzamy przyciskiem [OK]. Ewentualna edycja możliwa przyciskiem [Właściwości].
2. SPOSÓB - AUTOSTART
Ten sposób jest bardzo przydatny, bo automatyzuje uruchomienie programu po starcie systemu w trybie graficznym.
Otwórz okno konsoli i wpisz polecenie:
mkdir /home/pi/.config/autostart
by utworzyć specjalny folder autostart. Następnie uruchom edytor nano wpisując:
nano /home/pi/.config/autostart/gw100xj.desktop
Wpisz lub skopiuj poniższy tekst do nano:
[Desktop Entry]
Type=Application
Name=GW100XJ
Exec=java -cp ".:/home/pi/java/gw100x/GW100X.jar" gw100x.GW100X
Zamknij edytor zapisując zmiany (Ctrl+X T).
Uruchom ponownie system (np.: wpisując w konsoli polecenie reboot).
3. SPOSÓB - SKRÓT NA PULPICIE
Ten sposób sprowadza się do utworzenia pliku GW100XJ.desktop na pulpicie.
Pliku z tą samą treścią co w sposobie 2.
W plikach *.desktop można umieścić wiecej potrzebnych informacji
np.: komentarz i ścieżkę do ikony.
Być może są jeszcze jakieś inne sposoby usprawniające uruchomienie programów raspberry pi, które znacie?
-
Witam
Dziś uruchomiłem zdalny dostęp do urządzeń raspberry pi i chciałbym pokazać jak można to dość łatwo zrobić.
Zdalny dostęp do urządzeń raspberry pi z innych komputerów rozwiązuje całkowicie problemy z monitorem.
Nie jest on już niezbędny gdy mamy laptopa lub smartfona. Nie jest też potrzebna klawiatura i mysz do raspberry pi.
Oczywiście zarówno raspberry pi jak i komputer czy telefon muszą być podłączone do sieci (lokalnej).
Do tego celu posłuży nam program VNC Viewer (www.realvnc.com).
Jest to przeglądarka, w której będzie można zdalnie kontrolować raspberry pi.
Dostępna jest na różne platformy (Windows, Raspberry Pi, Android i inne).
Co należy zrobić w Raspberry Pi:
1. Wejść w opcje poleceniem "sudo raspi-config"
2. Wybrać opcje połaczeń "Intefacing Options"
3. Z listy wybrać VNC i potwierdzić włączenie serwera VNC.
Co należy zrobić w PC/Smartfonie:
1. Pobrać i zainstalować VNC Viewer
2. Uruchomić program.
3. W PC na pasku adresowym wpisać IP urządzenia z którym chcemy się połączyć, następnie wcisnąć ENTER.
W smartfonie dodać (+) urządzenie i podać jego IP i nazwę.
Program zacznie szukać urządzenia i to może chwilę potrwać.
4. Zaakceptować ostrzeżenia i wcisnąć Continue.
5. Podać nazwę użytkownika (login) i hasło do Raspberry Pi. Jeśli nie było zmieniane to login: "pi", hasło: "raspberry"
6. Połączyć się zdalnie - otworzy się okno z widokiem pulpitu Raspberry Pi.
Żeby nie tworzyć kolejnej wiadomości to dopiszę do tej, to co jeszcze chciałbym uzupełnić.
Chodzi mi o 2 a właściwie 3 problemy jakie mogą się pojawić (dwa będą opisane a o 3 tylko wspomnę).
1. Jak zmienić ustawienia dotyczące serwera VNC w Raspberry Pi, gdy już na starcie nie mamy możliwości podłączenia do maliny monitora, klawiatury i myszy? Pomocne w tym przypadku będzie narzędzie o nazwie PuTTY (www.putty.org).
Po pobraniu, zainstalowaniu i uruchomieniu PuTTy na komputerze, w pole "Host name/IP Adress" wpisać IP lub nazwę hosta i kliknąć w przycisk [Open]. Otworzy się okno konsoli. Należy podać login i hasło do rasperry pi.
Następnie uruchomić opcje znanym poleceniem sudo raspi-config i dalej jak opisałem wyżej.
2. Może się zdarzyć że mimo połączenia VNC, nie zobaczysz pulpitu tylko czarny ekran z napisem "Cannot currently show the desktop".
Prawdopodobnie jest to przyczyna niepasującej rozdzielczości ekranu. Aby ją zmienić należy:
- otworzyć raspi-config,
- wybrać kategorie opcji zaawansowanych "Advanced Options",
- wybrać opcje rozdzielczości "Resolution",
- z listy wybrać inną dostępną rozdzielczość (być może trzeba będzie sprawdzić kilka różnych),
- wyjść z konfiguracji zapisując zmiany (niezbędny restart systemu).
3. Problem z połączeniem z siecią (np.: Wifi). Jeżeli nie masz skonfigurowanej sieci, to możesz spróbować wykonać ją również za pomocą narzędzi PuTTY i raspi-config, kategoria "Network Options". Być może na początku trzeba będzie się połączyć bezpośrednio kablem sieciowym przez gniazda LAN.