Uživatelské nástroje

Nástroje pro tento web

Překlady této stránky?:

cs:aws

Automatická meteostanice MLAB

Konstrukce je součástí řešení distribuovaných měřících systémů vyvinutých v rámci projektu MLAB. Zařízení má sloužit k plošnému měření na mnoha stanicích zapojených do společné sítě spravované komunitou věnující se konkrétnímu typu měření.

Modelové příklady použití

Automatická meteostanice AWS03A

Instalace

Popsaný postup je otestován na Odroidu C1+ a Odroidu C2.

  1. Nainstalovat Pymlab a ověřit přítomnost senzorů v zapojení
  2. Nainstalovat a nakonfigurovat NGINX
  3. Nainstalovat ROS a vytvořit ~/arom_ws adresář
  4. Nainstalovat AROM a jeho konfigurační soubory
  5. Nainstalovat a nakonfigurovat WeeWX
  6. Vytvořit složku pro konfigurace a nahrát výchozí nastavení
mkdir ~/robozor/station/; cd robozor
cp ~/repos/arom-web_ui/src/config/users.json ~/robozor/users.json

Automatická meteostanice AWS02A

Konstrukce autonomní stanice s vlastní autodiagnostikou. Meteostanice by měla pracovat v odlehlých oblastech společně s dalšími vědeckými přístroji, jako jsou například robotické teleskopy. Nebo jiné měřící stanice.

Typickým problémem těchto aplikací jsou omezené energetické zdroje, krátkodobý přenos dat po dlouhých intervalech. Nutnou vlastností je tak možnost bezprostředního nahlášení poruchy přes úzkopásmový datový kanál, aby nedocházelo k dlouhodobému výpadku měření.

Kromě tohoto technicky stále neúplně vyřešeného problému je dalším důvodem pro vývoj takové stanice absence seriózního OpenSource-hardware řešení pro sběr meteorologických dat a jejich odesílání do veřejné sítě pro další zpracování. OpenWeatherMap 1)

Konstrukce snímačů

V této verzi stanice bylo ustoupeno od pokusů používat standardní komerční snímače vesměs uzpůsobené k vestavění do konkrétní proprietární meteostanice daného výrobce. Místo toho jsou navrhovány vlastní konstrukce snímačů a jejich zakrytování.

Radiační štít

Prvním navrženým snímačem je radiační štít tisknutelný na 3D tiskárně. Štít je navržen v programu OpenSCAD a jeho zdrojové soubory jsou v SVN repozitáři MLABu. Výtisk na následujících snímcích je z biodegradabilního materiálu PLA.

Ultrazvukový anemometr

Tisknutelný mechanický anemometr

  • Rotační část by mohla mít lepší tvar než klasické kuličky. Například: http://www.thingiverse.com/thing:16504 Pak je možné turbínu otočit i vzhůru nohama okolo pouzdra anemometru a snížit tak těžiště rotoru.

Měření srážek

Pyranometr

Software

Struktura meteostanice AWS02B je navrhnuta tak, aby neobsahovala žádný těžko aktualizovatelný a udržovatelný firmware. Získávání dat z jednotlivých senzorů lze pomocí knihovny pymlab.

Implementace ROS

Implementace meteostanice s ROS (Robotic operation system) nabízí spoustu výhod při potřebě získávat data z meteostanice pro jiná zařízení jako zmiňovaná inteligentní budova nebo pro robotický dalekohled.

Tato implementace umožňuje sdílení dat na servery jako Weather underground, Open Weather Map, Weather cloud a další.

Spuštění

Instalace systému je popsána na stránce ROS. Je nutné mít nainstalovaný balík pymlab a ROS_pymlab_server.py pro přístup k i2c senzorům z ROS nodů.

… TODO

Meteo-observer

Při použití meteostanice samostatně, bez návaznosti na další systémy, lze použít softwarový balík WeeWX s meteo-observer.

Automatická meteostanice AWS01B

Tato konstrukce využívá meteorologická čidla ze stanice wh1080. Jejich vyčítání je řešeno Microchip PIC MCU. Od této konstrukce je postupně upouštěno z důvodu špatné dostupnosti náhradních mechanických dílů, jejich kvalitě a omezeným možnostem MCU. Ostatní kvalitní v této konstrukci ověřené snímače jsou však přeneseny do následující verze.

