Podłączenie stacji pogodowej WS-2300 do programu Xastir
i problemy z tym związane.Ostatnimi czasy stałem się szczęśliwym posiadaczem tej stacji, a ponieważ podpięcie jej
wcale do prostych nie należało, wiec dla potomności opis procedury tej ofiarowuję...
Instalacja tej stacji pod linuksem wymaga nieco zachodu i sprowadza się do kilku kroków:
- - instalujemy mysql (server i client)
- - ściągamy program open2300 ze strony http://www.lavrsen.dk/foswiki/bin/view/Open2300/DownloadFiles
- - ściągamy najnowsze źródła do Xastir'a
- - zaglądamy do pliku open2300.conf i widzimy co następuje... korygujemy port szeregowy wg naszych potrzeb
- - zakładamy bazę danych o nazwie open2300
- - poprawiamy w pliku mysql2300.sql wpis `rel_pressure` decimal(4,1) NOT NULL default '0.0',
na `rel_pressure` decimal(5,1) NOT NULL default '0.0' - bez tego ciśnienie będzie poprawnie wyświetlane tylko do wartości 999.9 hPa
1. Zgodnie z dokumentacją (niedokładną niestety) musimy założyć bazę danych A wiec po kolei (wchodzimy dla pewności do katalogu
open2300-1.10, mając już zainstalowany
mysql):
> > mysql -u root -p
password: ******
Jesteśmy w shellu bazy danej mysql
Zakładamy bazę danych (
uwaga na średniki na końcu polecenia!!!)
mysql> create database open2300;
Teraz zakładamy tabelę w bazie (plik
mysql2300.sql jest w katalogu open2300-1.10):
mysql> source mysql2300.sql;
Tworzymy użytkownika
open2300 (wg danych z pliku open2300.conf)
mysql> create user open2300 identified by 'mysql2300';
Nadajemy uprawnienie do bazy danych:
mysql> grant all on table weather to open2300;
Wychodzimy z bazy za pomocą polecenia exit.
Logujemy się już jako user open2300:
mysql -u open2300 -p
password: mysql2300
Otwieramy bazę:
mysql> use open2300;
I możemy wyświetlić sobie zawartość bazy:
mysql> select * from weather;
2. Teraz musimy zapełnić danymi bazę danych. W tym celu uruchamiamy polecenie:./mysql2300 open2300.conf
Polecenie to działa jednokrotnie, tzn. po ściągnięciu danych kończy swoją działalność.
Ponieważ chcemy, aby dane docierały do nas w miarę regularnie w tym celu musimy
zaprząc do tej pracy polecenie "cron", które będzie w zadanych przez nas interwałach
czasowych wywoływać ww polecenie.
Do konfiguracji należy wywołać polecenie
crontab -eprogram będzie wywoływany co 15min*/15 * * * * /sciezka do pliku/mysql2300 /sciezka do pliku/open2300.conf
3. Mamy już w bazie danych ściągnięte dane ze stacji meteo, teraz musimy je podać
do programu
Xastir. Do tego służy polecenie
open2300db2aprs z katalogu
LaCrosse zawartego w źródłach
Xastir. Po skompilowaniu wydajemy polecenie:
> > open2300db2APRS -r -u open2300 -p mysql2300 -v -n
4. Uruchamiamy Xastir 5. Dodajemy poprzez "Interface control" stację pogody "Networked WX"
oraz ustawiamy konfigurację jak poniżej:- WX host localhost
- WX port 1313
w komentarzu możemy podać typ stacji np. WS-2300
No i teoretycznie powinno działać ;-) , ale nie ma tak lekko...
Xastir prawdopodobnie spodziewa się danych w jednostkach anglosaskich, a co za tym idzie
po uruchomieniu
open2300db2aprs wyświetla błędne dane. Konieczna jest ingerencja w źródła programu.
W źródłach
open2300db2aprs.c poprawiamy
Metric_Data=0 na
Metric_Data=1Kompilujemy, uruchamiamy i powinno być dobrze ;-)
Wrażenia:
Program chodzi w miarę poprawnie i stabilnie (choć zdarzył mi się skok temperatury
do 80 stopni, ale przyczyn tego nie dociekałem).
Ponieważ nie mam możliwości zainstalować czujnika siły i kierunku wiatru musiałem
również i w tym przypadku ingerować w źródła programu, gdyż program open2300
przy odłączonych czujnikach podawał jakieś abstrakcyjne dane (np. wiatr 400km/h).
To akurat zaleta "open source", że można samemu coś sobie poprawić.
Druga uwaga, która mi się narzuca to to taka, że baza mysql jest chyba trochę na wyrost
(za duża kobyła) jak dla takiego zastosowania. Z pewnością prosty i lekki SQLite by wystarczył.
Trzeci wniosek, który mi się nasunął to taki, aby zrezygnować z programu Xastir do wysyłania
raportów pogodowych, gdyż jest to przerost formy nad treścią.
Wczoraj wieczorkiem wykorzystałem do tego program AOS naszego kolegi SQ6NTI
i z powodzeniem wysłałem raport podmieniając tylko zawartość pliku object.cfg.
Myślę więc, że pożenienie programu open2300db2aprs z programem AOS nasuwa się samo...
Pozdrawiam
PS.
Być może coś w tym opisie przeoczyłem lub skomplikowałem niepotrzebnie, ale tak wyglądała moja "ścieżka"
uruchomienia tej stacji. Mam nadzieję, że opis komuś się przyda ;-)