| |
ebc41 | 26.12.2018 01:08:59 |
Grupa: Użytkownik
QTH: Bielsko-Biała
Posty: 2019 #2622047 Od: 2010-9-18
UŻYTKOWNIK ZABLOKOWANY
Ilość edycji wpisu: 2 | Siema, Jako mały prezent na święta wrzucam najnowszą i pierwszą stabilną wersję mojego programu APRS2RRD, którego od przeszło 4 lat używam do archiwizowania i wyświetlania danych pogodowych z moich stacji. Wszystkie strony z domeny http://pogoda.cc , np. stacja na Koziej Górze w Bielsku (http://kozia.pogoda.cc) są właśnie obsługiwane przez aplikację APRS2RRD.
Programu używam od lat ale dopiero teraz udało się wyeliminować jego wady, które ciągnęły się przez ten okres. Głównym i podstawowym problemem z nim był bardzo niedbale a momentami wręcz ohydnie napisany kod, zawierający liczne bugi powodujące wysypywanie się aplikacji. W moim przypadku zdarzało się, że program potrafił działać kilka tygodni bez problemu a czasami wysypywał się raz na kilka godzin z powodu na przeróżne błędy obracające się wokół AccessViolation. Obecnie kod został w większości przepisany od zera. Oferuje prawie taką samą funkcjonalność ale w oparciu o zupełnie inne technologie i biblioteki języka C++ co zapewnia stabilną i wolną od bugów pracę
Aktualne możliwości programu przedstawiają się następująco: Komunikacja z serwerami APRS-IS w oparciu o bibliotekę Boost ASIO (Asynchronous Input/Output) i standardowy protokół tekstowy Parsowanie otrzymanych w protokole tekstowym APRS-IS ramek, celem wydobycia ich znaku źródłowego, docelowego, ścieki pakietowej i samych przesyłanych w nich danych Jeżeli otrzymana ramka jest ramką z danymi pogodowymi, parsowanie temperatury, ciśnienia, wilgotności oraz parametrów wiatru (kierunek, średnia, porywy). Jeżeli otrzymana ramka zawiera dane telemetryczne a użytkownik zdecydował się na włączenie opcji powodującej użycie kanału piątego telemetrii jako odczytu temperatury, użycie tej temperatury w dalszym procesie. Ograniczenie "slew rate" czyli szybkości narastania bądź opadania wartości sygnałów. Pozwala na wygładzenie "szpilek", które mogą pojawiać się na skutek niepoprawnej pracy przyrządów pomiarowych na stacji i powodować zmiany wartości odczytów szybsze, niż jest to fizycznie możliwe. Korekcja kierunku wiatru pozwalająca dodać bądź odjąć zadany kąt od wartości otrzymanej z ramek pogodowych. Korekcja odbywa się wektorowo, tj. z odpowiednią obsługą przejścia przez 0/360 Zapis przetworzonych parametrów do plików kołowej bazy danych RRD przy pomocy rrdtool. Kreślenie przy pomocy aplikacji rrdtool wykresów na podstawie danych zapisanych w plikach RRD. Generowanie statycznej strony WWW zawierającej numeryczne dane z ostatnio odebranej ramki, oraz wykresy pokazujące zmianę parametrów na przestrzeni czasu. Strona ta może być w pewnym ograniczonym stopniu dostosowywana przy pomocy pliku konfiguracyjnego. Opcjonalny zapis danych do bazy danych MySQL.
Instrukcja instalacji i konfiguracji: https://github.com/SP8EBC/aprs2rrd-se/blob/master/doc/README-pl.pdf
Kod źródłowy, dokumentacja, przykładowa konfiguracja itp: https://github.com/SP8EBC/aprs2rrd-se _________________ Mateusz Lubecki SP8EBC -- https://www.youtube.com/watch?v=HNZd2JIhYbE |
| |
Electra | 28.11.2024 21:31:42 |
|
|
| |
sp2ong | 26.12.2018 09:37:15 |
Grupa: Użytkownik
QTH: Torun
Posty: 203 #2622078 Od: 2013-11-29
Ilość edycji wpisu: 1 | Czesc,
A czy nie zrobilbys wersji programu ktora czyta danych z pliku ASCII w formacie JSON ?? zamiast mysql pytam sie bo to fajny bylby program na zastosowanie na routerach z wifi na OpenWRT roznych do ktorych podpinane sa rozne stacje pogody i dane wysylane do aprs.fi itp
Przyklady taki formatow pogodowych JSON np:
https://openweathermap.org/current
Oczywisci mozna zdefinowac wlasny format danych w JSON
wtedy np dane pobierane z serial portu z stacji pogody skrypt zapisuje w formacie JSON a Twoj program robi reszte czytajac dane z np /tmp/weather.json
_________________ 73 Waldek SP2ONG
|
| |
ebc41 | 26.12.2018 11:03:55 |
Grupa: Użytkownik
QTH: Bielsko-Biała
Posty: 2019 #2622088 Od: 2010-9-18
UŻYTKOWNIK ZABLOKOWANY | Tylko MySQL jest tutaj celem w którym zapisuje się dane odczytane z APRS. Wykresy są generowane przez rrdtool z plików RRD a baza danych jest nieco pobocznie aby można było wykorzystywać odczyty w całkowicie zewnętrznych systemów.
Generalnie data flow wygląda tak: APRS-IS ->, Pliki RRD (rrtool) ->, wykresy z plików RRD + pobocznie zapis w MySQL ->, strona HTML
Generalnie mam w planach dorobienie parsowanie ramek pogodowych z plików TXT ale raczej w formacie APRS. Wchodził by w grę XML ponieważ do C++ jest bardzo dobra biblioteka Xerces-C++ z której już korzystałem. _________________ Mateusz Lubecki SP8EBC -- https://www.youtube.com/watch?v=HNZd2JIhYbE |
| |
ebc41 | 14.01.2019 23:00:35 |
Grupa: Użytkownik
QTH: Bielsko-Biała
Posty: 2019 #2628026 Od: 2010-9-18
UŻYTKOWNIK ZABLOKOWANY | Tak tytułem małego uzupełnienia na moim githubie jest dostępna wersja 1.0.2 rzeczonego programu. Oczywiście jak to zwykle bywa nie udało się uniknąć pewnych błędów dlatego pojawiła się nowa wersja. Poprawia ona głównie dość głupi bug, który powodował niepoprawne parsowanie ramek jeżeli ciśnienie było mniejsze niż 1000hPa
https://github.com/SP8EBC/aprs2rrd-se/releases/tag/1.0.2 _________________ Mateusz Lubecki SP8EBC -- https://www.youtube.com/watch?v=HNZd2JIhYbE |
| |
VSS | 15.01.2019 14:59:34 |
Grupa: Użytkownik
QTH: POZnan*
Posty: 3899 #2628216 Od: 2009-12-24
| _________________ Artur VSS https://sp3vss.eu PZK - Piraci Z Karaibów
Udostępniający link nie odpowiada z automatu za treść: https://tiny.pl/tqrng http://hudoc.echr.coe.int/eng?i=001-187930
|
| |
ebc41 | 01.02.2019 23:15:57 |
Grupa: Użytkownik
QTH: Bielsko-Biała
Posty: 2019 #2633396 Od: 2010-9-18
UŻYTKOWNIK ZABLOKOWANY | Kolejny bugfix, tym razem mam nadzieję że ostatni na dłuższy czas Okazało się, że z nieco niezbadanych powodów program wysypywał się podczas generowania pliku html, po przywróceniu połączenia po jego zerwaniu przez serwer. Tak czy inaczej przetestowane i wychodzi na to że działa
https://github.com/SP8EBC/aprs2rrd-se/releases/tag/1.0.3
Przy okazji to już chyba 5 lat jak prowadzę ten projekt. Wprawdzie dopiero po 5 latach program zyskał stan w którym jest w stanie bezawaryjnie pracować ale jak to się mówi lepiej późno niż wcale _________________ Mateusz Lubecki SP8EBC -- https://www.youtube.com/watch?v=HNZd2JIhYbE |
| |
Electra | 28.11.2024 21:31:42 |
|
|