Měřící snímače

Vnější meteočidla

Anemometr

klasická konstrukce anemometru s kalíškovým rotorem.

Generuje impulzy s periodou nepřímo úměrnou rychlosti větru. Výhodou je snadné vyčítání pomocí čítače pulzů a časovače.

Požadavkům snímání rychlosti větru vyhovuje vzorkování 1 Hz, nebo při příchodu impulzu. (Týká se velmi nízkých rychlostí větru a nebo poruchy)

Typické problémy

  • Mechanická degradace
  • Zamrzání
  • Omezení maximální měřené rychlosti větru
  • Zadření2)

Lze řešit jinou technologií např. ionizačním, nebo ultrazvukovým anemometrem.

Směr větru

Základním snímačem je větrná růžice s otočnou korouhví. Poloha praporku je pak snímána jazýčkovými kontakty.

Pozice praporku je měřena a zaznamenávána při změně.

Typické problémy

Podobné, jako u anemometru.

  • Mechanická degradace
  • Zamrzání

Řešením je použití sofistikovanějšího anemometru měřícího vektor (Ionizační / ultrazvukový)

Srážky

Klasický člunkový srážkoměr generuje impulz při překlopení člunku. Překlápění není přílíš časté. Proto je vhodnější zaznamenávat okamžik překlopení pro přesnější lokalizaci srážek v čase.

Do tohoto srážkoměru je třeba přidat vytápění a snímač teploty pro regulaci rozpouštění ledu.

Typické problémy

  • Ucpávání, zamrzání

Sněhové srážky

U sněhové pokrývky lze měřit mnoho parametrů a záleží na požadavcích provozovatele meteorologické stanice, které parametry bude měřit.

Tloušťka

Výšku sněhové pokrývky lze měřit dálkoměrem (většinou ultrazvukovým), který měří z definované výšky kolmo na zem. Možné je i použít optický triangulační senzor.

V případě akustického měření by bylo vhodné využít konstrukci ECHO01A.

Mechanické vlastnosti

V případě použití ultrazvukového dálkoměru lze z odraženého signálu odhadnout některé mechanické vlastnosti, jako je tvrdost a tuhost. V případě použití optického dálkoměru může být zajímavým údajem reflexivita sněhové pokrývky, případně i její spektrální závislost.

Příklad zařízení měřícího množství vody ve sněhu je na stránkách sommer.at

Hmotnost

Celková hmotnost sněhové pokrývky je důležitý ůdaj z hlediska bezpečnostních rizik. Tuto veličinu lze měřit odraznou deskou umístěnou pod měřičem výšky sněhové pokrývky. Tato deska může sloužit, jako váha.

Vlhkost

Snímače umístěné v radiačním štítě.

SHT25V01A - čidlo s I²C výstupem a možností self-testu zahřátím měřícího elementu.

Časová kostanta čidel je cca 3s, proto vyhovuje vzorkování uložených dat menší než 10s.

Typické problémy

  • Postupná degradace měřícího elementu
  • Poškození čidla
  • Saturace měřícího elementu a spoždění měření během odpařování vody.

Diagnostikou by měl být self-test v pseudonáhodném čase.

Teplota

Měření teploty vzduchu je jednou z nejdůležitějších funkcí meteostanice, přesto bývá v některých případech provedeno špatně, tak že dochází k ovlivnění měřené teploty například Sluncem. Tento problém lze však řešit použitím tzv. radiačního štítu, který zamezí ovlivnění čidla zářením.

K měření teploty lze kromě klasického čidla DS18B20 využít i modernější snímač LTS01A

Tlak

Magnetometr

Oblačnost

Pokrytí

Výška (ceilometr)

Laserový ceilometr/lidar lze téměř kompletně sestavit z již navržených modulů. Jednodušší alternativou je CLidar.

Radiometr (měření Slunečního svitu)

Měření světelného toku

Použití fotovoltaického článku. Pro změření výkonu záření ve W/m².

UV index

Měření UV indexu pro určení bezpečné expozice. (obdoba UV dozimetru) Lze použít modul ISL02A

Měření intenzity osvětlení

Možné je použít integrované čidlo ISL2902001A

Ionizační detektor

Měření intenzity ionizujícího záření GM, nebo polovodičovým detektorem.

