Meteorologická stanice v naší vzdálené laboratoři neslouží pro předpověď počasí. Stanice je především určena pro vzdálené sledování podmínek v laboratoři. Nemá pro nás tedy cenu měřit kupříkladu rychlost větru nebo výšku sněhové pokrývky. V našem vzdáleném experimentu (meteorologické stanici) jsme se zaměřili jen na měření tří základních meteorologických veličin – teplotu (v laboratoři), tlak vzduch (ten přepočítáváme na hladinu moře) a relativní vlhkost. Celou touto úlohou chceme ukázat jednoduchost stavby vzdáleného experimentu a motivovat tak další tvůrce ke stavbě obdobně koncipovaného vzdáleného experimentu, který je postaven na modulu Arduino s rozšiřujícím blokem Ethernet Shield (viz sekce Pro vývojáře).
Uvědomovali jsme si, že nejnáročnějším okamžikem při tvorvě vzdáleného experimentu je naprogramování vzdáleného přístupu k modulu Arduino a také ovládání připojených čidel. Ne každý nadšenec pro vytvoření vzdálené úlohy musí být zběhlý v programování modulu Arduino a ještě být hned schopen vytvořit řídicí server. Z tohoto důvodu jsme začali hledat nějaké jednoduché řešení, jak modul Arduino programovat. Východiskem se nám stalo „dětské“ vývojové prostředí mBlock. Toto prostředí se na první pohled může zdát, že je spíše primárně zaměřeno na počáteční výuku programování dětí, ale na to pozor! Jeho možnosti mají značný přesah, takže jej lze využít i jako nástroj pro vývoj programů modulu Arduino.
Ve vývojovém prostředí mBlock se program sestavuje graficky pomocí bloků, které do sebe zapadají. Logické skládání funkčních bloků do programové struktury tak nevyžaduje znalost syntaxe jakéhokoliv programovacího jazyka. Toto prostředí též umožňuje importovat mnoho rozšíření pro jednotlivá měřicí čidla a rozšíření modulu Arduino – kupřípadu pro čidlo tlaku vzduchu, teploměr… Prostředí mBlock společně s naším rozšířením pro Ethernet Shield umožňuje vytvořit kód pro vzdálené internetové řízení modulu Arduino. Ovládací program pak vypadá podobně jako ukázkový kousek řidícího programu na obrázku č. 2.
Vzdálená úloha GENIE je naprogramována v prostředí mBlock a ve své podstatě vychází z článku: Internetová meteorologická stanice pro neprogramátory, ve kterém celou stavbu podrobně popisujeme. Pochopitelně pro potřeby této vzdálené laboratoře je úloha oproti článku mírně upravena. Základní princip elektronického zapojení (zde rozšířené o RTC modul reálného času – viz obr. 3) i základní struktura ovládacího programu jsou ale stejné jako ve zmíněném článku. Schéma elektronické části celé aparatury GENIE vidíme na obrázku 3.
Modul Arduino „sendvičově“ propojený s Ethernet Shield (shield na obr. 3 není zobrazen) je spojen se dvěma základními měřicími moduly – modul BMP180 (barometrické čidlo a teploměr) a modul DHT11 (teploměr a čidlo relativní vlhkosti). Aby bylo možné načítat měřené hodnoty ve stanovený čas a ukládat je do čtyřiadvacetihodinové historie, je modul Arduino doplněn RTC modulem DS1302 (modul reálného času), který slouží jako záloha času. Pro výstup informací, jako jsou aktuální teplota, barometrický tlak, relativní vlhkost, aktuální čas, přiřazená IP adresa školní sítí a IP adresa právě připojeného klienta, slouží dvouřádkový LCD displej, který je pro jednodušší komunikaci s modulem Arduino doplněn I2C převodníkem. Pro ruční korekci času jako je např. změna letního/zimního času, nebo občasná oprava nestability použitého RTC modulu, slouží trojice tlačítek. Tlačítko SET
vyvolává dialog změny nastavení času, tlačítka HOD
a MIN
pak umožňují tuto změnu vnitřního času modulu Arduino.
Uspořádání celé úlohy vidíte na obrázku 4. Základem je modul Arduino UNO (dole), ve kterém je naistalován ovládací program vytvořený pomocí prostředí mBlock. Shora do modulu Arduino je zasunut internetový modul Ethernet Shield, který zajišťuje konunikaci přes školní LAN s připojenými uživateli na internetu. Do průchozího konektoru modulu Ethernet Shield je v další vrstvě zasunuta základní deska, která je osazena konektory pro měřicí čidla, RTC modul a I2C převodník pro LCD displej. Najdeme zde i trojici ovládacích tlačítek SET, HOD a MIN. Poslední vrstvu tvoří LCD displej spojený s I2C převodníkem a měřící moduly, které jsou nasvislo zastrčeny do konektorů základní desky. Celý blok měřicí aparatury je napájen síťovým adaptérem 9 V/1 A.
Aktuální naměřené hodnoty – na panelu úlohy se zobrazují pravidelně aktualizované hodnoty teploty, místního absolutního tlaku, barometrického tlaku přepočteného na hladinu moře a relativní vlhkosti vzduchu.
Vypočítané informace – z aktuální hodnoty tlaku je odhadnuta předpověď počasí, dále je zde vypočítaná úhlová výška Slunce na obloze, časy slunečního východu a západu a aktuální fáze Měsíce.
Graf historie atm. tlaku (na hladině moře) – graf 24hodinové historie vývoje hodnoty barometrického tlaku přepočteného na hladinu moře.
Graf historie teploty – graf 24hodinové historie vývoje hodnoty teploty v laboratoři.
Graf relativní vlhkosti – graf 24hodinové historie vývoje relativní vlhkosti vzduchu v laboratoři.
Uložení naměřených dat – aktuální hodnoty i 24hodinovou historii všech hodnot lze uložit pro další zpracování v podobě CSV souboru.