Ovládání přes WIFI

 

 

Ovládat fyzikální veličiny z kteréhokoli zařízení a odkudkoli jednoduše přes webové stránky je velmi lákavé a návikové. Toto lze díky využití bezdrátového wifi modulu například ESP8266. To má vekou výhodu v tom, že lze takto ovládat veličiny, aniž by bylo nutné mít poblíž PC, z kterého by se přes USB veličiny ovládaly. Ovládací zařízení disponuje vlastním napájením (adaptér nebo baterie) a může být umístěno kdekoli v dosahu domácí WIFI sítě.

 

Postavené zařízení

Sestavené zařízení ovládá 2 relé, na jejichž kontakty lze připojit jakýkoli spotřebič do 250V/10A. To dovoluje například zapínat světlo, ventilátor nebo čerpadlo na zalévání. Ovládací zařízení může být napájeno přes micro USB kabel z jakékoliv USB nabíječky. Jádro ovládacího zařízení tvoří deska Arduino nano s připojeným wifi modulem esp8266. Relé lze ovládat přes webové rozhraní na PC nebo na chytrém telefonu. Při spínání relé přes web se zároveň čtou hodnoty vstupů a zobrazují na webové stránce jako zpětná kontrola správné funkce zařízení. Ovládání bez potíží funguje přes domácí wifi síť a pro použití odkudkoli je potřeba nastavit na routeru směrování portu a mít u poskytovatele zajištěnou statickou IP. Zařízení není ještě plně optimalizované a ani není zabudované do krabičky. Vše funguje výtečně, jen je potřeba vylepšit webové rozhraní, doplnit časové grafy a graficky ztvárnit zpětnou vazbu.

 

Zkušební webová stránka

Část webové stránky se načítá z ovládacího a monitorovacího zařízení pomocí funkce iframe. Ostatní je načteno z disku počítače a to základní formátování, tlačítka, část těla, hlavička a patička. Po kliknutí na jedno z tlačítek je invertován požadováný výstupní pin. Na ukázce dole je vidět, že všechny piny mají aktuální hodnotu 0. Zároveň se čtou data z čidel: jednoho kombinovaného DHT22 teplota/vlhkost a jednoho samostatného teplota DS18B20. Důležité je vzhledem k omezené paměti SRAM v mikrokontroléru ATmega ukládat veškeré html řetězce do paměti flash.

 

NodeMCU – esp8266 12E

Další postup bude využití modulu nodeMCU. Tento modul pracuje na frekvenci 80 MHz, paměť flash má velkou 4096KB a je vybaven paměťi sdram o velikosti 96KB. NodeMCU je tedy z hlediska svých parametrů výkonnější než základní verze Arduino, jelikož je založen na 32 bit mikrokontroléru ARM. Další výhoda tohoto modulu může být spatřena a jeho kompaktnosti. Není zde potřeba připojovat externí wifi modul esp8266 k Arduinu pracujícím s 5V napájením a k tomu vyřešit příslušné napájení 3,3 voltů pro esp8266. Modul nodemcu lze jednoduše programovat přes rozhraní ArduinoIDE s využitím příslušných knihoven. Díky poměrně velké paměti flash lze celé statické stránky i s javascriptem nahrát přímo do modulu. Vyvíjené měřící a ovládací systémy pracující s bezdrátovým rozhraním WiFi budou do budoucna všechny založeny na modulu nodeMCU.

 

Měřicí a ovládací přístroj.

Sestavené zařízení dokáže měřit teplotu a vlhkost ve vitríně potom další dvě teploty například teplotu v místnosti a teplotu venku. Zařízení disponuje dvěma relé, které lze využít pro spínání osvětlení, ventilátorů nebo čerpadel, popřípadě dalších zařízení. Měřící zařízení se nastavuje přes webovou aplikaci, kde lze nastavit i podmínky pro spínání relé. Například relé bude sepnuto při překročení spodní úrovně osvětlení z venku (spínání osvětlení) nebo bude sepnuto relé při překročení horní mezní hodnoty teploty ve vitríně (spínání ventilátoru). Aktuální hodnoty jsou zobrazeny též na webových stránkách načtených přímo z měřicího zařízení a relé online ovládat také z těchto stránek. Zařízení ukládá naměřená data na paměťovou kartu microSD a po načtení stránek data vykreslí do SVG grafu. Správnou funkci zařízení indikuje malý OLED displej, který také zobrazuje aktuální IP adresu. Ukázka webové stránky, která je generována přímo zařízením – není potřeba žádný externí soubor, je níže.

 

Ukládání dat a ovládání relé přes vzdálený server.

Předchozí koncept, kde webové stránky generuje přímo měřicí zařízení je velmi omezený svou velikostí. Nikdy nejsme schopni do tak jednoduchého zařízení nahrát rozsáhlejší web a pokud se nám to povede, je výpis naměřených hodnot a celý chod webu velmi pomalý. Navíc další omezení tkví v omezené dostupnosti webových stránek odkudkoli a špatné bezpečnosti. Výhoda je ta, že nepotřebujeme žádnou třetí stranu a ani přístup k internetu, pokud nám stačí ovládat zařízení v rámcí domácí wifi sítě.

Druhý koncept počítá s tím, že meřicí zařízení bude pouze odesílát data na vzdálený server a tam budou data uložena do databáze. Na serveru běží dynamický web a ten data načte z databáze, zpracuje a zobrazí v časových grafech, podobně jak to dělá thingspeak. I když tento koncept vyžaduje třetí stranu (vzdálený server)a přístup k internetu, je tento způsob komunikace nejrozšířenější.