Infrazvukový detektor

Hlukoměr

Limnimetr

Měření výšky hladiny a průtoku.

Chemické snímače

  • Detekce plynů CO, CO2, N2… H2S, CH4.. Sensor AFE
  • PH-metr

Komunikační rozhraní

Meteostanice má několik variant připojení a komunikace s dalšími zařízeními.

RS232/RS485

K připojení lze použít modul RS232SINGLE01A nebo TTLRS48501A a mikrokontroler podle složitosti požadované aplikace.

Ethernet

Wifi router

Použití routeru s operačním systémem OpenWrt je jednou z nejuniverzálnějších metod připojení meteostanice, protože umožňuje použití jednak ethernetu, tak i Wifi a dalších rozhraní v podobě modemů, které lze případně k routeru připojit přes USB.

Samotná meteostanice s routerem pak komunikuje přes sběrnici I2C, která je buď vyvedena přímo z desky routeru. A nebo vytvořená převodníkem I²C na USB.

ARM modul

Jako komunikační rozhraní lze v tomto případě využít modul s ARM STM32F10xRxT01A a modul pro ethernet ETH01A. Výhodou oproti řešení s použitím routeru je podstatně menší spotřeba energie a jednodušší konstrukce.

USB

I²C master

V tomto případě se celé zařízení chová jako převodník I²C na USB. A vyčítání jednotlivých čidel je realizováno programem v USB HOST zařízení. Toto řešení má výhodu, že lze získat poměrně přesnou informaci o absolutním čase ve kterém jsou hodnoty změřeny. Navíc změnu softwaru a konfigurace lze udělat jednoduše přímo aktualizací ovládacího programu. Není tedy třeba riskantní výměna firmwaru.

Emulovaný COM port

Meteostanice v tomto případě je připojena přes modul USBRS23201B, který vytváří virtuální rozhraní RS232.

Bezdrátové

Wifi

Viz použití wifi routeru s OpenWRT pro vyčítání dat.

GSM

Pro datový přenos přes GSM, nebo 3G/4G sítě je možné použít modul GSM01A

ISM pásmo

Jde o pásmo industrial, scientific and medical, kde pro datový přenos není vyžadovaná licence. Stavebnice MLAB obsahuje již několik modulů umožňujících použití tohoto pásma.

  • RFM01SMD01A
  • RFM02SMD01A
  • RX433MHz01A
  • TXsaw433MHz01A
  • ZIGBEE01A

Vyčítání měřených hodnot

Předností této konstrukce je možnost připojení různých senzorů. Které jsou inicializovány při každém spuštění stanice. Tato konstrukce využívá I²C sběrnici s modulem I2CHUB02A a předdefinovanou strukturou senzorů. Samotné čtení dat pak probíhá serverem, který je připojen k hardware.

Instalace software

Aktuálně je nejvhodnější použití metody přímého vyčítání čidel z nadřazeného systému přes I²C, neboť existuje značné množství starších nevyužitých wifi routerů s možností přímého připojení I²C.

Lukáš Mičan z klubu Robozor naprogramoval obslužný program, který periodicky vyčítá čidla z meteostanice a naměřené hodnoty publikuje na OpenWeathermap.org.

Tento program je napsaný v jazyce Python a používá knihovnu pymlab pro vyčítání I²C snímačů.

Napájení

  • Z autonomního zdroje, jako např. fotovoltaický panel.
  • Z lokální sítě

Auto diagnostika

Implementovat algoritmy hlídající vzájemné korelace měřených hodnot a detekovat anomálie.

  • Směr větru se nemůže změnit bez indikace rychlosti anemometrem.

Uvažované poruchy

Náhodná mechanická destrukce

Jde o poruchy, které pravděpodobně vzniknou vadou materiál, nebo jeho únavou vlivy okolního prostředí. Jako je degradace teplotními cykly, UV zářením.

Anemometr

Anemometr může být poškozen odlomením jedné, nebo více lopatek, Případně poškozením jeho rotačního uložení. Tento problém by mělo být možné detekovat měřením nepravidelné rychlosti během jedné otáčky.

  • Směr větru
  • Teploměry

Falešný výstup

Týká se čidel:

  • Anemometr - zadření
  • Směr větru - odlomeni praporku
  • Srážky - ucpani
  • Relativní vlhkost

