Jak získáváme staniční data?

Už docela dlouho, dokonce i déle, než existuje Meteoklub, se na zahradě GJŠ Zlín nachází školní meteostanice. Ta původní, která sice doposud existuje, ale již se nepoužívá na získáváni dat, je klasická bílá budka se zavěšenými senzory a vyžaduje manuální zapisování hodnot. To se nějakou dobu dělo. Dokonce k tomu účelu vznikla úplně původní verze webu „GJŠ Meteo„, kde doposud, s trochou štěstí, funguje prohlížítko historických hodnot.

Ovšem časy se mění a jednoho dne nadešel čas vše zautomatizovat. Před pár lety proběhla na škole rekonstrukce školní zahrady a v rámci ní došlo k nákupu bezdrátové meteostanice WMR300. Mělo to však jeden docela podstatný problém – měla mizernou softwarovou podporu od výrobce existoval pouze Windows program, který dokázal jednorázově stáhnout data a ukázat je v grafech. A to samozřejmě pouze na jednom počítači v celé škole, protože připojení ke stanici probíhá přes sběrnici USB.

To jsem tak nemohl nechat, tak jsem hledal nějakou možnost, jak stahování dat zautomatizovat. Ukázalo se, že používat dodaný software k tomuto účelu je nemožné, tak přišel na řadu svět opensource. Podařilo se mi najít, že naše meteostanice má podporu v software WeeWX a po otestování se ukázal funkčním. Aby bylo možné data vidět živě v nějakém webovém přehledu, požádali jsme vedení školy o objednání mikropočítače Raspberry Pi a bylo nám vyhověno.

A to byl vlastně takový hlavní milník. Konečně nám běželo pravidelné stahování dat do databáze, ze které se data vykreslovala tehdy na webu https://gjsmeteo.pernicka.cz a viděli jsme aktuální údaje každých 10 minut. Takto to fungovalo asi 2-3 roky, ovšem s několika odmlkami kvůli nedostatečné stabilitě. Jednu dobu byl problém s mazáním paměti ve staniční konzoli, což občas zapříčinilo přetečení a zastavení toku nových dat. To se naštěstí podařilo vyřešit. Respektive, vyřešil to někdo, kdo do WeeWX poslal patch tohoto problému. Bohužel, časem se začaly vyskytovat další potíže, kdy například konzole ani občas vynechávala data o větru, což jsem vyhodnotil jako hardwarový problém, protože bylo vidět, že byl problém se signálem, jehož síla výrazně kolísala s měnícími se atmosférickými podmínkami.

Cíl byl tedy jasný – umět dekódovat data ze RF signálu přímo ze stanice a vykašlat se na řešení od výrobce. Na to však kvůli nutnosti provozovat digitalní signal processingu Raspberry Pi nestačilo.

Současné řešení

Díky souhře potřeby vyššího výkonu, vyšší stability a cenově výhodného inzerátu na Aukru to dopadlo tak, že jsem zvolil jako cestu starší industriální počítač za pár stovek. K tomu jsem sehnal softwarově definované rádio RTL-SDR a pro využití v budoucnosti i modul LoRa koncentrátoru.

Industriální počítač po odebrání vrchního víka

A aby bylo celé řešení co nejstabilnější a bezúdržbové, rozhodl jsem se přímo do počítače integrovat veškeré prvky. Jak můžete vidět z fotky, konstrukce je na to téměř ideální. Ve skříni máme dva SMA konektory, které jsou sice původně určené pro WiFi, ale to nám nebrání v tom využít je nové RF moduly – pro SDR a LoRu.

S instalací LoRa koncentrátoru nebyl žádný problém. Sehnal jsem modul Mikrotik R11e LORA8 (868 MHz verze), který komunikuje přes vyvedené USB piny v mini PCI-E konektoru. To znamená, že jsem jej jednoduše vyměnil za WiFi kartu, která nebyla potřeba, protože konektivitu do sítě budeme řešit pomocí ethernetu.

Komunikační moduly na zadní straně základní desky

S SDR to bylo trochu horší. Sehnal jsem televizní dongle s kompatibilním čipem a ten prostě nadrátoval do jednoho USB portu a tavící pistolí „naprasil“ tak, aby to mechanicky drželo.

K čemu to vše je?

SDR

Nové řešení momentálně funguje v režimu, že komunikuje s původní konzolí, z ní průběžně získává data a archivuje. Zároveň jako záložní zdroj dat slouží vlastní algoritmus pro dekódování dat přímo ze signálu, který poslouchám pomocí SDR. Ten zatím funguje pouze částečně a ve výsledku umí zjistit z příchozího paketu pouze teplotu. Jak to funguje a jak jsem toto řešil je na další článek. Časem vznikne i veřejný repozitář se zdrojovým kódem.

LoRa

LoRa je obecně bezdrátová technologie pro přenos malého objemu dat na velkou vzdálenost z úspory dat. Dnes se hojně používá v různých IoT věcičkách a i my bychom měli také využití. Jelikož myslíme do budoucnosti, chtěli bychom někdy naši meteostanici rozšířit o několik dalších senzorů, které by přes tuto technologii komunikovali, konkrétně přes protokol LoRaWAN. Jelikož tyto senzory momentálně nemáme, tak by se dalo říct, že je celá tato funkcionalita zatím pouze pro testování.

Co ale funguje, je připojení do komunitní sítě The Things Network. Náš počítač tedy funguje jako brána, která přeposílá přijaté pakety z LoRy na server TTN, kde se řeší celá síťová stránka. Tím jsme vlastně zařídili zvýšení pokrytí části Zlína, kde by jinak nebyla. A vlastně jsme zařídili, že kdykoliv bude chtít třeba někdo z gymplu něco zkoušet s IoT zařízeními, bude mít jednoduchou cestu, jak data posílat napříč internetem.

Kde to běží?

Všechno už se podařilo nastavit a nainstalovat na GJŠ Zlín v environmentální učebně v prvním patře, která je nejbližší místností k meteostanici. Zatím se radujeme ze dvouměsíčního fungování bez sebemenšího výpadku od prvního zapnutí. Tak tedy doufám, že to tak zůstane co nejdéle.

Vesele běžící počítač v učebně

Komentáře

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *