Studentská tvůrčí a odborná činnost
STOČ 2015
PROGRAMOVATELNÝ PRVEK SYSTÉMU INTELIGENTNÍ DOMÁCNOSTI
Lukáš SMOLKA
Vysoká škola báňská – Technická univerzita Ostrava 17. listopadu 15/2172 708 33 Ostrava-Poruba
20. dubna 2015 VŠB-TU v Ostravě
STOČ 2015 - Studentská tvůrčí a odborná činnost 20. dubna 2015, VŠB-TU v Ostravě
Klíčová slova: Z-wave, Arduino, Fibaro, senzor, PS/2, Vera, webové rozhraní Anotace: Cílem této práce je vytvořit programovatelný prvek do inteligentní domácnosti. Tato domácnost funguje pomocí sítě Z-wave. Prvek bude představovat vývojová deska Arduino, která bude programovatelná. Svůj program, který se nahraje skrze vývojové prostředí Arduino, bude posílat do Z-wave sítě. Samozřejmě, že takto přímo to nepůjde. Arduino deska bude komunikovat s universálním binárním senzorem od společnosti Fibaro. Tento senzor obsahuje dva vstupy a dva závislé výstupy. Dále obsahuje připojení na binární teplotní čidla. Vývojová Arduino deska bude na tento senzor připojena a senzor bude se Z-wave sítí komunikovat. Díky tomuto senzoru můžeme sledovat funkčnost vývojové desky ve webovém rozhraní Z-wave. Všechny prvky Z-wave sítě včetně universálního binárního senzoru jsou připojeny k primárnímu Z-wave řadiči, který obsahuje výše zmíněné webové rozhraní.
2
STOČ 2015 - Studentská tvůrčí a odborná činnost 20. dubna 2015, VŠB-TU v Ostravě
OBSAH Úvod ....................................................................................................................... 4 Síť Z-wave ............................................................................................................. 5 2.1 Přidání či odebrání zařízení ................................................................................... 6 2.2 Další funkce Z-wave řadiče ................................................................................... 6 2.3 Přenosný řadič v praxi ........................................................................................... 7 3 Deska Arduino a její vývojové prostředí ............................................................... 8 3.1 Arduino Proto Shield ............................................................................................. 8 3.2 Arduino Software ................................................................................................... 8 4 Fibaro universální binární senzor......................................................................... 10 5 Praktická úloha..................................................................................................... 11 6 Závěr .................................................................................................................... 13 Literatura ......................................................................................................................... 14 1 2
3
STOČ 2015 - Studentská tvůrčí a odborná činnost 20. dubna 2015, VŠB-TU v Ostravě
1
ÚVOD
Cílem této práce bylo zprovoznit vlastní programovatelný prvek, v mém případě v podobě Arduino vývojové desky, který bude komunikovat se Z-wave sítí. Tato síť je vlastně bezdrátový komunikační protokol zajišťující komunikaci mezi zařízeními v inteligentní domácnosti. Arduino deska samotná na tomto protokolu nekomunikuje, tuto komunikaci zajišťuje „Fibaro brána“, která je reprezentována Z-wave Fibaro univerzálním senzorem. Ten komunikuje se Z-wave řadičem, který díky svému webovému rozhraní dokáže zobrazit děje probíhající v Z-wave síti. Arduino deska na tento senzor posílá z výstupů signály, které senzor zpracuje a vyšle pomocí Z-wave protokolu. Mnou zpracovaná praktická úloha spočívá v tom, že na klávesnici, která je napojená na Arduino desku, zadáme heslo a Arduino deska, díky implementovanému programu vyhodnotí, zda-li bylo správné, či ne. Po vyhodnocení sepne příslušný pin, který přečte Fibaro brána a pošle do řadiče. Ten sepne koncový prvek, který si zvolí sám uživatel. Může to být například zámek u dveří, či nějaký alarm.
4
STOČ 2015 - Studentská tvůrčí a odborná činnost 20. dubna 2015, VŠB-TU v Ostravě
2
SÍŤ Z-WAVE
Na obr. 1 můžeme vidět, jak vypadá primární řadič, který slouží k samotnému založení domácí sítě Z-wave.
Obr.1 - Vera Lite server
LED diody indikují stav řadiče, první z nic indikuje, zda-li je řadič zapnutý, druhá indikuje, zda je řadič připraven a třetí z LED diod ukazuje, jestli je řadič připojen k síti. Řadič může být napájen ze sítě nebo může fungovat na baterie. Pomocí webového rozhraní můžeme celou Z-wave síť ovládat. Jsou zde funkce na přidávání či odebíraní zařízení.
5
STOČ 2015 - Studentská tvůrčí a odborná činnost 20. dubna 2015, VŠB-TU v Ostravě
Obr. 2 - Webové rozhraní Vera Lite
2.1
Přidání či odebrání zařízení
Pokud chceme přidat či odebrat zařízení, musíme udělat vše ve webovém rozhraní. Vybereme si zařízení, které chceme přidat. Řadič nám dává na výběr určité možnosti. Jaké bude mít koncové zařízení užití, a v těchto možnostech ještě vybíráme výrobce. Pokud naše koncové zařízení vyrobil výrobce, který není v možnostech, vybereme jednoduše možnost obecné Zway zařízení. Na koncovém zařízení zapneme inclusion mode, postup je vždy v přiloženém návodu. U většiny zařízení se mačká třikrát během určitého časového intervalu on/off tlačítko. Ve webové aplikaci řadiče spustíme vyhledávání a zařízení se přidá automaticky, samozřejmě se zeptá na určité konfigurační informace. 2.2
Další funkce Z-wave řadiče
Zařízení se dají rozdělit do různých lokací, dokonce i do různých pokojů. Na svůj řadič můžeme stáhnout různé aplikace, které se o naši domácnost budou starat za nás. Pokud máme napojené kamery v Z-wave síti, v sekci „cameras“, můžeme sledovat obraz.
6
STOČ 2015 - Studentská tvůrčí a odborná činnost 20. dubna 2015, VŠB-TU v Ostravě
Obr. 3 - Kamery ve webovém rozhraní
2.3
Přenosný řadič v praxi
Jako přenosný řadič může sloužit například náš smartphone. Pomocí stažené aplikace se dokážeme napojit na náš primární řadič. V aplikaci máme omezený počet funkcí. Ale základní funkce jako je ovládání zařízení, rozdělování zařízení do pokojů a kontrolu sítě k dispozici máme. Samozřejmě musíme být připojeni do stejné sítě pomocí wifi.
Obr. 4 - Prostředí mobilní aplikace
7
STOČ 2015 - Studentská tvůrčí a odborná činnost 20. dubna 2015, VŠB-TU v Ostravě
3
DESKA ARDUINO A JEJÍ VÝVOJOVÉ PROSTŘEDÍ
V této kapitole popíšu blíž desku, kterou jsem si vybral k dalšímu postupu. Jedná se o desku Arduino Due. Deska obsahuje 54 digitálních vstupních resp. výstupních pinů, dále 12 analogových vstupů. Deska se jednoduše připojí pomocí USB kabelu k počítači a okamžitě se může začít pracovat. Díky připojení pomocí USB je pracovní napětí 5V.
Obr. 5 - Deska Arduino Due
3.1
Arduino Proto Shield
Tento modul je určen pro tvorbu vlastního příslušenství k vývojovým deskám Arduino. Na modul můžeme ku příkladu přidat adaptér na SD kartu, či wifi adaptér, atd… V mém případě to jsou dvě LED diody, piezobzučák a konektor pro připojení PS/2 klávesnice.
Obr. 6 - Modul Proto Shield
3.2
Arduino Software
Je to takzvaný open-source, což znamená, že software má otevřený zdrojový kód, může jej využívat kdokoliv. Tento software nám umožňuje psát zdrojové kódy a následně je nahrát na vývojovou desku. Software běží na všech nejznámějších platformách (Windows, MAC OS, Linux). Vývojové prostředí je vyvinuto v Javě a může být použito k naprogramování jakékoliv Arduino desky. Samotný software nám poskytuje nejrůznější usnadnění. Můžeme si vybrat různé předpřipravené příklady kódu. Nejjednodušším příkladem je možnost „BLINK“, tento kód zapíná a vypíná LED diodu v určitých časových intervalech v nekonečné smyčce. 8
STOČ 2015 - Studentská tvůrčí a odborná činnost 20. dubna 2015, VŠB-TU v Ostravě
Obr. 7 - Vývojové prostředí Arduino s příkazem Blink
9
STOČ 2015 - Studentská tvůrčí a odborná činnost 20. dubna 2015, VŠB-TU v Ostravě
4
FIBARO UNIVERSÁLNÍ BINÁRNÍ SENZOR
Je to modul, který umožňuje zlepšit funkcionalitu jakéhokoliv snímače s binárním výstupem tím, že umožní komunikaci s bezdrátovou sítí Z-wave. Mimo to umožňuje komunikaci mezi teplotními čidly DS18B20 a primárním řadičem Z-wave sítě.
Obr. 8 - Teplotní čidlo DS18B20
Tento senzor může být také použit ve vlhkém prostředí, či v prostředí s vysokou teplotou. Tento senzor je instalován zejména v místech, kde je potřebný bezdrátový sběr dat z čidel. Hlavní funkce je integrace do Z-wave sítě. Senzor obsahuje dva binární vstupy a dva na nich závislé výstupy. Taktéž obsahuje vstupy na teplotní čidla DS18B20 (jdou připojit až čtyři tyto čidla).
Obr. 9 - Universální binární senzor
10
STOČ 2015 - Studentská tvůrčí a odborná činnost 20. dubna 2015, VŠB-TU v Ostravě
5
PRAKTICKÁ ÚLOHA
Na svou vývojovou desku Arduino Due jsem přidal příslušenství, jako jsou dvě LED diody, piezobzučák a PS/2 konektor pro připojení klávesnice.
Obr. 10 – Arduino Duo + Shield s příslušenstvím
Ve vývojovém, prostředí Arduino jsem vytvořil program, který rozsvítí zelenou diodu po zadání správného hesla pomocí klávesnice. Pokud není zadané heslo správné, rozsvítí se druhá bílá dioda, společně s rozsvícením vyšle piezobzučák zvukový signál, to vše po dobu tří sekund. Hned po této proceduře se může zadávat nové heslo. Druhý program rozsvítí pouze zelenou diodu, a to po stisku a přidržení klávesy TAB (samozřejmě lze nastavit na jakoukoliv jinou klávesu). Po uvolnění klávesy se dioda zhasne. Výstupy, které jsou napojeny na diody, se přivedou do universálního senzoru Fibaro, který již komunikuje s naší Z-wave sítí. Ve webovém rozhraní si tyto výstupy už jen pojmenujeme. Program s heslem můžeme využít například k vchodovým dveřím u domu. Výstup zelené diody by otevíral zámek a druhý výstup by spouštěl například již připojený piezobzučák. Přirozeně by šel program upravit, tak aby byl uživatelsky příjemnější, například po zadání heslo třikrát špatně by odeslal upozornění majiteli domu na mobilní telefon. To vše už by záleželo na domluvě se spotřebitelem. Druhý program by se dal využít v panelových domech na otevírání hlavních dveří, namísto mačkání nějakého mechanického tlačítko by uživatel mačkal tlačítko na svém smartphonu. Spojení znázorňuje obrázek pod textem.
11
STOČ 2015 - Studentská tvůrčí a odborná činnost 20. dubna 2015, VŠB-TU v Ostravě
Obr. 11 - Spojení PS/2 klávesnice s Arduinem
Klávesnice s Arduinem je pomocí výstupů, které jsou na diodách, spojen s binárním senzorem Fibaro. A ten je pomocí bezdrátové Z-wave komunikace připojen na primární Vera řadič.
12
STOČ 2015 - Studentská tvůrčí a odborná činnost 20. dubna 2015, VŠB-TU v Ostravě
6
ZÁVĚR
Zpracoval jsem praktickou úlohu, která zajišťuje komunikaci Arduino vývojové desky se sítí Z-wave. Na vývojové desce je nahraný mnou vyvinutý program, zajišťující kontrolu zadaného hesla. Komunikaci klávesnice a Arduino desky zajišťuje PS/2 rozhraní instalovaný na Arduino Shield. Pokud je heslo zadáno správně deska vyšle signál na pin třináct, což zajistí rozsvícení zelené LED diody, v opačném případě se pomocí pinu dvanáct rozsvítí bílá LED dioda a zazní zvukové upozornění. Díky Fibaro bráně se tyto signály odešlou do Z-wave sítě, která zajistí požadovanou činnost v inteligentní domácnosti.
13
STOČ 2015 - Studentská tvůrčí a odborná činnost 20. dubna 2015, VŠB-TU v Ostravě
LITERATURA [1] [7] Arduino [online]. 2015 [cit. z: http://arduino.cc/en/ArduinoCertified/HomePage
2015-02-12].
Dostupné
[2] [8] Arduino sensor plugin. MIOS [online]. 23.3.2014 [cit. 2015-02-21]. Dostupné z: http://code.mios.com/trac/mios_arduino-sensor
14