Degradace

Týká se čidel:

  • Teplota
  • Relativní vlhkost

Výpadek napájení

Důsledky

  • Ztráta dat z doby výpadku.

Formát výstupních dat

Datový výstup by měl ideálně být kompatibilní s některým již používaným protokolem na shromažďování meteorologických dat.

  • NMEA
  • RMYT?
  • Přímé vyčítání I²C

Datový výstup by měl obsahovat i přesný čas pro záznam měření. Přesný čas lze získat z GPS01A Výstup z meteostanice by měl podporovat několik sběrnicových systémů (USB, CAN, RS232, RS485, Ethernet), aby bylo možné meteostanici integrovat do dalších složitějších projektů.

Záznam měření

Měřená data z meteostanice by měla mít možnost být zaznamenávána a zobrazována lokálně. Program obsluhující meteostanici by tedy měl buď běžet na lokálním počítači, nebo přímo na řídícím procesoru meteostanice. V takovém případě by meteostanice pravděpodobně vytvářela i webový server, který by poskytoval lokální náhledy na data a zároveň řešil odesílání dat do sběrné sítě.

Zde je vypsáno několik nejrozšířenějších Open-Source programů pro lokální záznam a zpracování meteorologických dat.

zdroj

Ideálním takovým programem by byl nějaký multiplatformní s minimálními provozními nároky na zdroje a s možností odesílání dat do některé celosvětové sítě stanic. Zároveň by data ale měla být lokálně zálohovatelná a kombinovatelná s daty z dalších meteorologických stanic. Například databáze DB-All.e nebo NetCDF

Publikace dat

Automatická meteostanice AWS01A

Měřící snímače

Teplota

Samostatná teplota je měřena čidlem DS18B20

Tlak

Tlak je měřen modulem ALTIMET01A se snímačem MPL115A1

Vlhkost

Pro měření relativní vlhkosti a teploty vzduchu je použito čidlo SHT11 zaletované na univerzálním plošném spoji a dále čidlo SHT25 v modulu SHT25v01A

Anemometr

Anemo-T

Vycitani je realizováno dvěma časovači - jeden je taktován krystalem (timer1) a druhý (timer0) počítá impulzy.

Datový výstup

# AWS01A 0.1 (C) 2013 www.mlab.cz 
# ver seq  temp[K] hum_temp[K] hum[%] bar_temp[K] pressure[hPa] anemo[m/s] check

$AWS0.1 0 29271 29390 64.3 29416 959.4 6.0 *5C
$AWS0.1 1 29271 29390 64.3 29416 961.1 6.3 *53
$AWS0.1 2 29277 29389 64.3 29416 960.7 7.0 *59

Význam jednotlivých veličin je následující:

  • ver je označení zařízení a verze firmware
  • seq je pořadové číslo měření
  • temp[K] je teplota z místního teploměru v setinach Kelvinu
  • hum_temp[K] - teplota 1. čidla vlhkosti
  • hum[%] - relativní vlhkost 1. čidla vlhkosti
  • bar_temp[K] - velmi nepřesná teplota barometru, je zajímavá spíše pro případnou relativní teplotní kompenzaci.
  • pressure[hPa] - tlak měřený barometrem
  • anemo[m/s] - anemometrem měřená rychlost větru.
  • check - kontrolní součet stejný jako ve formátu NMEA

Aktualizace firmware

Firmware lze aktualizovat bez speciální utility pouze odeslánim HEX souboru s firmwarem na sériovou linku procesoru v době, kdy očekává firmware a vypisuje

uf?uf?

Tento stav nastává po resetu zařízení.

Novy firmware pak lze odeslat následujícím příkazem pod účtem roota, nebo uživatelem s absolutním přístupem k sériové lince.

$ echo uf > /dev/ttyUSB0  
ascii-xfr -s -v -l 110 ./firmware.hex > /dev/ttyUSB0

Program ascii-xfr je v Ubuntu součástí balíku minicom. Pro sledování dat při nahrávání je možné si na stejný port spustit příposlech:

picocom /dev/ttyUSB0

Použití meteostanice

  • BART Ondřejov
  • dalekohled D50 (Ondřejov)

Reference

cs/aws.txt · Poslední úprava: 2017/06/23 21:18 (upraveno mimo DokuWiki)