pátek 1. října 2010

Meteostanice LaCrosse WS-2300 a linux


Již přes tři roky používám pro meteorologická měření poloprofesionální meteorologickou stanici LaCrosse WS-2300. Je to docela pěkný kousek hardwaru, obsahující základní zobrazovací stanici a moduly pro měření teploty, barometrického tlaku, vzdušné vlhkosti, srážek a síly větru. Celé to může komunikovat jak bezdrátově, tak po drátě. Obsahuje i hodiny řízené signálem DCF s budíkem, umí spustit akustický alarm při překročení nastavených mezí. Hlavní je, že stanice obsahuje vnitřní paměť na 175 hodnot, což je při frekvenci měření 1 hodina schopné zaznamenat hodnoty v průběhu zhruba jednoho týdne. Přenos do PC je prostřednictvím RS232 a výrobce vzhledem ke stále častější absenci COM-portů u novějších počítačů přikládá i převodník RS232-USB (s běžně rozšířeným čipem Prolific PL-2303, pro který výrobce dodává i ovladač pro linux, je podporovaný přímo jádrem.

Jestliže jsem pochválil hardwarovou stránku, výhrady mám k obslužnému softwaru. Používán je program HeavyWeather 2.0 Beta pro spojení s PC, Weather Review pro vyhodnocení záznamů a HeavyWeather Publisher pro publikování výsledků na webu. Samozřejmě existuje pouze verze pro Windows a tato skutečnost byla posledním důvodem, proč mám na svém notebooku nainstalované WindowsXP ve Virtualboxu.

Co se týká základního obslužného SW, je jednoduchý a přehledný. Výhrady bych měl k tomu, že po vyčtení hodnot z paměti stanice se smaže celý její obsah, což mi přijde zbytečné, a že uložená data jsou v (lidmi) nečitelném formátu. Bohužel kombinace Virtualbox (?) – WindowsXP – HeavyWeather s sebou přináší problémy – občas se spuštěním samotných Windows, občas s komunikací přes USB, občas se stabilitou samotného programu, občas se smazáním paměti bez uložení dat do PC atd. Toto vedlo často ke ztrátě dat nebo občasné nefunkčnosti systému, takže bohužel se v historii měření nachází spousta bílých míst, což je u kontinuálních meteorologických měření celkem podstatný nedostatek. Nespolehlivé ale bylo i spojení s jiným PC, na kterém byly nainstalovány přímo WindowsXP, při přenosu dat nastávaly dokonce samovolné restarty systému. Program pro zobrazení (WeatherReview) má poměrně omezené možnosti, v podstatě umí pouze zobrazit omezené množství kanálů ve vybraném časovém intervalu. Naštěstí lze exportovat surová data do ASCII, takže není problém s importem třeba do OpenOffice.org Calc a tam už lze provádět pokročilejší vyhodnocování. Publisher jsem nevyužíval, protože stanice není nepřetržitě připojena k běžícímu PC a využití pro online zobrazování tedy nemá smysl.

Už dříve jsem se snažil najít alternativu pro ovládání stanice z prostředí Linuxu. Našel jsem program wview, ovšem je poměrně komplikovaný a nepodařilo se mi ho zprovoznit. Dokonce mi Peťoš ubalil rpm-ko (je v jeho repozitáři pro Mandriva Linux 2010.0). Program vyžaduje použití serveru apache, php a databáze SQL, což jsou technologie, o kterých zatím vím jenom to, že existují. Situace je ztížená i tím, že se stanice připojuje prostřednictvím převodníku RS232-USB – ten při připojení vytvoří zařízení ttyUSB0, zatímco SW vyžaduje pro komunikaci COM-port.

Situace se změnila v okamžiku, kdy jsem objevil open2300 – soubor jednoduchých prográmků pro komunikaci s WS-2300. Experimentováním se mi podařilo dosáhnout základní funkčnosti spojení s meteostanicí. Nejprve jsem systému musel „vnutit“ komunikaci přes USB převodník. Ačkoliv nemám v notebooku sériový port, v adresáři /dev se tvoří soubory zařízení COM ttyS0 až ttyS3. Proč je tomu tak tedy opravdu nevím, ale smazal jsem (samozřejmě jako root) zařízení ttyS0 a vytvořil stejnojmenný symlink směřující na ttyUSB0. Potom již jednotlivé utilitky z open2300 fungují. Příklady:

interval2300 60 23– nastaví interval měření do interní paměti na 60 minut, první měření proběhne po 23 minutách
histlog2300 /home/.../meteo.txt– uloží obsah vnitřní paměti do zadaného souboru (aniž by paměť smazal)
fetch2300 > /home/.../minmax1- uloží seznam extrémních hodnot včetně času jejich výskytu do zadaného souboru

Podstatné je, že: 1. ověřil jsem si funkčnost komunikace s WS-2300, 2. získal jsem spolehlivý nástroj pro načítání dat z vnitřní paměti stanice.

V další fázi se budu pokoušet proces komunikace a zpracování dat zjednodušovat a zpřehledňovat, a to buď použitím např. skriptů, nebo i jiného SW s GUI. Když mám vyzkoušenou funkčnost spojení, pokusím se použít dříve zmiňovaný wview. Používá celkem příjemné webové rozhraní, jako příklad je možné uvést stránky z ČR: http://www.ovoce-ploskovice.cz/wview/. Další možností je weather-display, což je ovšem komerční SW pro Windows, Mac i Linux v ceně 70 U$D. K vyzkoušení je možné stáhnout 30-denní trial verzi, jejíž funkčnost jsem si ověřil. GUI a možnosti nastavení jsou ovšem tak komplikované, že jsem se ještě plně nezorientoval. Existuje i konzolová verze consolewd, která není v ceníku (že by volně k použití???). Dalším jednoduchým konzolovým nástrojem je SW s překvapujícím názvem ws2300. Je možné, že zůstanu u stahování „surových“ dat a jejich dodatečném zpracování třeba v Openoffice.org Calc.

Jak jsem již napsal, hlavního cíle jsem dosáhnul. Mám spolehlivý a jednoduchý nástroj pro stahování souborů naměřených dat z meteostanice WS-2300. O dalších výsledcích mého snažení se s vámi rád podělím v některém z příštích příspěvků.

2 komentáře:

  1. Ahoj. Kdybys chtěl pomoci se zmiňovaným wviewweather, tak můžu neco - co vím - poradit. Shodou okolností jsem dával "dohromady" zmiňovaný wview server na ovoce-ploskovice.cz ;) janpet90 zav gmail tecka com

    OdpovědětVymazat
  2. Dík za nabídku, ozvu se mailem. Oproti výše popisovanému stavu jsem vlastně nepokročil, takže malé postrčení neuškodí...

    OdpovědětVymazat