Mobilná aplikácia pre riadiacu jednotku inteligentnej budovy
29. Jún, 2016, Autor článku: Bučko Radoslav, Elektrotechnika
Ročník 9, číslo 6
Pridať príspevok
Tento článok popisuje samostatný, nízko nákladový inteligentný domáci systém, ktorý je založený na platforme Arduino komunikujúce s Androidovou aplikáciou a zariadeniami, ako sú vypínače, svetlá, snímače teploty, snímače vlhkosti, senzory narušenia budovy. Všetky tieto zariadenia boli integrované do systému za účelom preukázať uskutočniteľnosť a účinnosť navrhovaného systému inteligentnej domácnosti.
1. Úvod
Riadiaci systém v inteligentnej budove riadi pomocou centrálnej riadiacej jednotky všetky technológie a systémy. Využíva informácie zo všetkých snímačov, sleduje a ovláda teplotu, osvetlenie v jednotlivých miestnostiach. Ovládanie je riešené pomocou dotykových LCD displejov alebo tlačidlových vypínačov. Centrálna riadiaca jednotka monitoruje celý dom alebo byt, dokáže zasielať správy a umožňuje aj diaľkové ovládanie cez mobilný telefón. Tento systém má vlastný zdroj záložného napájania, aby bol schopný pracovať bez prerušenia pri výpadku elektrického prúdu.
Obr.1 Bloková schéma riadiacej jednotky
2. Návrh riadiacej jednotky
Bloková schéma riadiacej jednotky pre inteligentný dom sa nachádza na obrázku 1. Základ riadiacej jednotky je open-source platforma Arduino, konkrétne doska Arduino Mega. Na tejto doske sa nachádza 8-bitový mikroprocesor Atmega od spoločnosti Atmel. Táto platforma je stvorená na jednoduchý vývoj elektronických programovateľných zariadení a ovládacích aplikácií.
Dotykový displej
Ako už bolo spomenuté ovládanie systému sa realizuje pomocou dotykového displeja alebo mobilnej aplikácie.
Dotykový displej s rozlíšením 320 x 240 slúži na zobrazovanie a nastavenie požadovaných hodnôt napr. teploty alebo jasu podľa požiadaviek užívateľa. Pri použití dotykového displeja nám automatický odpadá potreba klávesnice. Ďalšou nemenej dôležitou časťou inteligentného systému sú snímače. V tomto systéme sú použité rôzne druhy snímačov, napr. snímače teploty DS18B20, pohybový PIR snímač HC-SR501, magnetické kontakty, snímač osvetlenia – fotorezistor.
Fotorezistor
Fotorezistor je polovodičová súčiastka, ktorej odpor závisí na osvetlení. Svetlo (fotóny) dodávajú energiu elektrónom vo válenčnom pásme a tieto elektróny potom môžu prekonať zakázané pásmo a stať sa voľnými. Často sa používajú na detekciu zmeny osvetlenia (napr. zapnutie svetiel pri zotmení). Odpor fotorezistora FW 200 (obr. 3) pri 10 LUX je typicky 8,3 kΩ. Odpor 1 sekundu po vypnutí osvetlenia 10 lux je 85kΩ and 5 sekúnd po vypnutí osvetlenia 10 lux je to už 255kΩ.
Obr. 3 Teplotný snímačr FW 200[1]
Snímač teploty
Dôležitou časťou inteligentného domu je snímanie izbovej teploty a jej riadenie. Dallas DS18B20 (obr. 4) je digitálny teplotný snímač s rozhraním 1-Wire. Tento snímač dokáže merať teplotu v rozsahu od -55°C do +125°C a potrebuje len jeden dátový vodič na komunikáciu s mikrokontrolérom.
Obr. 4 Snímač teploty Dallas DS18B20 [2]
Snímač vlhkosti
Teplota úzko súvisí s vlhkosťou. Použili sme snímač vlhkosti SHT21 (obr. 5) od firmy Sensirion. Je to miniatúrny sensor o veľkosti len 3×3 mm. Integrovaný obvod je továrensky pred kalibrovaný and komunikuje s mikroprocesorom pomocou rozhrania I2C.
Obr. 5 Snímač vlhkosti DHT 11 [3]
Akčné členy sú zariadenia, ktoré menia elektrickú energiu na prácu rôzneho typu napr. svetlo, elektrický zámok, motor. Bloková schéma (obr.1) obsahuje aj wifi modul ESP8266 ESP-12, pomocou ktorého sa riadiaca jednotka dokáže pripojiť k internetu a komunikovať s mobilnou aplikáciou. Tento modul a mobilná aplikácia sú detailne popísané nižšie (kapitola IV. a V).
3. Návrh zabezpečenia miestnosti
Miestnosť, pre ktorú sme navrhli a odskúšali zabezpečovací systém sa nachádza v areáli Technickej univerzity v Košiciach, konkrétne na Katedre teoretickej a priemyselnej elektrotechniky. Daná laboratórna miestnosť sa nachádza na prízemí. Miestnosť má len jedno okno a dvere. V laboratórnej miestnosti sú umiestnené pc zostavy, dátový projektor, meracie zostavy a mikrokontroléry. Pre zabezpečenie takejto miestnosti sme použili tieto senzory: kombinovaný senzor PIR a GBS, magnetický senzor na dvere, magnetický senzor na okno. Miestnosť by obsahovala aj vnútornú sirénu pre okamžite odlákanie páchateľa, ovládanie pomocou dotykového displeja pre aktiváciu a deaktiváciu senzorov, ústredňu(riadiaca jednotka), akumulátor ak by došlo k výpadku energie. Nasledujúci obrázok (obr. 6) nám názorne ukáže ako by boli rozmiestnené jednotlivé prvky v miestnosti.
Obr. 6 Návrh zabezpečenia miestnosti a rozmiestnenie senzorov
Popis umiestňovania senzorov: Pre magnetický senzor na dvere sme sa rozhodli z nasledujúceho dôvodu a to, že vo väčšine prípadov (hovoríme o viac ako 80%) sú vlámania do objektu vykonané po prekonaní hlavných dverí. Pre zabezpečenie okna sme použili bezdrôtový magnetický senzor z dôvodu, že páchateľ sa môže chcieť dostať do objektu pomocou vypáčenia okna. Zabezpečená miestnosť obsahuje ešte jeden typ senzora a to je kombinovaný detektor PIR s GBS (detekcia rozbitia skla). Ten slúži na detekciu pohybu v objekte a taktiež na detekciu rozbitia skla.
4. WiFi modul ESP8266
WiFi ESP8266 (obr. 7) je sériový modul vysielača založeného na základe SoC (system on chip). Tento čip má široké vyžitie v rôznych aplikáciách a projektoch napr. domáca automatizácia, priemyselné bezdrôtové ovládanie, senzorové siete a pod. Ponúka kompletné a sebestačné sieťové riešenie, vytvára bezdrôtovú sieť a prepája bezdrôtové komunikačné zariadenia. Jeho vysoký stupeň integrácie umožňuje minimálnu potrebu pripojenia externých obvodov. Používa sa samostatne alebo s mikrokontrolérom ako napr. arduino, teensy a pod. [3]
Vlastnosti:
- Procesor: nízko výkonový 32-bit procesor pracujúci na 80MHz
- Podporuje štandardy: 802.11 b / g / n
- Sieťové funkcie: prístupový bod AP (Acces point ), client
- Pamäť: 64KBytes RAM
- 96KBytes – dátovej pamäte RAM
- 64KBytes – boot-ovacej ROM
- Vstupy/Výstupy: 12
- Rozhrania: SPI, UART, I2C
- Funkcie: ADC, PWM
- Spotreba: v stand-by režime < 1.0mW
- Napájanie 3,3V
Obr. 8 Programovanie ESP8266 [5]
Programovanie ESP8266
Schéma zapojenia wifi modulu k USB sa nachádza na obr.8. Pre pripojenie a programovanie musí byť použitý prevodník napäťových úrovni USB/TTL. Wifi modul má dva režimy. V normálnom režime má pin GPIO0 pripojený k napájaciemu napätiu VCC. Pri programovaní musí byť pin GPIO0 pripojený k GND, v tomto zapojení sa nachádza v programovacom režime.
Čísla digitálnych vstupno/výstupných pinov pri programovaní vo vývojovom prostredí Arduino priamo zodpovedajú číslam GPIO pin, ktoré môžete vidieť na obrázku 9. Digitálne piny 0-15 môžu byť nastavené ako vstupy alebo výstupy. Funkcia digitalRead nám vráti danú logickú úroveň. Pomocou funkcie digitalWrite nastavíme na danom výstupnom pine logickú úroveň. Prerušenia sú podporované prostredníctvom funkcií attachInterrupt, detachInterrupt. Prerušenie môžu byť viazané na ktorýkoľvek pin GPIO, s výnimkou GPIO16. Piny môžu slúžiť aj ako rozhranie napr. Serial, I2C, SPI. Tieto funkcie sú zvyčajne aktivované príslušnou knižnicou. ESP8266 má jeden analógový pin ADC, ktorý môže byť použitý buď na čítanie napätia na tomto pine, alebo čítanie napájacie napätie modulu (VCC). Čítať externé napätie môžeme v rozsahu 0 – 1.0V. Ak chceme merať napájacie napätie, musí byť ADC pin nezapojený.
Serialová komunikácia modulu s Arduinom
Ako už bolo spomínané v návrhu riadiacej jednotky, tento modul komunikuje s arduino doskou pomocou seriálovej komunikácie rovnakým spôsobom ako Arduino doska s počítačom. Toto rozhranie využíva piny GPIO1 (TX) a GPIO3 (RX).
5. Mobilná aplikácia
V tejto časti je popísaná platforma Android, návrh mobilnej aplikácie a jeho vývojové prostredie.
Platforma Android
Android je rozsiahla open-source platforma, ktorá vznikla predovšetkým pre mobilné zariadenia (smartfóny, PDA, navigácie, tablety). Zahŕňa v sebe operačný systém, ktorý je založený na systéme Linux, užívateľské rozhranie a aplikácie. Nástroje a API (application programming interface) potrebné pre vývoj androidových aplikácií sú obsiahnuté v Android SDK (software development kit). Používa sa programovací jazyk Java, ale je možné vytvárať aj vlastné knižnice v jazyku C/C++.
Pri vývoji tejto platformy boli brané do úvahy obmedzenia, ktorými disponujú klasické mobilné zariadenia ako výdržbatérie, menšia výkonnosť a málo dostupnej pamäte. Zároveň systém Android bol navrhnutý pre chod na rôznych zariadeniach. Systém tak môže byť použitý bez ohľadu na použitý chipset, veľkosť či rozlíšenie obrazovky. Platforma má nevýhodu v tom, že existuje viac verzií OS Android a vyvinutá aplikácia nemusí fungovať na všetkých verziách operačného systému Android. Mobilné aplikácie sú pre platformu Android dostupné v elektronickom obchode Google Play. [7]
Obr. 10 Vývojové prostredie Android Studio
Popis aplikácie
Aplikácia Inteligentný dom bola navrhnutá pre OS Android. Prostredníctvom tejto aplikácie je užívateľ schopný vzdialene riadiť a kontrolovať technológie v svojom dome. Z pohľadu komunikácie môže aplikácia vystupovať v pozícií klienta. Aplikácia obsahuje grafické menu (obr.11 vľavo), ktoré sa vysúva z ľavej strany obrazovky a obsahuje päť priečinkov(osvetlenie, vykurovanie, počasie, zabezpečenie a nastavenie). Užívateľ dotykom aktivuje príslušne menu.
Pre samotné ovládanie osvetlenia (obr.11 vpravo) sú k dispozícií príslušné tlačidla, prostredníctvom ktorých môže užívateľ zapínať, vypínať prípadne tlmiť svetlá, ktoré sú nato určené. Informácie o aktuálnom stave svetiel má užívateľ priamo na obrazovke mobilného zariadenia. Táto aktualizácia stavu sa vykonáva automaticky, prvýkrát pri načítaní aplikácie. Užívateľ má možnosť vykonať túto aktualizáciu aj ručne pomocou tlačidla – Aktualizácia. Aktualizovanie stavu sa dá vykonať iba pre svetlá, ktoré majú dve polohy on/off. Pre svetlá, ktoré sa dajú stmievať nevieme zistiť presnú hodnotu osvetlenia, ktorá je nastavená ručne na stmievači.
V menu vykurovanie si užívateľ nastavuje a kontroluje teplotu jednotlivých miestností. Hodnota zo snímačov je opakovane posielaná v určitom časovom intervale. V priečinku zabezpečenie (obr. 12 vpravo). sa zobrazujú hodnoty zo senzorov, ktoré majú na starosti bezpečnosť celého objektu. Sú to najmä pohybové a kontaktné snímače ale aj detektor dymu. Okná a dvere sú snímané magnetickými kontaktmi a ich stav je zobrazovaný na obrazovke. Stav detektora pohybu a požiaru je vyobrazený výkričníkom v trojuholníku. Keď senzory pohybu alebo požiaru zaznamenajú nebezpečenstvo čiernobiely obrázok sa zmení na farebnú. Pri aktivácii bezpečnostného režimu sa snímače aktivujú. Ak dôjde k narušeniu, užívateľ je okamžite informovaný správou.
V menu počasie sa nachádzajú informácie o aktuálnom počasí (obr. 12 vľavo). Tieto údaje sa sťahujú od internetového poskytovateľa dát Yahoo. Tieto dáta dostaneme ako odpoveď servera vo formáte JSON, ktoré následne aplikácia spracuje a vyseparuje potrebné informácie. Príklad dát vo formáte JSON:
{
"sys":{"country":"SK","sunrise":1369769524,"sunset":1369821049},
"weather":[{"id":804,"main":"clouds","description":"overcast clouds"}],
"main":{"temp":28.5,"humidity":65,"pressure":1013, "temp_min":28.4, "temp_max":29.0}
}
Obr. 11 Ukážka mobilnej aplikácie (vľavo – hlavné menu, vpravo – Osvetlenie)
Obr. 12 Ukážka mobilnej aplikácie (vľavo -Aktuálne počasie, vpravo – Zabezpečenie)
6. Záver
V tomto článku je popísaný návrh inteligentného systému založeného na platforme Arduino, komunikujúcej prostredníctvom wifi modulu s mobilnou aplikáciou, pomocou ktorej je možné ovládať technológie v domácnosti na diaľku. Akýkoľvek mobilný telefón so systémom android je možné použiť na inštaláciu aplikácie inteligentný dom. Veľkou výhodou takéhoto systému oproti komerčným riešeniam sú veľmi nízke náklady.
Literatúra
- [1] Optical Sensors, [online] 20.05.2011. [cit 2016-04-15]. Dostupné na internete:
http://www.tme.eu/en/Document/87635cc5df0a0233548b9300450c47dc/FW300.pdf - [2] Maxim Integrated: DS18B20 Programmable Resolution 1-Wire Digital Thermometer [online]. 2008. [cit 2014-12-01]. Dostupné na internete:
http://datasheets.maximintegrated.com/en/ds/DS18B20.pdf - [3] Datasheet SHT21, [online]. 20.05.2011. [cit 2016-04-14]. Dostupné na internete:
https://www.sos.sk/productdata/87/91/7/87917/SHT21.pdf - [4] NURDs: ESP8266 [online]. Dostupné na internete:
https://nurdspace.nl/ESP8266 - [5] Programovanie ESP8266 zdroj:
http://1.bp.blogspot.com/177WucwX_SE/VcfxSkMN_bI/AAAAAAAAA_c/k2LJbPBOxpE/s1600/Flashing%2Besp8266-12.png - [6] Rozloženie pinov zdroj:
http://esp8266.github.io/Arduino/versions/2.0.0/doc/reference.html - Vanderka Marián: Platforma Android. [online]. 20.05.2011. [cit 2016-05-14]. Dostupné na internete:
http://www.posterus.sk/?p=10653