• Nebyly nalezeny žádné výsledky

ˇCesk´e vysok´e uˇcen´ı technick´e v Praze Fakulta elektrotechnick´a Katedra mˇeˇren´ı

N/A
N/A
Protected

Academic year: 2022

Podíl "ˇCesk´e vysok´e uˇcen´ı technick´e v Praze Fakulta elektrotechnick´a Katedra mˇeˇren´ı"

Copied!
63
0
0

Načítání.... (zobrazit plný text nyní)

Fulltext

(1)

Cesk´ ˇ e vysok´ e uˇ cen´ı technick´ e v Praze

Fakulta elektrotechnick´a Katedra mˇeˇren´ı

Framework pro ovl´ ad´ an´ı technologi´ı budov s lok´ aln´ı nab´ıdkou sluˇ zeb

leden 2017 Diplomant: Bc. Martin Vystrˇcil

Vedouc´ı pr´ace: doc. Ing. Jiˇr´ı Nov´ak, Ph.D.

(2)

Podˇ ekov´ an´ı

R´ad bych podˇekoval pˇredevˇs´ım vedouc´ımu diplomov´e pr´ace doc. Ing. Jiˇr´ımu Nov´akovi, Ph.D.

za pravideln´e konzultace a vˇecn´e pˇripom´ınky v r´amci nich. V neposledn´ı ˇradˇe velice dˇekuji sv´e

(3)

Prohl´ aˇ sen´ı autora pr´ ace

Prohlaˇsuji, ˇze jsem pˇredloˇzenou pr´aci vypracoval samostatnˇe a ˇze jsem uvedl veˇsker´e pouˇzit´e informaˇcn´ı zdroje v souladu s Metodick´ym pokynem o dodrˇzov´an´ı etick´ych princip˚u pˇri pˇr´ıpravˇe vysokoˇskolsk´ych z´avˇereˇcn´ych prac´ı

V Praze dne . . . .

(4)
(5)

Anotace

Diplomov´a pr´ace se zab´yv´a n´avrhem a v´yvojem frameworku pro ovl´ad´an´ı technologi´ı budov s lok´aln´ı nab´ıdkou sluˇzeb v z´avislosti na aktu´aln´ı poloze uˇzivatele. V pr´aci je provedena z´akladn´ı reˇserˇse syst´em˚u, kter´e jsou v dobˇe psan´ı pr´ace bˇeˇznˇe dostupn´e. V pr´aci je proveden detailn´ı rozbor pouˇzit´ych hardwarov´ych souˇc´astek. Detailn´ı popis vyvinut´eho software a popis principu urˇcov´an´ı polohy uˇzivatele. V pr´aci je rovnˇeˇz diskutov´ano chov´an´ı syst´emu v re´aln´em testovac´ım zapojen´ı.

Kl´ıˇ cov´ a slova

lok´aln´ı nab´ıdka sluˇzeb, poloha, ovl´ad´an´ı technologi´ı, framework

Summary

The object of this diploma thesis is building technology control framework with local service offer based on the location of user. Basic research of commonly used system was done at the begining of this thesis. Whole concept of the system is based on this research. There is detailed description of used hardware and software used for such system. In the text there is also descrip- tion of algorithm used for locating the user. Discussion about qualities of this system tested in real environment is done.

Keywords

(6)

Obsah

1 Uvod´ 1

2 Reˇserˇse 3

2.1 Rozdˇelen´ı syst´em˚u . . . 3

2.2 Standardy . . . 5

2.2.1 KNX / EIB . . . 5

2.2.1.1 Komunikaˇcn´ı m´edia . . . 6

2.2.1.2 Adresace v s´ıti . . . 6

2.2.1.3 Individu´aln´ı a skupinov´e adresy . . . 6

2.2.1.4 V´yrobci implementuj´ıc´ı technologii KNX . . . 8

2.2.2 LonWorks . . . 8

2.2.2.1 Neuron chip . . . 8

2.2.2.2 Komunikaˇcn´ı m´edia . . . 8

2.2.2.3 Vys´ılaˇce . . . 9

2.2.2.4 Adresace v s´ıti . . . 9

2.2.2.5 V´yrobci implementuj´ıc´ı technologii LonWorks . . . 10

2.2.3 CIB . . . 10

2.2.3.1 Adresace v s´ıti . . . 10

2.2.3.2 V´yrobci implementuj´ıc´ı technologii CIB . . . 11

2.3 Shrnut´ı . . . 11

3 Z´akladn´ı koncepce syst´emu 11 4 Syst´emov´y n´avrh 13 4.1 Lokalizace uˇzivatele . . . 13

4.2 Infrastruktura . . . 14

5 Implementace 15 5.1 HW n´avrh ˇreˇsen´ı . . . 15

5.1.1 R´ıdic´ı poˇˇ c´ıtaˇc . . . 15

5.1.2 V´yvojov´e desky . . . 16

5.1.3 Stabiliz´ator napˇet´ı . . . 17

5.1.4 OneWire sbˇernice . . . 17

(7)

5.1.6 Bluetooth rozhran´ı . . . 18

5.1.6.1 Bluetooth modul . . . 19

5.1.7 Vstupnˇe - v´ystupn´ı rozˇsiˇruj´ıc´ı modul . . . 19

5.2 SW n´avrh ˇreˇsen´ı . . . 20

5.2.1 Embedded linux . . . 20

5.2.2 Qt Framework . . . 21

5.2.2.1 Sign´aly . . . 22

5.2.2.2 Sloty . . . 23

5.2.3 Object Handler . . . 23

5.2.3.1 Pˇrenos objekt˚u . . . 23

5.2.4 Communication Handler . . . 24

5.2.4.1 Bluetooth klient . . . 25

5.2.4.2 TCP/IP klient . . . 27

5.2.4.3 Vytvoˇren´ı spojen´ı . . . 28

5.2.5 Database Handler . . . 29

5.2.5.1 Inicializace datab´aze v serverov´e aplikaci . . . 30

5.2.5.2 Inicializace datab´aze v GUI aplikaci . . . 31

5.2.6 Serverov´a aplikace . . . 31

5.2.6.1 Perzistentn´ı ´uloˇziˇstˇe . . . 31

5.2.6.2 Bluetooth server . . . 31

5.2.6.3 TCP/IP server . . . 32

5.2.6.4 Nav´az´an´ı spojen´ı . . . 33

5.2.6.5 Ovˇeˇren´ı uˇzivatele - LDAP . . . 33

5.2.6.6 Ovˇeˇren´ı uˇzivatele - lok´aln´ı . . . 35

5.2.6.7 Pr´ace s identitou uˇzivatele . . . 36

5.2.6.8 R´ızen´ı technologie . . . .ˇ 37 5.2.7 Konfiguraˇcn´ı aplikace . . . 37

5.2.7.1 Horn´ı informaˇcn´ı panel . . . 37

5.2.7.2 Lev´y navigaˇcn´ı panel . . . 38

5.2.7.3 Prav´y panel obsahu . . . 39

5.2.7.4 Panel nastaven´ı vyt´apˇen´ı . . . 39

5.2.8 Uˇzivatelsk´a aplikace . . . 41

5.2.8.1 Rozd´ıly na pˇrihlaˇsovac´ı obrazovce . . . 41

5.2.8.2 Navigaˇcn´ı obrazovka . . . 42

(8)

5.2.8.3 Obrazovka ovl´ad´an´ı termostatu . . . 42

6 Testovac´ı zapojen´ı 43

6.1 Statick´e mˇeˇren´ı s´ıly sign´alu . . . 43 6.2 Dynamick´e chov´an´ı syst´emu . . . 44

7 Z´avˇer 46

A UML diagram ObjectHandler 50

B UML diagram ObjectHandler pro objekt typu User 51

C Testovan´e zapojen´ı syst´emu 52

D Namˇeˇren´e hodnoty testovan´eho zapojen´ı syst´emu 53

(9)

Seznam obr´ azk˚ u

1 Syst´em pˇr´ım´eho ˇc´ıslicov´eho ˇr´ızen´ı . . . 3

2 Sbˇernicov´y syst´em . . . 4

3 Sch´ematick´e zn´azornˇen´ı KNX instalace . . . 5

4 Topologie KNX sbˇernice [2] . . . 7

5 Topologie zapojen´ı s´ıtˇe LON . . . 10

6 Diagram cel´eho syst´emu . . . 12

7 R´ıdic´ı deska Cubieboard2 . . . .ˇ 16 8 Bluetooth modul HM-10 . . . 19

9 Vnitˇrn´ı uspoˇr´ad´an´ı KAQV214 [15] . . . 20

10 Vnitˇrn´ı uspoˇr´ad´an´ı MOC3022 [16] . . . 20

11 Grafick´e zn´azornˇen´ı sign´al - slot [22] . . . 22

12 Minim´aln´ı kostra pˇren´aˇsen´ych dat . . . 24

13 Stavov´y automat pro Bluetooth komunikaci . . . 26

14 Stavov´y automat pro WiFi komunikaci . . . 27

15 Princip nav´az´an´ı spojen´ı . . . 29

16 Pˇr´ıklad dotazu a odpovˇedi pˇri navazov´an´ı komunikace . . . 30

17 Stavov´y automat TCP/IP serveru . . . 34

18 Sch´ema LDAP datab´aze pro testovac´ı ´uˇcely . . . 35

19 Obsah souboru mapov´an´ı skupin na povolen´e operace . . . 36

20 Rozloˇzen´ı pˇrihlaˇsovac´ı obrazovky konfiguraˇcn´ı aplikace . . . 38

21 Rozloˇzen´ı obrazovky ˇr´ızen´ı teploty . . . 40

22 Navigaˇcn´ı a obsahov´a obrazovka uˇzivatelsk´e aplikace . . . 42

23 ObjectHandler abstraktn´ı tˇr´ıda . . . 50

24 UML diagram tˇr´ıdy User . . . 51

25 Testovan´e zapojen´ı syst´emu . . . 52

26 Mˇeˇren´e body v testovan´em zapojen´ı . . . 53

(10)

Seznam tabulek

1 Z´akladn´ı typy podporovan´ych pˇrenosov´ych m´edi´ı . . . 9

2 V´ypis moˇzn´ych akc´ı vykonan´ych na objektech . . . 24

3 V´ychoz´ı hodnoty nastaven´e v pr˚ubˇehu testov´an´ı syst´emu . . . 39

4 Omezen´ı pro nastaven´ı teplotn´ıch ´urovn´ı . . . 40

5 Staticky namˇeˇren´e hodnoty v bodech dle obr´azku 26. . . 44

(11)

1 Uvod ´

R´ıdic´ı syst´ˇ emy jsou v dneˇsn´ı dobˇe bˇeˇznˇe dostupn´e a v ˇradˇe velk´ych budov i implementovan´e.

Nicm´enˇe v pr˚ubˇehu implementace inteligentn´ıho ˇr´ıdic´ıho syst´emy do budovy se velmi ˇcasto stane, ˇze je syst´em pˇretechnizovan´y. Takov´a instalace pak sice nab´ız´ı nespoˇcetn´e moˇznosti, ale stane se velmi obt´ıˇznˇe ovladatelnou. Ovladatelnost syst´emu je zt´ıˇzena pˇredevˇs´ım vysok´ym poˇctem moˇzn´ych nab´ıdek a ovl´adac´ıch prvk˚u, ze kter´ych je nutn´e vybrat ten spr´avn´y.

Tato skuteˇcnost byla podnˇetem k vypracov´an´ı diplomov´e pr´ace s c´ılem vylepˇsen´ı t´eto situace t´ım, ˇze bude doch´azet k nab´ıdce pouze lok´aln´ıch prvk˚u instalace. D´ıky lok´aln´ı nab´ıdce dojde k razantn´ımu sn´ıˇzen´ı poˇctu nab´ızen´ych prvk˚u a t´ım k vyˇsˇs´ı pˇrehlednosti uvnitˇr aplikace. Z´akladn´ım stavebn´ım prvkem syst´emu s podporou lok´aln´ı nab´ıdky je lokalizace uˇzivatele uvnitˇr budovy.

Z´akladn´ı ´uvahou je moˇzn´e doj´ıt k tomu, ˇze rozdˇelen´ı syst´emu na celky menˇs´ı neˇz jednotliv´e m´ıstnosti nem´a smysl. V pˇr´ıpadˇe velk´ych kancel´aˇr´ı, takzvan´ych open office, bude rozdˇelen´ı na m´ıstnosti pouze virtu´aln´ı podle um´ıstˇen´ı jednotliv´ych pracoviˇst’. Poˇzadavek na pˇresnost urˇcen´ı polohy uˇzivatele uvnitˇr budovy tak nen´ı pˇr´ıliˇs vysok´y.

Dalˇs´ı d˚uleˇzitou roli pˇri n´avrhu ˇc´asti syst´emu urˇcen´eho pro lokalizaci uˇzivatele je v´ybˇer tech- nologie, pomoc´ı kter´e bude k lokalizaci doch´azet. V dneˇsn´ı dobˇe chytr´ych telefon˚u je tlak na to, aby bylo moˇzn´e co nejv´ıce technologi´ı budovy ovl´adat pr´avˇe pomoc´ı mobiln´ıch telefon˚u. Prak- ticky se jiˇz nesetk´ame s t´ım, ˇze by nˇekter´y z v´yrobc˚u tˇechto syst´em˚u vyv´ıjel vlastn´ı zaˇr´ızen´ı, kter´e by bylo urˇceno k pˇr´ıstupu k tˇemto technologi´ım. Aby byl syst´em konkurenceschopn´y, je nutn´e vyuˇz´ıt nˇekterou z jiˇz existujic´ıch technologi´ı, kter´ymi bˇeˇzn´e chytr´e telefony disponuj´ı.

Dalˇs´ı nespornou v´yhodou chytr´ych telefon˚u je fakt, ˇze lid´e si jiˇz zvykli m´ıt telefon neust´ale pˇri sobˇe a tak nedoch´az´ı ke sn´ıˇzen´ı uˇzivatelsk´eho komfortu.

Jiˇz pˇri n´avrhu syst´em˚u, kter´e umoˇzˇnuj´ı ˇr´ızen´ı budov je nutn´e poˇc´ıtat alespoˇn s dvˇema z´akladn´ımi body bezpeˇcnosti. Prvn´ım z nich je uv´aˇzen´ı toho, zda jsou si vˇsichni uˇzivatel´e rovni.

Obvykl´a situace vypad´a tak, ˇze existuje hierarchick´a struktura, na jej´ımˇz vrcholu je spr´avce syst´emu a ve spodn´ıch patrech jsou jednotliv´ı uˇzivatel´e. Kaˇzd´emu patru takov´e struktury je moˇzn´e pˇridˇelit jist´a opr´avnˇen´ı. Uˇzivatel˚um s niˇzˇs´ımi pr´avy pak nen´ı umoˇznˇeno pˇrid´avat pˇr´ıpadnˇe odeb´ırat nov´e objekty v syst´emu, ale pouze pracovat s jiˇz pˇripraven´ymi objekty.

Druh´ym bodem je zabezpeˇcen´ı vlastn´ıho pˇrenosu pˇr´ıkaz˚u a dat. Pˇrenos dat ve vˇetˇsinˇe pˇr´ıpad˚u prob´ıh´a prostˇrednictv´ım bezdr´atov´eho spojen´ı pomoc´ı technologie WiFi. Obsah komunikace (napˇr´ıklad pˇrihlaˇsovac´ı ´udaje) je moˇzn´e odposlechnout a pˇr´ıpadnˇe vyuˇz´ıt pro potˇreby ´utoku na syst´em. Je proto nutn´e veˇsker´y pˇrenos dat ˇsifrovat pomoc´ı asymetrick´ych ˇsifer. Tento zp˚usob ˇsifrov´an´ı je velmi rozˇs´ıˇren´y a je povaˇzov´an za nejv´ıce bezpeˇcn´y.

(12)

V kapitole 2 je provedena z´akladn´ı reˇserˇse dostupn´ych technologi´ı vyuˇz´ıvan´ych k ˇr´ızen´ı in- teligentn´ıch budov. Reˇserˇse je zamˇeˇrena pˇredevˇs´ım na z´ısk´an´ı z´akladn´ıho povˇedom´ı o stan- dardn´ıch technologi´ıch, kter´e jsou bˇeˇznˇe vyuˇz´ıv´any. Nejsou zde diskutov´ana jednotliv´a ˇreˇsen´ı, kter´a v´yrobci nab´ızej´ı, nebot’ v´yrobc˚u je mnoho a technologie se neust´ale vyv´ıjej´ı. Nicm´enˇe u kaˇzd´e z uveden´ych technologi´ı je uveden alespoˇn jeden pˇredstavitel, kter´y danou technologii implementuje. V t´eto kapitole je rovnˇeˇz zm´ınˇena d˚uleˇzitost standardizace komunikaˇcn´ıch proto- kol˚u.

V kapitole 3 jsou pˇredstaveny z´akladn´ı konstrukˇcn´ı prvky syst´emu, kter´e jsou bˇeˇznˇe vyuˇz´ıv´any.

Nav´ıc je zde diskutov´ana z´akladn´ı koncepce navrhovan´eho ˇreˇsen´ı, vˇcetnˇe zaveden´ı z´akladn´ıch pojm˚u.

V kapitole 4 je koncepce syst´emu d´ale rozvedena do vˇetˇs´ıch detail˚u vˇcetnˇe pˇredstaven´ı prin- cipu lokalizace uˇzivatele a popisu pouˇzit´e technologie. D´ale je v t´eto kapitole pops´ano z´akladn´ı zapojen´ı syst´emu, na kter´em byla otestov´ana jeho funkˇcnost.

V kapitole 5 je pops´ana implementace vzorov´eho syst´emu, kter´y poskytuje nab´ıdku lok´aln´ıch sluˇzeb. Je zde podrobnˇe rozebr´an n´avrh hardwarov´e platformy, na kter´e je realizov´ana pˇr´ıpadov´a studie. Ve druh´e ˇc´asti kapitoly je podrobnˇe pops´ana softwarov´a ˇc´ast projektu. Popis softwarov´e ˇc´asti projektu je rozdˇelen na jednotliv´e stavebn´ı bloky tak, jak byl syst´em navrˇzen. Syst´em je realizov´an tak, aby potvrdil, ˇze lze pomoc´ı bˇeˇznˇe dostupn´ych komponent dos´ahnout lokalizace uˇzivatele a poskytnut´ı lok´aln´ı nab´ıdky.

V kapitole 6 je pops´ana testovac´ı instalace a jsou zde shrnuty v´ysledky mˇeˇren´ı. Spolu se shrnut´ım dosaˇzen´ych v´ysledk˚u jsou zde rovnˇeˇz diskutov´ana moˇzn´a vylepˇsen´ı, kter´a by vedla ke zv´yˇsen´ı pˇresnosti pˇri urˇcov´an´ı polohy.

V z´avˇereˇcn´e kapitole jsou shrnuty z´akladn´ı kroky, kter´e vedly k ´uspˇeˇsn´e realizaci frameworku pro ovl´ad´an´ı technologi´ı budov s lok´aln´ı nab´ıdkou. Z´avˇereˇcn´a kapitola je nav´ıc doplnˇena o dalˇs´ı budouc´ı kroky, kter´e by vedly k rozˇs´ıˇren´ı syst´emu.

(13)

2 Reˇ serˇ se

V n´asleduj´ıc´ıch kapitol´ach je pops´ano nˇekolik syst´em˚u slouˇz´ıc´ıch pro automatizaci infrastruk- tury budov. V posledn´ıch letech je t´ema automatizace infrastruktury velmi diskutovan´e. Velk´y rozmach nastal pˇredevˇs´ım d´ıky velk´emu rozˇs´ıˇren´ı s´ıtˇe internet a k tomu navazuj´ıc´ıch sluˇzeb.

Kv˚uli vysok´emu z´ajmu z ˇrad v´yrobc˚u, ale i z ˇrad z´akazn´ık˚u doch´az´ı k neust´al´emu rozˇsiˇrov´an´ı st´avaj´ıc´ıch a vzniku nov´ych automatizaˇcn´ıch syst´em˚u.

Na trhu lze nal´ezt ˇradu v´yrobc˚u, kteˇr´ı se pokouˇs´ı prodat sv˚uj produkt, kter´y nen´ı ˇz´adn´ym zp˚usobem standardizov´an. V pˇr´ıpadˇe, ˇze je takov´y produkt nainstalov´an, dojde dˇr´ıve nebo pozdˇeji k potˇrebˇe jeho rozˇs´ıˇren´ı, pˇr´ıpadnˇe ´udrˇzby. Po nˇekolika letech uˇz nemus´ı jeho mateˇrsk´a firma existovat a kv˚uli chybˇej´ıc´ım standard˚um nebude moˇzn´e syst´em d´ale spravovat. Takov´y syst´em se pak st´av´a nepouˇziteln´ym a nutnˇe dojde k jeho kompletn´ı n´ahradˇe.

2.1 Rozdˇelen´ı syst´em˚u

Hlavn´ım krit´eriem, podle kter´eho se ˇr´ıdic´ı syst´emy dˇel´ı, je jejich fyzick´e pˇripojen´ı k prvk˚um infrastruktury.

Prvn´ım (historicky jednoduˇsˇs´ım) typem je pˇr´ım´e ˇc´ıslicov´e ˇr´ızen´ı (Direct Digital Control) [1].

Zprvu se jednalo o jednoduch´a zaˇr´ızen´ı, kter´a nedisponovala velk´ym v´ykonem, ale byla urˇcena k ovl´ad´an´ı urˇcit´eho (typicky jednoho) procesu. Parametry ovl´adan´ych proces˚u byly pˇredem zn´am´e a po uveden´ı syst´emu do provozu uˇz se pˇr´ıliˇs nemˇenily. Vzhledem k absenci dalˇs´ıch komunikaˇcn´ıch rozhran´ı nebylo moˇzn´e vytv´aˇret sloˇzitˇejˇs´ı s´ıtˇe obsahuj´ıc´ı napˇr´ıklad stovky spojen´ych zaˇr´ızen´ı.

Rovnˇeˇz rozˇsiˇritelnost takov´ych syst´em˚u nebyla bez vˇetˇs´ıch z´asah˚u moˇzn´a.

Obr´azek 1: Syst´em pˇr´ım´eho ˇc´ıslicov´eho ˇr´ızen´ı

(14)

Jak je patrn´e z obr´azku 1, jednoduch´y syst´em vyˇzaduje veden´ı mnohon´asobnˇe vyˇsˇs´ıho poˇctu spojovac´ıch prvk˚u. Rovnˇeˇz pˇrid´an´ı libovoln´eho dalˇs´ıho rozˇs´ıˇren´ı se neobejde bez pˇrid´an´ı dalˇs´ıho spoje. Toto je nevyhovuj´ıc´ı pˇredevˇs´ım s ohledem na pracnost instalace, kdy kabel´aˇz b´yv´a uschov´ana pod om´ıtkou, pˇr´ıpadnˇe v podhledu. Instalace kaˇzd´eho dalˇs´ıho spoje s sebou tak nese nejen n´aklad v podobˇe ceny spoje. Rovnˇeˇz je nutn´e zv´aˇzit i nepˇr´ıjemnosti v podobˇe omezen´ı uˇzivatelsk´eho komfortu a to po cel´e d´elce trasy nov´eho spoje.

Druh´ym, pokroˇcilejˇs´ım typem jsou syst´emy sbˇernicov´e. Jak jiˇz n´azev napov´ıd´a, jedn´a se o syst´emy, kter´e jsou vz´ajemnˇe propojeny sbˇernic´ı, pomoc´ı kter´e mezi sebou komunikuj´ı. Nespor- nou v´yhodou tohoto typu syst´em˚u je vysok´a m´ıra modularity, nebot’ je moˇzn´e sbˇernici t´emˇeˇr libovolnˇe rozˇsiˇrovat. U kaˇzd´eho typu sbˇernice ale existuj´ı maxim´aln´ı limity pˇripojen´ych zaˇr´ızen´ı, kter´e je nutn´e dodrˇzet. Rozˇsiˇritelnost je vykoupena pouˇzit´ım v´ykonnˇejˇs´ıch souˇc´astek v koncov´ych prvc´ıch (mikroprocesor˚u), coˇz m´a za n´asledek vyˇsˇs´ı ceny sbˇernicov´ych zaˇr´ızen´ı.

Obr´azek 2: Sbˇernicov´y syst´em

Z obr´azku 2 je patrn´e, ˇze komunikaˇcn´ı m´edium je sd´ılen´e mezi vˇsemi ˇr´ızen´ymi procesy.

Instalace dalˇs´ıho procesu tedy nebude vyˇzadovat pˇrid´an´ı spoje aˇz k centr´aln´ımu prvku, ale pouze k nejbliˇzˇs´ımu jiˇz instalovan´emu. D´ıky tomuto faktu je moˇzn´e uspoˇrit nejen materi´al a ˇcas str´aven´y instalac´ı, ale tak´e minimalizovat sn´ıˇzen´ı uˇzivatelsk´eho komfortu na minimum.

(15)

Z v´yˇse popsan´eho rozdˇelen´ı jasnˇe vypl´yvaj´ı v´yhody sbˇernicov´ych syst´em˚u nad tˇemi pˇr´ımo ˇr´ızen´ymi a proto jsou t´emˇeˇr vˇsechny nov´e instalace navrhov´any jako sbˇernicov´e [1].

2.2 Standardy

D˚uleˇzitost standardizace jiˇz byla pops´ana v ´uvodn´ı kapitole. V n´asleduj´ıc´ıch kapitol´ach budou detailnˇe pops´any tˇri bˇeˇznˇe pouˇz´ıvan´e standardy. Jedn´a se o standardKNX, standardLonWorks a standard CIB. Kromˇe tˇechto dvou z´akladn´ıch standard˚u se m˚uˇzeme setkat s ˇradou menˇs´ıch standard˚u, ty vˇsak ˇcasto nepokr´yvaj´ı celou ˇsk´alu automatizace. Patˇr´ı mezi nˇe napˇr´ıklad standard Dali, kter´y je zamˇeˇren na ˇr´ızen´ı osvˇetlen´ı.

U kaˇzd´eho ze standard˚u je uvedena norma, v n´ıˇz je moˇzn´e nal´ezt jeho kompletn´ı specifikaci. V tomto textu jsou uvedeny pouze z´asadn´ı informace, d´ıky kter´ym je moˇzn´e spatˇrit hlavn´ı rozd´ıly mezi nimi.

2.2.1 KNX / EIB

Je pr˚umyslov´y komunikaˇcn´ı syt´em, kter´y se v syst´emov´e technice budov pouˇz´ıv´a pro s´ıt’ov´e informatick´e spojen´ı zaˇr´ızen´ı. Implementace je pˇrizp˚usobena elektrotechnick´e instalaci, ˇc´ımˇz jsou zajiˇstˇeny funkce a automatizovan´e procesy v budovˇe [1].

Zapojen´ı KNX syst´emu v budovˇe je schematicky zn´azornˇeno na obr´azku 3. Z obr´azku je patrn´a sbˇernicov´a struktura s centr´aln´ım rozvodem.

Obr´azek 3: Sch´ematick´e zn´azornˇen´ı KNX instalace

(16)

2.2.1.1 Komunikaˇcn´ı m´edia

Komunikaˇcn´ı protokol je pops´an v mezin´arodn´ım standardu ISO 14543. Standardem je pod- porov´ana cel´a ˇrada pˇrenosov´ych m´edi´ı. Patˇr´ı mezi nˇe kroucen´y p´ar (oznaˇcovan´y jako KNX.TP) nebo napˇr´ıklad r´adiov´y pˇrenos oznaˇcovan´y jako KNX.RF. D´ıky ˇsirok´e ˇsk´ale podporovan´ych pˇrenosov´ych cest je moˇzn´e syst´em KNX napojit i na jiˇz existuj´ıc´ı rozvody, at’ uˇz se jedn´a o kroucen´e p´ary nebo pˇrenos po silov´e ˇc´asti veden´ı. Zat´ımco pˇrenos po m´ediu, kter´e je vyhrazeno ˇcistˇe pro potˇreby syst´emu KNX (kroucen´y p´ar) prob´ıh´a t´emˇeˇr bez chyb, tak v pˇr´ıpadˇe sd´ılen´eho m´edia (r´adio, silnoproud´a instalace) m˚uˇze doch´azet (a doch´az´ı) k siln´emu ruˇsen´ı.

Nap´ajen´ı vˇsech ´uˇcastnick´ych stanic na sbˇernici je vyˇreˇseno pomoc´ı zdroje pˇripojen´eho pˇr´ımo na sbˇernici. Kaˇzd´e zaˇr´ızen´ı tedy staˇc´ı ke sbˇernici pˇripojit pouze jedn´ım p´arem vodiˇc˚u, odpad´a potˇreba extern´ıho nap´ajen´ı. V´yˇse popsan´y zp˚usob nap´ajen´ı je moˇzn´y pouze v pˇr´ıpadˇe, ˇze je vyuˇzita nˇekter´a z variant vyuˇz´ıvaj´ıc´ı fyzick´eho pˇrenosov´eho kan´alu. V pˇr´ıpadˇe vyuˇzit´ı r´adiov´eho pˇrenosu je st´ale nutnost´ı zajistit nap´ajen´ı jednotliv´ych prvk˚u sbˇernice.

2.2.1.2 Adresace v s´ıti

KNX s´ıt’ je rozdˇelena do tˇr´ı ´urovn´ı. Do nejvyˇsˇs´ı (p´ateˇrn´ı) ´urovnˇe se pˇripojuj´ı oblastn´ı spojky, kter´e slouˇz´ı k propojov´an´ı jednotliv´ych oblast´ı. V pˇr´ıpadˇe vyuˇzit´ı v´ıce neˇz jedn´e oblasti v instalaci je vhodn´e zav´est logick´e dˇelen´ı, napˇr´ıklad jedna oblast m˚uˇze odpov´ıdat jednomu patru budovy.

Maxim´aln´ı poˇcet adresovateln´ych oblast´ı je 15.

Druh´ym, niˇzˇs´ım patrem hierarchie jsou linie, ke kter´ym jsou jiˇz pˇripojov´any jednotliv´e kom- ponenty syst´emu. Stejnˇe jako je moˇzn´e pˇredstavit si oblast jako jedno patro budovy, je moˇzn´e si linii pˇredstavit jako automatizaˇcn´ı prvky stejn´eho typu (z´asuvky / ˇzaluzie / vyp´ınaˇce). Ma- xim´aln´ı poˇcet adresovateln´ych lini´ı je 15, pˇriˇcemˇz linie jsou mezi sebou propojov´any pomoc´ı liniov´ych spojek.

Kaˇzd´a z lini´ı m˚uˇze b´yt d´ale rozdˇelena na 4 segmenty. Segmenty jsou k linii pˇripojeny pomoc´ı liniov´ych opakovaˇc˚u. Maxim´aln´ı poˇcet prvk˚u pˇripojen´ych do jednoho segmentu je 64. Maxim´aln´ı moˇzn´y poˇcet prvk˚u zapojen´ych do syst´emu je pak 216= 65536 [2].

Hierarchick´e rozdˇelen´ı syst´emu je schematicky zn´azornˇeno na obr´azku 4.

2.2.1.3 Individu´aln´ı a skupinov´e adresy

Kaˇzd´y prvek pˇripojen´y do s´ıtˇe KNX mus´ı m´ıt pˇriˇrazenu unik´atn´ı (individu´aln´ı) adresu.

Cel´a adresa jednoho prvku pˇripojen´eho ve sbˇernici se skl´ad´a ze tˇr´ı ˇc´ısel oddˇelen´ych teˇckou - oblast.linie.prvek (napˇr´ıklad 1.1.2) [1].

(17)

Obr´azek 4: Topologie KNX sbˇernice [2]

Pokud jsou v individu´aln´ı adrese prvku nˇekter´a pole rovna nule, pak se jedn´a o speci´aln´ı adresy. Napˇr´ıklad adresa 1.12.0 je pˇriˇrazena liniov´e spojce v oblasti 1, linii 12. Podobnˇe je tomu u adresy 2.0.0, kter´a oznaˇcuje oblastn´ı spojku um´ıstˇenou ve druh´e oblasti [1].

Pro zjednoduˇsen´ı programov´an´ı rozs´ahl´ych syst´em˚u byl ve standardu zaveden speci´aln´ı typ adres skupinov´e adresy. Skupinov´e adresy lze poznat podle zp˚usobu jejich z´apisu, pˇri nˇemˇz se vyuˇz´ıv´a lom´ıtek nam´ısto teˇcek, napˇr´ıklad 1/2, pˇr´ıpadnˇe 1/2/3. Pˇri zav´adˇen´ı skupinov´ych adres je vhodn´e logick´e rozdˇelen´ı syst´emu do skupin, napˇr´ıklad skupina 1/ bude pouˇzita pro ˇr´ızen´ı osvˇetlen´ı, zat´ımco skupina 2/ bude pouˇzita pro ˇr´ızen´ı ˇzaluzi´ı. Za oddˇelovac´ım lom´ıtkem pak m˚uˇze n´asledovat kupˇr´ıkladu oznaˇcen´ı m´ıstnosti. Skupinov´a adresa 1/1 by pak ˇr´ıdila osvˇetlen´ı v m´ıstnosti ob´yvac´ı pokoj, zat´ımco skupinov´a adresa 1/2 by ˇr´ıdila osvˇetlen´ı v m´ıstnosti kuchynˇe [1].

Ve standardu je zahrnuta podpora pro dvou´urovˇnov´e, pˇr´ıpadnˇe tˇr´ı´urovˇnov´e adresov´an´ı. Po- kud se ale projektant rozhodne pro jeden ze zp˚usob˚u, zvolen´y zp˚usob mus´ı b´yt pouˇzit v cel´em syst´emu. Pˇri pouˇzit´ı dvou´urovˇnov´e adresace (ˇcastˇejˇs´ı vyuˇzit´ı) jsou 4 bity vyuˇzity pro adresaci hlavn´ı skupiny a 11 bit˚u je pouˇzito pro adresaci podskupiny. ˇC´ıselnˇe je tedy pouˇziteln´ych 16 hlavn´ıch skupin a aˇz 2048 podskupin. Podle doporuˇcen´ı z [1] je vhodn´e skupinu 0 pouˇz´ıvat pro signalizaci alarm˚u.

(18)

2.2.1.4 V´yrobci implementuj´ıc´ı technologii KNX

Standard KNX je jedn´ım z nejrˇs´ıˇreji pouˇz´ıvan´ych standard˚u. S t´ımto souvis´ı tak´e to, ˇze v´yrobce ˇr´ıdic´ıch syst´em˚u s podporou KNX je moˇzn´e naj´ıt v nejr˚uznˇejˇs´ıch zem´ıch. Jako pˇr´ıklady lze uv´est ˇspanˇelskou firmu Futurasmus, anglickou firmuLivinghometech, pˇr´ıpadnˇe ˇc´ınskou firmu HDL, kter´a m´a poboˇcku i v ˇCesk´e Republice.

2.2.2 LonWorks

Oznaˇcen´ı LonWorks v sobˇe zahrnuje celou ˇradu podruˇzn´ych zaˇr´ızen´ı. Koˇrenov´a ˇc´ast n´azvu t´eto technologie - Lon znamen´a Local operating network [3]. Volnˇe pˇreloˇzeno jako lok´aln´ı s´ıt’ov´e sluˇzby.

Samotn´y komunikaˇcn´ı protokol oznaˇcovan´y jako LonTalk byl vyvinut spoleˇcnost´ı Echelon v roce 1989 [5] a je pops´an ve standardu ISO/IEC 14908-1. Jedn´a se o protokol specificky navrˇzen´y pro ˇr´ıdic´ı ´uˇcely, kter´y slouˇz´ı pro komunikaci mezi dvˇema koncov´ymi body (peer to peer).

2.2.2.1 Neuron chip

Hlavn´ım stavebn´ım prvkem technologie LonWorks jsou mikrokontrol´ery naz´yvan´e Neuron Chip. Kaˇzd´y mikrokontrol´er je sloˇzen ze tˇrech osmibitov´ych procesorov´ych jednotek, fyzick´e pamˇeti a referenˇcn´ı implementace LonTalk protokolu. Kaˇzd´y vyroben´y ˇcip nav´ıc obsahuje svˇetovˇe unik´atn´ı identifikaˇcn´ı ˇc´ıslo - Neuron ID [3].

Dvˇe procesorov´e jednotky se staraj´ı o komunikaci prostˇrednictv´ım LonTalk protokolu. Tˇret´ı procesorov´a jednotka je dostupn´a pro potˇreby vlastn´ı aplikace. Kompatibilita zapojen´ı ˇcip˚u od r˚uzn´ych v´yrobc˚u je zajiˇstˇena d´ıky tomu, ˇze kaˇzd´y Neuron Chip v sobˇe jiˇz implementuje kompletn´ı rozhran´ı pro komunikaci prostˇrednictv´ı LonTalk s´ıtˇe [3].

2.2.2.2 Komunikaˇcn´ı m´edia

Podobnˇe jako syst´em KNX i LonWorks lze provozovat na ˇradˇe fyzick´ych m´edi´ı. Tabulka 1 je pˇrevzat´a z [3] a uv´ad´ı z´akladn´ı typy podporovan´ych fyzick´ych m´edi´ı.

Jak je z tabulky patrn´e, pˇrenosov´e rychlosti jsou niˇzˇs´ı (ˇr´adovˇe stovky kbps), st´ale ale naprosto vyhovuj´ıc´ı pro pˇrenos kr´atk´ych zpr´av. V pˇr´ıpadˇe vyuˇzit´ı typu TP/FT-10 lze fyzick´e zapojen´ı realizovat bez jak´ychkoliv omezen´ı v topologii. Zapojen´ı lze prov´est do hvˇezdy, line´arn´ı sbˇernice, pˇr´ıpadnˇe i do kruhu [3]

(19)

Oznaˇcen´ı vys´ılaˇce M´edium Pˇrenosov´a rychlost Standard

IP-852 IP tunelov´an´ı N/A ISO/IEC 14908-4

PL-20 (A/C/N) Silov´e rozvody 3.6 - 5 kbps ISO/IEC 14908-3 TP/FT-10 Kroucen´a dvojlinka 78.6 kbps ISO/IEC 14908-2 TP/XF-1250 Kroucen´a dvojlinka 1.25 Mbps ISO/IEC 14908-2

Tabulka 1: Z´akladn´ı typy podporovan´ych pˇrenosov´ych m´edi´ı

2.2.2.3 Vys´ılaˇce

Kaˇzd´y neuron ˇcip obsahuje referenˇcn´ı implementaci protokolu LonTalk. Aby byla zajiˇstˇena modul´arnost syst´emu, doˇslo k oddˇelen´ı vlastn´ıho zpracov´an´ı dat (uvnitˇr neuron ˇcipu) a vlastn´ı komunikaci se sbˇernic´ı (prostˇrednictv´ım vys´ılaˇce).

D´ıky tomuto rozdˇelen´ı je moˇzn´e v jedn´e s´ıti vyuˇz´ıvat ˇcipy a vys´ılaˇce r˚uzn´ych v´yrobc˚u.

D˚uleˇzit´e je pouze zachov´an´ı stejn´eho typu vys´ılaˇce / pˇrij´ımaˇce na obou stran´ach.

2.2.2.4 Adresace v s´ıti

Podobnˇe jako v pˇr´ıpadˇe instalace KNX, i pˇri vytv´aˇren´ı LON s´ıtˇe je moˇzn´e jej´ı dˇelen´ı. Pˇri rozdˇelen´ı instalace se pouˇz´ıv´a pojm˚u jako pods´ıt’, s´ıt’, pˇr´ıpadnˇe dom´ena. Hierarchicky je s´ıt’

zn´azornˇena na obr´azku 5.

Nejjednoduˇsˇs´ı instalace, pˇri nichˇz je zapojeno maxim´alnˇe 128 ´uˇcastn´ık˚u, je moˇzn´e provozovat jako samostatn´e s´ıtˇe. V pˇr´ıpadˇe vyuˇzit´ı vys´ılaˇc˚u nap´ajen´ych ze sbˇernice je poˇcet omezen na 64.

Rozˇs´ıˇren´ı takov´eto s´ıtˇe na 128 prvk˚u je moˇzn´e s vyuˇzit´ım opakovaˇc˚u. Pokud jsou pro komunikaci vyuˇzity vys´ılaˇce s vlastn´ım zdrojem nap´ajen´ı, je maxim´aln´ı poˇcet ´uˇcastn´ık˚u zv´yˇsen aˇz na 128.

V pˇr´ıpadˇe, ˇze je nutn´e zapojit v´ıce ´uˇcastn´ık˚u, je jiˇz zapotˇreb´ı rozdˇelit s´ıt’ na v´ıce pods´ıt´ı. Jako oddˇelovac´ıch prvk˚u se vyuˇz´ıv´a zaˇr´ızen´ı naz´yvan´ychroutery. Smˇerov´an´ı komunikace prob´ıh´a tak, ˇze pokud nebyl telegram doruˇcen do pods´ıtˇe dan´eho routeru, je pˇreposl´an do dalˇs´ıho segmentu spojen´e s´ıtˇe. Routery nav´ıc podporuj´ı spojen´ı v´ıce pods´ıt´ı postaven´ych na r˚uzn´ych technologi´ıch do jedn´e s´ıtˇe.

Spojen´ım v´ıce s´ıt´ı vznikaj´ı nejvˇetˇs´ı adresovateln´e celkydom´eny. V jedn´e dom´enˇe je moˇzn´e spojit aˇz 255 pods´ıt´ı (router˚u). V pˇr´ıpadˇe, ˇze by ani tento poˇcet nebyl dostaˇcuj´ıc´ı, je moˇzn´e spojit dalˇs´ı dvˇe dom´eny pomoc´ı v´ykonn´eho routeru.

Nejvyˇsˇs´ı poˇcet pˇripojen´ych uzl˚u v jedn´e dom´enˇe je 255∗127 = 32385. Maxim´aln´ı velikost s´ıtˇe pak m˚uˇze vzniknout spojen´ım dvou dom´en, ˇc´ımˇz se poˇcet uzl˚u zdvojn´asob´ı.

(20)

Obr´azek 5: Topologie zapojen´ı s´ıtˇe LON

2.2.2.5 V´yrobci implementuj´ıc´ı technologii LonWorks

Jedn´a se o druh´eho z nejvˇetˇs´ıch v´yrobc˚u, kter´y je rozˇs´ıˇren´y pˇredevˇs´ım v z´amoˇr´ı. Mezi hlavn´ı v´yrobce patˇr´ı napˇr´ıklad americk´a spoleˇcnost Allen-Bradley, nˇemeck´a spoleˇcnostWilo, pˇr´ıpadnˇe francouzsk´a spoleˇcnost Schneider. Dvˇe posledn´ı jmenovan´e spoleˇcnosti maj´ı nav´ıc poboˇcky v Cesk´ˇ e Republice.

2.2.3 CIB

Technologie, potaˇzmo standard CIB (Common Installation Bus) je vlastnictv´ım ˇcesk´e firmy ELKO ep. Jedn´a se podobnˇe jako u dvou v´yˇse popsan´ych standard˚u o sbˇernicovou technolo- gii. Zapojen´ı s´ıtˇe je v podstatˇe libovoln´e, vyjma zapojen´ı do kruhu. Komunikace prob´ıh´a bud’

bezdr´atovˇe, pˇr´ıpadnˇe prostˇrednictv´ım kroucen´eho p´aru.

2.2.3.1 Adresace v s´ıti

Na sbˇernici je vˇzdy nutn´e pˇripojit hlavn´ı ˇr´ıdic´ı jednotku, kter´a jednak ˇr´ıd´ı komunikaci na sbˇernici a druhak se star´a o jej´ı nap´ajen´ı. Maxim´aln´ı poˇcet pˇripojen´ych uzl˚u na jedn´e vˇetvi je omezen na 32. Jednotky jsou proto vybaveny alespoˇn dvˇema oddˇelen´ymi vˇetvemi. Dalˇs´ı vˇetve sbˇernice je moˇzn´e pˇripojit pomoc´ı rozˇsiˇruj´ıc´ıch modul˚u [7].

Jako pˇr´ıklad lze uv´est centr´aln´ı jednotku CU3-01M, kter´a disponuje dvˇema svorkami pro pˇripojen´ı k CIB sbˇernici. Jednotka nav´ıc umoˇzˇnuje rozˇs´ıˇren´ı aˇz o dalˇs´ıch 8 extern´ıch komu- nikaˇcn´ıch jednotek, z nichˇz kaˇzd´a extern´ı jednotka disponuje rovnˇeˇz dvˇema svorkami pro pˇripojen´ı ke sbˇernici. Celkovˇe lze tedy zapojit aˇz 2∗32 + 8∗2∗32 = 576 uzl˚u [8].

(21)

2.2.3.2 V´yrobci implementuj´ıc´ı technologii CIB

Standard CIB je v souˇcasn´e dobˇe implementov´ana pouze v syst´emu iNels, jeˇz je vyv´ıjen stejnou spoleˇcnost´ı jako vlastn´ı technologie. Jin´ı v´yrobci implementuj´ıc´ı CIB nebyli nalezeni.

2.3 Shrnut´ı

Vˇsechny v´yˇse popsan´e syst´emy poskytuj´ı dostateˇcn´e rozhran´ı pro ovl´ad´an´ı inteligentn´ı elek- troinstalace a kvalitn´ı uˇzivatelsk´e rozhran´ı potˇrebn´e k tomu, aby je bylo moˇzn´e efektivnˇe vyuˇz´ıvat.

D´ıky standard˚um, kter´e jsou propracovany do nejmenˇs´ıch detail˚u a jiˇz ˇradu let vyuˇz´ıvany je moˇzn´e ve v´yvoji pokroˇcit kupˇredu a v´ıce se zamˇeˇrit na uˇzivatelsk´y komfort.

Vˇsechny syst´emy je moˇzn´e ˇsk´alovat do obrovsk´ych celk˚u. V takto rozs´ahl´ych syst´emech pak nen´ı z uˇzivatelsk´eho hlediska snadn´e naj´ıt potˇrebn´e objekty. M˚uˇze tak nastat situace, kdy cel´a budova bude m´ıt implementovanou podporu pro automatizaci, ta vˇsak nebude vyuˇz´ıv´ana z d˚uvodu uˇzivatelsky nepohodln´eho rozhran´ı.

Nab´ız´ı se zde ˇreˇsen´ı v podobˇe nab´ıdky pouze t´e ˇc´asti automatizace, kterou je moˇzn´e v dan´em m´ıstˇe (m´ıstnosti) vyuˇz´ıt. Uˇzivatel tak nebude nucen vyhled´avat konkr´etn´ı objekt mezi stovkami dalˇs´ıch, ale seznam objekt˚u se omez´ı na des´ıtky. Bˇehem reˇserˇse se nepodaˇrilo nal´ezt implementaci takov´eto funkce u jiˇz nab´ızen´ych syst´em˚u. Skuteˇcnost, ˇze takov´a funkce nen´ı zat´ım implemen- tov´ana m˚uˇze b´yt zp˚usobena napˇr´ıklad i t´ım, ˇze by nebylo moˇzn´e takov´eto ˇreˇsen´ı realizovat.

3 Z´ akladn´ı koncepce syst´ emu

Syst´emy pro automatizaci dom´ac´ı infrastruktury se skl´adaj´ı ze tˇr´ı z´akladn´ıch stavebn´ıch prvk˚u. Prvn´ım, nejd˚uleˇzitˇejˇs´ım prvkem je vˇzdy poˇc´ıtaˇc s ˇr´ıdic´ım softwarem, kter´y se star´a o vlastn´ı automatizaci syst´emu. Aby bylo uˇzivateli umoˇznˇeno jednoduch´ym zp˚usobem vstoupit do syst´emu a prov´adˇet v nˇem zmˇeny, je nutn´e syst´em vybavit o dalˇs´ı podp˚urn´y software. V pˇr´ıpadˇe t´eto realizace se jedn´a o dvˇe aplikace, kter´e je moˇzn´e spustit na mobiln´ım telefonu, pˇr´ıpadnˇe na standardn´ım poˇc´ıtaˇci.

Pˇrehledov´e sch´ema cel´eho syst´emu je zobrazeno na obr´azku 6. Centr´aln´ım prvkem automa- tizace jeˇr´ıdic´ı server, kter´y kromˇe celkov´e konfigurace nab´ız´ı funkˇcn´ı ˇr´ızen´ı vˇsech automatizo- van´ych celk˚u. Kromˇe software pro automatizaci, je na ˇr´ıdic´ım serveru spuˇstˇen i software urˇcen´y pro komunikaci s uˇzivatelskou nebo konfiguraˇcn´ı aplikac´ı.

R´ıdic´ı serverˇ je centr´aln´ım prvkem automatizace, kter´y se star´a nejen o dohled nad cel´ym syst´emem, ale tak´e o komunikaci s uˇzivatelem. V pˇr´ıpadˇe rozs´ahl´ych budov je velmi vhodn´e nasadit takov´ychto prvk˚u v´ıce. Nebude pak doch´azet k zahlcen´ı jednoho centr´aln´ıho prvku, ale

(22)

dojde k rozloˇzen´ı z´atˇeˇze mezi jednotliv´e body. U takov´eho zapojen´ı vznikaj´ı ˇc´asteˇcnˇe samostatn´e jednotky. V pˇr´ıpadˇe v´ypadku nedojde k omezen´ı dostupnosti veˇsker´e technologie, ale pouze k jej´ımu lok´aln´ımu omezen´ı.

Uˇzivatelsk´a aplikace je zam´yˇslena pro bˇeh na mobiln´ıch termin´alech a uˇzivateli nab´ız´ı jed- noduch´e rozhran´ı pro vzd´alen´e ovl´ad´an´ı a dohledov´an´ı dostupn´ych ˇc´ast´ı syst´emu. Typick´ymi akcemi, jeˇz je moˇzn´e vykon´avat, je ovl´ad´an´ı automatizaˇcn´ıch celk˚u (osvˇetlen´ı, topen´ı, venti- lace). Nav´ıc umoˇzˇnuje pˇrid´av´an´ı pl´anovan´ych akc´ı jako je nastaven´ı poˇzadovan´e teploty v dan´y ˇcas, pˇr´ıpadnˇe automatick´e staˇzen´ı st´ın´ıc´ı techniky.

Konfiguraˇcn´ı aplikace je urˇcena pro celkovou spr´avu syst´emu, kter´a zahrnuje v´yˇse popsan´e vzd´alen´e ovl´ad´an´ı a nastaven´ı ˇcasov´ych ud´alost´ı. Nav´ıc disponuje moˇznostmi nastaven´ı nov´ych objekt˚u do ˇr´ızen´eho syst´emu.

Obr´azek 6: Diagram cel´eho syst´emu

Na komerˇcn´ım trhu je dostupn´a cel´a ˇrada syst´em˚u od r˚uzn´ych dodavatel˚u. Kaˇzd´y z nich ˇreˇs´ı potˇrebu konfiguraˇcn´ı aplikace po sv´em. ˇRada dostupn´ych aplikac´ı urˇcen´ych pro konfiguraci dom´ac´ı automatizace je zaloˇzena na principech grafick´eho programov´an´ı. V pˇr´ıpadˇe grafick´eho programov´an´ı se umist’uj´ı grafick´e elementy na plochu pˇredstavuj´ıc´ı dan´y objekt, tyto elementy se pot´e graficky spojuj´ı ˇcarami pˇredstavuj´ıc´ımi logick´e spoje. V pˇr´ıpadˇe rozumn´eho dˇelen´ı syst´emu a st´al´eho udrˇzov´an´ı poˇr´adku na ploˇse jsou tyto syst´emy v´yhodn´e. Pokud ale oper´ator umist’uje objekty chaoticky, dojde v kr´atk´em obdob´ı ke ztr´atˇe pˇrehledu nad projektem. Z toho d˚uvodu byla v konfiguraˇcn´ı aplikaci vybr´ana metoda textov´eho zad´av´an´ı konfigurace.

D´ıky textov´e konfiguraci je poˇr´adek v aplikaci udrˇzov´an automaticky a je vˇzdy stejn´y. Syst´em si neklade za c´ıl b´yt obecn´y pro vˇsechna pouˇzit´ı, ale zprostˇredkovat jednoduch´e rozhran´ı pro vˇsechny uˇzivatele a b´yt dostateˇcnˇe obecn´y na to, aby dovolil nastaven´ı vˇsech bˇeˇznˇe pouˇz´ıvan´ych sekvenc´ı.

Hardwarov´a platforma je zaloˇzena na Linuxov´em jednodeskov´em poˇc´ıtaˇci, kter´y m´a do- stateˇcn´y poˇcet vstupn´ıch a v´ystupn´ıch pin˚u a z´aroveˇn s nimi nab´ız´ı i r˚uzn´a komunikaˇcn´ı rozhran´ı.

(23)

pˇripojen´ı ke sbˇernici je n´avrhem hardware podporov´ano.

Navrˇzen´y komunikaˇcn´ı protokol je zaloˇzen na pˇrenosu zpr´av ve form´atu XML. Tento form´at byl vybr´an pˇredevˇs´ım s ohledem na moˇznosti jeho budouc´ıho vyuˇzit´ı. Veˇsker´a data, kter´a jsou form´atov´ana pomoc´ı XML, je moˇzn´e velmi snadno vyuˇz´ıt i mimo poskytovanou softwarovou architekturu. Nab´ız´ı se napˇr´ıklad moˇznost sbˇeru aktu´aln´ıch teplot z jednotliv´ych m´ıstnost´ı a jejich n´asledn´e vyhodnocen´ı pomoc´ı extern´ıch aplikac´ı.

Protokol je navrˇzen s ohledem na bezpeˇcnost sv´ych uˇzivatel˚u. Veˇsker´a komunikace je proto ˇsifrov´ana pomoc´ı protokolu TLS1.2. N´asledn´e ovˇeˇren´ı pˇr´ıstupov´ych ´udaj˚u je porovn´ano proti nastaven´emu LDAP serveru. Komunikace mezi ˇr´ıdic´ım serverem a LDAP serverem je ˇsifrov´ana.

4 Syst´ emov´ y n´ avrh

Ovl´ad´an´ı menˇs´ı budovy (napˇr´ıklad rodinn´y d˚um) nem´a smysl optimalizovat z hlediska usnadnˇen´ı navigace v aplikaci. Rodinn´y d˚um m´a typicky do 10 m´ıstnost´ı, nalezen´ı t´e spr´avn´e je tedy snadn´e a lehce provediteln´e. Naproti tomu v pˇr´ıpadˇe rozs´ahl´e instalace (napˇr´ıklad administrativn´ı bu- dova / ˇskola), kde mohou b´yt stovky m´ıstnost´ı, se navigace v aplikaci stane obt´ıˇznou aˇz otravnou velmi snadno.

St´avaj´ıc´ı syst´emy pracuj´ı tak, ˇze se uˇzivatel pˇripoj´ı na pˇredem zn´amou adresu (server), kde bˇeˇz´ı pˇr´ısluˇsn´a aplikace. Z t´eto aplikace se st´ahnou potˇrebn´a data tak, aby bylo moˇzn´e z uˇzivatelova zaˇr´ızen´ı ovl´adat pˇr´ısluˇsn´y automatizaˇcn´ı celek.

Vylepˇsen´ı souˇcasn´eho zp˚usobu pˇripojen´ı spoˇc´ıv´a v implementaci syst´emu, kter´y m´ısto uˇzivatele rozhodne, k jak´e adrese se pˇripojit a jak´a data pˇr´ıpadnˇe st´ahnout. Aby bylo moˇzn´e implemen- tovat vylepˇsen´ı st´avaj´ıc´ıch syst´em˚u, je nutn´e zn´at alespoˇn pˇribliˇznou polohu uˇzivatele.

4.1 Lokalizace uˇzivatele

Lokalizovat uˇzivatele jako ˇzivou osobu uvnitˇr budovy nen´ı se souˇcasnou technologi´ı prove- diteln´e. Lokalizaci je nutn´e omezit na elektronick´y pˇr´ıstroj, kter´y bude m´ıt uˇzivatel neust´ale u sebe. V dneˇsn´ı dobˇe vˇsak m´a vˇetˇsina lid´ı alespoˇn jeden chytr´y mobiln´ı telefon, kter´y u sebe ne- ust´ale nos´ı. Z nich pak mohou b´yt tyto syst´emy ˇr´ızeny, a tak navrhovan´e ˇreˇsen´ı nezav´ad´ı ˇz´adn´e dodateˇcn´e komplikace.

Syst´em se tedy omez´ı na lokalizaci chytr´eho mobiln´ıho telefonu uvnitˇr budovy. Vzhledem k tomu, ˇze mobiln´ı telefon je pˇrenosn´e zaˇr´ızen´ı, je nutn´e lokalizaci prov´est pomoc´ı nˇekter´e z bezdr´atov´ych technologi´ı. K tˇemto technologi´ım, kter´e se v souˇcasn´e dobˇe u chytr´ych telefon˚u nab´ızej´ı zcela samozˇrejmˇe, patˇr´ı WiFi a Bluetooth. U nˇekter´ych draˇzˇs´ıch model˚u se pak nab´ız´ı

(24)

Rozhran´ı NFC (Near Field Communication) je urˇceno pro pomal´y pˇrenos na velmi mal´e vzd´alenosti. ˇR´adovˇe se jedn´a o pˇrenosy na vzd´alenost 10 - 15 cm [9], pˇresn´e specifikace vych´azej´ı z normy ISO/IEC 18092. Takto kr´atk´a komunikaˇcn´ı vzd´alenost je pro potˇreby navrhovan´eho syst´emu nedostateˇcn´a, nen´ı proto moˇzn´e tohoto rozhran´ı vyuˇz´ıt.

Rozhran´ı WiFi (Wireless Fidelity) je urˇceno pro rychl´y pˇrenos dat na vzd´alenost ˇr´adovˇe des´ıtky aˇz stovky metr˚u. Technologie je pops´ana ve standardu IEEE 802.11. WiFi technologie je bˇeˇznˇe vyuˇz´ıv´ana pro vysokorychlostn´ı pˇripojen´ı k internetu, a proto je velmi pravdˇepodobn´e, ˇze bude tato s´ıt’ uvnitˇr budov jiˇz implementov´ana. Jako ˇreˇsen´ı lokalizace by se tedy nab´ızelo vyuˇzit´ı jiˇz existuj´ıc´ı WiFi infrastruktury. Jakkoliv se toto ˇreˇsen´ı m˚uˇze zd´at v´yhodn´e, zejm´ena s ohledem na jiˇz existuj´ıc´ı infrastrukturu, bylo by nutn´e vytvoˇrit pˇresn´y model budovy spolu s rozm´ıstˇen´ım vys´ılaˇc˚u uvnitˇr. Pot´e by se dalo za pomoci triangulace mezi viditeln´ymi WiFi vys´ılaˇci urˇcit pˇribliˇznou polohu. Nicm´enˇe sestaven´ı takov´eho modelu a n´asledn´e otestov´an´ı cel´eho syst´emu by vyˇzadovalo nezanedbatelnˇe vysok´e ´usil´ı.

Pˇri navrhov´an´ı WiFi s´ıtˇe jsou nav´ıc kladeny pˇresnˇe opaˇcn´e poˇzadavky, neˇz kter´e jsou vhodn´e pro lokalizaci uˇzivatele. Hlavn´ım poˇzadavkem pˇri vytv´aˇren´ı bezdr´atov´e s´ıtˇe je pouˇzit´ı co nejmenˇs´ıho poˇctu pˇr´ıstupov´ych bod˚u k dostateˇcn´emu pokryt´ı co nejvˇetˇs´ı plochy [10].

Rozhran´ı Bluetooth bylo vyv´ıjeno s c´ılem umoˇznit pˇrenosy na kratˇs´ı vzd´alenost (niˇzˇs´ı des´ıtky metr˚u), bez potˇreby sloˇzit´eho vytv´aˇren´ı infrastruktury [11]. Standard tedy uˇz ve sv´e z´akladn´ı podobˇe podporuje vytv´aˇren´ı mal´ych s´ıt´ı o nˇekolika m´alo ´uˇcastn´ıc´ıch (piconet / scatternet).

V roce 2010 se standard nav´ıc rozˇs´ıˇril o ˇc´ast Bluetooth Low Energy. Technologie BLE nen´ı zpˇetnˇe kompatibiln´ı s technologi´ı klasick´eho Bluetooth. Kaˇzd´y z v´yrobc˚u Bluetooth ˇcip˚u se proto mus´ı jiˇz pˇri v´yrobˇe rozhodnout, zda podporovat oba standardy, nebo pouze jeden z nich [12].

Mezi hlavn´ı v´yhody BLE rozˇs´ıˇren´ı patˇr´ı pˇredevˇs´ım sn´ıˇzen´ı spotˇreby modul˚u a n´aslednˇe zkr´acen´ı odezvy pˇri navazov´an´ı komunikace. Nev´yhodou je sn´ıˇzen´ı pˇrenosov´e rychlosti z ˇr´adovˇe 2Mbit/s na 0.2Mbit/s [12].

D´ıky tomu, ˇze se v souˇcasn´e dobˇe technologie Bluetooth nevyuˇz´ıv´a jako hlavn´ı informaˇcn´ı kan´al, je moˇzn´e jej´ı vyuˇzit´ı k jin´ym ´uˇcel˚um. Lze si tedy pˇredstavit takov´e zapojen´ı, kdy dojde k optim´aln´ımu pokryt´ı m´ıst, ve kter´ych se uˇzivatel´e pohybuj´ı bez sn´ıˇzen´ı komfortu.

Pro lokalizaci uˇzivatele uvnitˇr budov bude z v´yˇse popsan´ych d˚uvod˚u pouˇzito bezdr´atov´e rozhran´ı Bluetooth s podporou Low Energy standardu.

4.2 Infrastruktura

Pro ´uˇcely testov´an´ı byl syst´em zapojen v bytˇe o velikosti 2+kk. Syst´em byl instalov´an podle pˇredpokl´adan´e instalace uvnitˇr administrativn´ıch budov. Nainstalov´any byly dva servery tak,

(25)

aby bylo moˇzn´e spr´avnˇe testovat poskytov´an´ı lok´aln´ı nab´ıdky syst´emem.

Sch´ema instalovan´eho bytu spolu se zn´azornˇen´ym rozm´ıstˇen´ım ˇr´ıdic´ıch server˚u je um´ıstˇeno v pˇr´ıloze na obr´azku 25. Vzhledem k tomu, ˇze v dobˇe testov´an´ı byly dostupn´e pouze dva servery, bylo moˇzn´e rozliˇsit pouze dvˇe skupiny uˇzivatel˚u. Pˇredpokl´adan´e v´ysledky jsou takov´e, ˇze do prvn´ı skupiny budou zaˇrazeni uˇzivatel´e, kteˇr´ı se nach´azej´ı bud’ v prostoru kuchynˇe, pˇr´ıpadnˇe ob´yvac´ıho pokoje. Do druh´e skupiny budou zaˇrazeni uˇzivatel´e, kteˇr´ı se nach´azej´ı v prostoru pokoje.

Ve sch´ematu zapojen´ı m˚uˇzeme vidˇet, ˇze m´ısto kolem vstupu do bytu, pˇr´ıpadnˇe na chodbˇe vedouc´ı do obou pokoj˚u, nen´ı pˇr´ımo pokryto ˇz´adn´ym ze server˚u. K tomuto doˇslo v d˚usledku zapojen´ı pouh´ych dvou server˚u, v pˇr´ıpadˇe re´aln´e instalace by se v tomto m´ıstˇe nach´azel dalˇs´ı, tˇret´ı server.

5 Implementace

V n´asleduj´ıc´ı ˇc´asti textu budou pops´any kroky vedouc´ı k implementaci inteligentn´ıho syst´emu automatizace. Hardwarov´e komponenty syst´emu byly vybr´any tak, aby umoˇznily rychlou a bezprobl´emovou kompletaci. Softwarov´a ˇc´ast je postaven´a tak, aby s sebou nesla co nejmenˇs´ı z´avislost na zvolen´em hardwarov´em ˇreˇsen´ı. D´ıky t´eto nez´avislosti je do budoucna moˇzn´e kdykoliv vymˇenit hardwarovou platformu t´emˇeˇr bez z´asah˚u do softwaru.

5.1 HW n´avrh ˇreˇsen´ı

Hardware ˇr´ıdic´ıho serveru je rozdˇelen do dvou desek. Prvn´ı z nich je vybavena konektory pro pˇripojen´ı ˇr´ıdic´ıho poˇc´ıtaˇce, pˇripojen´ı extern´ıho zdroje napˇet´ı a dvˇema konektory pro budouc´ı rozˇs´ıˇren´ı. Druh´a z nich je vybavena vstupnˇe / v´ystupn´ımi svorkami, za pomoci kter´ych je moˇzn´e ˇr´ıdit standardn´ı prvky elektroinstalace.

Rozdˇelen´ı do dvou desek je v´yhodn´e nejen z hlediska m´ısta, kter´e deska zab´ır´a, ale z´aroveˇn slouˇz´ı i k logick´emu rozdˇelen´ı funkc´ı. V c´ılov´e instalaci tak m˚uˇze b´yt pouˇzita napˇr´ıklad pouze hlavn´ı deska, kter´a nese ˇr´ıdic´ı poˇc´ıtaˇc a rozˇsiˇruj´ıc´ı konektory. V pˇr´ıpadˇe vyuˇzit´ı pouze jedn´e poloviny syst´emu tak dojde ke sn´ıˇzen´ı potˇreby m´ısta pro instalaci pˇri zachov´an´ı vˇsech funkc´ı, vyjma pˇr´ım´eho ovl´ad´an´ı vstupnˇe / v´ystupn´ıch port˚u. V pˇr´ıpadˇe potˇreby je moˇzn´e syst´em rozˇs´ıˇrit o druhou desku, kter´a nese pr´avˇe tyto vstupnˇe / v´ystupn´ı svorky.

5.1.1 R´ˇıdic´ı poˇc´ıtaˇc

Z´akladn´ım stavebn´ım prvkem kaˇzd´eho syst´emu je procesorov´a jednotka. Jiˇz pˇri n´avrhu je

(26)

by se ale nemˇelo jednat o centr´aln´ı jednotku, kter´a by svou cenou degradovala cel´y syst´em z finanˇcn´ıho hlediska.

Centr´aln´ı jednotka m˚uˇze b´yt bud’ vybudov´ana na z´akladnˇe libovoln´eho mikrokontrol´eru, kter´ych jsou v nab´ıdce stovky od r˚uzn´ych v´yrobc˚u, nebo je moˇzn´e vyuˇz´ıt nˇekter´y z v´yvojov´ych kit˚u, v nichˇz je mikrokontroler vˇcetnˇe vybran´ych periferi´ı pˇripojen na z´akladn´ı desku. U do- stateˇcnˇe v´ykonn´ych mikrokontrol´er˚u je ˇcasto pˇripojen s´ıt’ov´y konektor, pˇr´ıpadnˇe USB sbˇernice.

Takov´ato deska pak obsahuje tak´e vstupnˇe - v´ystupn´ı piny, pomoc´ı kter´ych lze tuto desku zapojit do vyv´ıjen´eho syst´emu. D´ıky takov´e pˇr´ıpravˇe jiˇz od v´yrobce je moˇzn´e urychlit ˇcas nutn´y k v´yvoji z´akladn´ıho HW vyv´ıjen´e aplikace.

5.1.2 V´yvojov´e desky

V´yvojov´e desky jsou nab´ızeny v cel´em v´ykonov´em spektru. Zat´ımco nejm´enˇe v´ykonn´e z´akladn´ı desky nemaj´ı podporu pro pˇr´ıstup k s´ıt’ov´emu rozhran´ı, ty v´ykonnˇejˇs´ı jiˇz nab´ızej´ı nejenom pˇr´ıstup k s´ıt’ov´emu rozhran´ı, ale nav´ıc i podporu pro bˇeh operaˇcn´ıho syst´emu.

Pokud by doˇslo k v´ybˇeru z´akladn´ı desky, kter´a nezahrnuje podporu pro bˇeh operaˇcn´ıho syst´emu, bylo by nutn´e vyvinout, pˇr´ıpadnˇe z´ıskat z´akladn´ı knihovn´ı funkce. Pod pojmem z´akladn´ıch funkc´ı se rozum´ı pˇredevˇs´ım pˇr´ıstup k s´ıt’ov´ym funkc´ım, pˇr´ıpadnˇe ukl´ad´an´ı konfiguraˇcn´ıch dat do perzistentn´ı pamˇeti. Veˇsker´e knihovn´ı funkce by pak byly vyvinuty na m´ıru dan´emu mikro- kontrol´eru a tud´ıˇz bez ´uprav nepouˇziteln´e na jin´e platformˇe.

V pˇr´ıpadˇe v´ybˇeru z´akladn´ı desky s podporou bˇehu operaˇcn´ıho syst´emu nen´ı nutn´e vyv´ıjet knihovn´ı funkce zajiˇst’uj´ıc´ı z´akladn´ı komunikaci. Vyv´ıjen´y software bude nav´ıc ps´an za pomoci obecn´ych knihovn´ıch funkc´ı, kter´e dan´y operaˇcn´ı syst´em zahrnuje. V´ysledn´y software bude tedy moˇzn´e vyuˇz´ıt na libovoln´e v´yvojov´e desce s podporou stejn´eho operaˇcn´ıho syst´emu. Podpora pro bˇeh operaˇcn´ıho syst´emu je natolik z´asadn´ı, ˇze v´ybˇer prob´ıhal pouze mezi z´akladn´ımi deskami s jeho podporou.

Obr´azek 7: ˇR´ıdic´ı deska Cubieboard2

(27)

V´ybˇer hlavn´ı ˇr´ıdic´ı desky je jedn´ım z kl´ıˇcov´ych rozhodnut´ı, jeˇz je nutn´e prov´est. Hlavn´ım poˇzadavkem byl poˇcet vstupnˇe/v´ystupn´ıch pin˚u a dalˇs´ıch komunikaˇcn´ıch rozhran´ı na desce do- stupn´ych. Vybr´ana byla deska vyvinut´a firmouCubietech s n´azvem Cubieboard2. Deska dispo- nuje 96 vyveden´ymi piny, z nichˇz lze pˇrev´aˇznou vˇetˇsinu vyuˇz´ıt jako bin´arn´ı vstupy a v´ystupy, pˇr´ıpadnˇe jim pˇriˇradit speci´aln´ı funkce. Speci´aln´ı funkc´ı se kupˇr´ıkladu rozum´ı nastaven´ı dvou pin˚u tak, aby se tv´aˇrily jako I2C rozhran´ı. Celkovˇe deska disponuje 4 x rozhran´ımUART a 1 x rozhran´ıI2C. Z dalˇs´ıch rozhran´ı, kter´e jsou na desce pˇripojeny lze jmenovat napˇr´ıklad ethernet, USB, pˇr´ıpadnˇe grefick´e HDMI.

V realizovan´em pˇr´ıpadˇe je zapojeno 10 pin˚u jako vstupy a 10 pin˚u jako v´ystupy. Rozhran´ı I2C je pˇripojeno prostˇrednictv´ım pˇrevodn´ıku na OneWire sbˇernici (pops´ano v kapitole 5.1.4). Dvˇe s´eriov´a rozhran´ı jsou vyvedena na extern´ı svorkovnici pro budouc´ı vyuˇzit´ı (pops´ano v kapitole 5.1.5), jedno s´eriov´e rozhran´ı je vyhrazeno pro komunikaci s bluetooth modulem (pops´ano v kapitole 5.1.6). Rozhran´ı ethernet slouˇz´ı pro pˇripojen´ı k s´ıti, ostatn´ı rozhran´ı z˚ustaly v syst´emu nevyuˇzity.

Na desce je osazen dvouj´adrov´y procesor zaloˇzen´y na architektuˇre ARM s maxim´aln´ı frek- venc´ı 1.2GHz [14]. Jedn´a se o architekturu porocesor˚u speci´alnˇe vyvinutou pro vyuˇzit´ı v zaˇr´ızen´ıch s n´ızkou spotˇrebou energie. Procesor je doplnˇen o 1024MB sd´ılen´e pamˇeti RAM. Deska je nav´ıc osazena 4GB pamˇet’i NAND, j´ıˇz je moˇzn´e vyuˇz´ıt pro uloˇzen´ı operaˇcn´ıho syst´emu.

5.1.3 Stabiliz´ator napˇet´ı

Pro bˇeh z´akladn´ı desky je nutn´e pˇriv´est napˇet´ı 5V, odeb´ıran´y proud se pohybuje mezi 500 aˇz 2000 mA [14]. Pˇri zapojen´ı do infrastruktury automatizace se ale pˇredpokl´ad´a nap´ajen´ı nˇekter´ym ze standardn´ıch nap´ajec´ıch napˇet´ı a to 12 nebo 24V.

Kv˚uli poˇzadavku na sn´ıˇzen´ı napˇet´ı z 24V na 5V byl jako stabiliz´ator vybr´an LM 2575 [13].

Jedn´a se o standardn´ıstep-down sp´ınan´y regul´ator. Jeho zapojen´ı na prototypov´e desce je zcela dle doporuˇcen´ı v´yrobce [13].

5.1.4 OneWire sbˇernice

Aby mohl vyv´ıjen´y syst´em zjiˇst’ovat aktu´aln´ı teplotu, je nutn´e jeho vybaven´ı o pˇr´ısluˇsn´e rozhran´ı. Pro mˇeˇren´ı teploty byly vybr´any teplotn´ı ˇcidla DS18B20 od firmy Maxim [17]. Jedn´a se o velmi rozˇs´ıˇren´y modul, kter´y poskytuje dostateˇcnou pˇresnost pˇri velmi pˇr´ızniv´e cenˇe.

Tato teplotn´ı ˇcidla komunikuj´ı prostˇrednictv´ım OneWire sbˇernice. Jedn´a se o sbˇernici, kter´e postaˇcuj´ı dva vodiˇce. Jeden vodiˇc je urˇcen´y pro nulov´y potenci´al (GND), druh´ym vodiˇcem jsou jednotliv´a zaˇr´ızen´ı nap´ajena a z´aroveˇn j´ım komunikuj´ı. Takov´eto zapojen´ı je doporuˇcen´e podle

(28)

dokumentace v´yrobce pouze pro m´enˇe rozs´ahl´e instalace. Pˇri zapojen´ı vyˇsˇs´ıho poˇctu teplotn´ıch ˇcidel je doporuˇceno pˇristoupit ke tˇr´ı dr´atov´emu zapojen´ı. V pˇr´ıpadˇe tˇr´ıdr´atov´eho zapojen´ı je tˇret´ı dr´at vyuˇzit jako trval´y zdroj napˇet´ı [17].

Protoˇze hlavn´ıˇr´ıdic´ı poˇc´ıtaˇc nedisponuje rozhran´ım pro OneWire sbˇernici, bylo jeho zapojen´ı doplnˇeno o pˇrevodn´ık DS2482. Tento ˇcip prov´ad´ı pˇrevod I2C rozhran´ı na OneWire sbˇernici.

Pˇrevodn´ık m´a implementovanou podporu pˇr´ımo v j´adru Linuxu, jeho pouˇzit´ı tedy bylo velmi jednoduch´e.

5.1.5 S´eriov´e rozhran´ı

Aby si syst´em zachoval jistou moˇznost dalˇs´ıho rozˇs´ıˇren´ı, byla na hlavn´ı desce vyvedena dalˇs´ı dvˇe s´eriov´a rozhran´ı, kter´a rozˇs´ıˇren´ı o nov´e komunikaˇcn´ı kan´aly umoˇzˇnuj´ı.

V pˇr´ıpadˇe potˇreby pˇripojen´ı ke sbˇernici KNX by se nab´ızelo vyuˇz´ıt napˇr´ıklad modulu TP- UART2 Board BTM2-PCB. Tento modul pˇredstavuje pˇrevodn´ık mezi KNX sbˇernic´ı (KNX.TP) a s´eriovou linkou. Samotn´e pˇripojen´ı modulu k syst´emu by samozˇrejmˇe nebylo dostateˇcn´e, pˇripojen´ı by vyˇzadovalo ´upravu softwaru. Na internetu je dostupn´a ˇrada open source kniho- ven, d´ıky kter´ym je moˇzn´e pˇristupovat pomoc´ı tohoto modulu na KNX sbˇernici. Bylo by tedy bezpodm´ıneˇcnˇe nutn´e portovat nˇekterou z tˇechto knihoven a naimplementovat jej´ı obsluhu do syst´emu.

5.1.6 Bluetooth rozhran´ı

Jak jiˇz bylo pops´ano v pˇredchoz´ıch kapitol´ach, Bluetooth komunikace je v syst´emu pouˇzita pro ´uˇcely lokalizace uˇzivatele. Na trhu je dostupn´a ˇrada ˇr´ıdic´ıch desek, kter´e jiˇz maj´ı kombino- van´y WiFi / Bluetooth modul s podporou BLE pˇr´ıtomn´y na desce. Pouˇzit´ı modulu s osazen´ym modulem by se mohlo zd´at v´yhodnˇejˇs´ı, odpad´a potˇreba dalˇs´ı souˇc´asti, u kter´e by mohlo doj´ıt k poˇskozen´ı, pˇr´ıpadnˇe k nekompatibilitˇe. Nicm´enˇe toto ˇreˇsen´ı nebylo vybr´ano a to z d˚uvodu, ˇze pokud je Bluetooth modul extern´ı, je moˇzn´e optimalizovat jeho um´ıstˇen´ı. Je moˇzn´e nainstalovat ˇr´ıdic´ı desku do rozvadˇeˇce a n´aslednˇe vyv´est Bluetooth modul na optim´aln´ı m´ısto. Nicm´enˇe je nutn´e respektovat fyzick´a omezen´ı s´eriov´eho rozhran´ı.

Extern´ı Bluetooth moduly se standardnˇe pˇripojuj´ı pˇres rozhran´ıUART. Bluetooth modul se pak m˚uˇze nach´azet ve dvou stavech. V prvn´ım stavu pˇrij´ım´a takzvan´e AT pˇr´ıkazy, pomoc´ı kter´ych je moˇzn´e modul nastavit. Do druh´eho stavu se modul dostane ve chv´ıli, kdy dojde ke spojen´ı s jin´ym zaˇr´ızen´ım, pot´e se veˇsker´a data poslan´a pˇres UART rozhran´ı pˇrenesou na vzd´alenou stranu spojen´ı. Stejnˇe tak se veˇsker´a data odeslan´a vzd´alenou stranou pˇrenesou na s´eriov´e rozhran´ıUART.

(29)

5.1.6.1 Bluetooth modul

Jedn´ım z prvn´ıch ˇsiroce nab´ızen´ych Bluetooth modul˚u s podporou standardu Low Energy byl modul zaloˇzen´y na ˇcipu CC2540 od firmy Texas Instruments [19]. Modul se nab´ız´ı pod oznaˇcen´ım HM-10 a je vyr´abˇen ˇc´ınskou firmou Huamao technology.

Obr´azek 8: Bluetooth modul HM-10

Bluetooth modul je nutn´e spr´avnˇe nastavit tak, aby se choval jako server. V tomto m´odu nejen ˇze bude moˇzn´e se k nˇemu pˇripojit z mobiln´ıho termin´alu, ale modul bude vys´ılat r´amce, pomoc´ı kter´ych bude moˇzn´e jeho nalezen´ı. Tyto r´amce jsou v normˇe oznaˇcovan´e jako iBeacon r´amce. Jedn´a se o speci´alnˇe form´atovan´e zpr´avy, kter´e jsou periodicky vys´ıl´any. Jejich obsahem je pˇredevˇs´ım jednoznaˇcn´y identifik´ator oznaˇcuj´ıc´ı typ modulu a popis dostupn´ych sluˇzeb.

5.1.7 Vstupnˇe - v´ystupn´ı rozˇsiˇruj´ıc´ı modul

Jedn´a se o modul, kter´y nen´ı pevnˇe spojen s hlavn´ı ˇc´ast´ı prototypu. Tento modul nab´ız´ı rozˇs´ıˇren´ı o 10 vstupn´ıch a 10 v´ystupn´ıch port˚u.

Jako vstupn´ı optick´e oddˇelovaˇce jsou pouˇzity integrovan´e obvody od firmy Cosmo, PC817B.

Optoˇcleny maj´ı izolaˇcn´ı pevnost do 5kV.

Na vstupu optoizol´ator˚u je LED dioda, jej´ıˇz maxim´aln´ı proud je 50mA, ˇspiˇckovˇe aˇz 1A.

Za norm´aln´ıho provozu by ale nemˇel pˇresahovat 20mA. Pro splnˇen´ı tˇechto podm´ınek je nutn´e spr´avnˇe spoˇc´ıtat odpor zapojen´y s diodou do s´erie. V´ypoˇcet vych´az´ı z hodnoty maxim´aln´ıho proudu z datasheetu a z maxim´aln´ıho vstupn´ıho napˇet´ı 24V. V´ypoˇcet je uveden v rovnici 1.

R= Umax−ULED

Imax

= 24.0−1.5

20.10−3 = 1.125kΩ (1)

Pˇri v´ybˇeru v´ystupn´ıch optoˇclen˚u je moˇzn´e vyb´ırat ze dvou typ˚u, s triakov´ym v´ystupem nebo tranzistorov´ym v´ystupem. Pouˇzit´ı v´ystupn´ıch optoˇclen˚u s triaky je omezeno pouze na sp´ın´an´ı stˇr´ıdav´ych napˇet´ı, zat´ımco pˇri spr´avn´em zapojen´ı optoˇclenu s tranzistorov´ym v´ystupem

(30)

je moˇzn´e sp´ınat jak stˇr´ıdav´e tak i stejnosmˇern´e obvody. Do zapojen´ı byly vybr´any oba dva druhy v´ystupn´ıch prvk˚u.

Obr´azek 9: Vnitˇrn´ı uspoˇr´ad´an´ı KAQV214 [15]

Obr´azek 10: Vnitˇrn´ı uspoˇr´ad´an´ı MOC3022 [16]

Na obr´azku 9 je vnitˇrn´ı zapojen´ı optoˇclenu s tranzistorov´ym v´ystupem. Aby bylo moˇzn´e pomoc´ı tranzistorov´eho v´ystupu ovl´adat stejnosmˇern´e i stˇr´ıdav´e obvody mus´ı se v´ystupn´ı obvod zapojit mezi piny 4 a 6. Z obr´azk˚u vnitˇrn´ıch zapojen´ı 9 a 10 je zˇrejm´e, ˇze jsou mezi sebou zamˇeniteln´e. Vstupn´ı sign´aly na fotodiodu jsou rovnˇeˇz stejn´e - 1.2V pˇri proudu 10mA.

5.2 SW n´avrh ˇreˇsen´ı

Pro implementaci projektu byl vybr´an framework Qt. Hlavn´ım d˚uvodem k v´ybˇeru pr´avˇe to- hoto frameworku je jeho ˇsirok´e pole p˚usobnosti. Je moˇzn´e v nˇem vytv´aˇret jak konzolov´e aplikace bez uˇzivatelsk´eho rozhran´ı, tak i aplikace s grafick´ym rozhran´ım. Nejvˇetˇs´ı v´yhodou Qt je podpora v´ıce platforem neˇz pouze x86 PC. Tato podpora dovoluje spouˇstˇet stejnou aplikaci na bˇeˇzn´em poˇc´ıtaˇci i na mobiln´ıch zaˇr´ızen´ıch s operaˇcn´ımi syst´emy Android / iOS. Kompletn´ı seznam pod- porovan´ych platforem je k nalezen´ı na http://doc.qt.io/qt-5/supported-platforms.html.

Cel´y projekt je rozdˇelen do ˇsesti vz´ajemnˇe z´avisl´ych ˇc´ast´ı. Jednou z nich je aplikace bˇeˇz´ıc´ı na serveru -Serverov´a aplikace a dvˇe aplikace s grafick´ym rozhran´ım - Konfiguraˇcn´ı aplikace, Uˇzivatelsk´a aplikace. Zb´yvaj´ıc´ı tˇri ˇc´asti projektu jsou zam´yˇsleny jako sd´ılen´e knihovny posky- tuj´ıc´ı funkce a objekty, kter´e se staraj´ı o v´ymˇenu a ukl´ad´an´ı dat. Sd´ılen´e knihovny jsou Com- municationHandler,DatabaseHandler a ObjectHandler.

5.2.1 Embedded linux

Hlavn´ı ˇr´ıdic´ı deska podporuje bˇeh operaˇcn´ıho syst´emu Linux. Instalace linuxov´eho prostˇred´ı na bˇeˇzn´em poˇc´ıtaˇci je velmi snadn´a. V pˇr´ıpadˇe vestavˇen´ych syst´em˚u je nutn´e dodrˇzet nˇekolik

(31)

z´akladn´ıch krok˚u, jak postupovat pˇri sestavov´an´ı cel´eho syst´emu.

Vstupn´ım prvkem kaˇzd´eho embedded linuxu je bootloader, ˇcesky zavadˇeˇc. ´Ukolem zavadˇeˇce je z´akladn´ı nastaven´ı periferi´ı a pˇr´ıstupu k pamˇeti. Nav´ıc se zavadˇeˇc star´a o nahr´an´ı linuxov´e j´adra z pˇripojen´e MicroSD karty pˇri startu syst´emu. Pˇri v´ybˇeru bootloaderu je nutn´e db´at na to, zda obsahuje podporu pro dan´y typ procesoru. Nejrozˇs´ıˇrenˇejˇs´ım a nejv´ıce podporovan´ym zavadˇeˇcem jeDas U-Boot. Jedn´a se o univerz´aln´ı open source zavadˇeˇc, kter´y zahrnuje podporu nejen procesor˚u architektury ARM, ale tak´e PowerPC, MIPS a dalˇs´ıch.

Linuxov´e j´adro je nutn´e um´ıstit na speci´aln´ı (pˇredem zadanou) adresu na MicroSD kartˇe.

Je proto nutn´e j´adro takzvanˇe vyp´alit, nestaˇc´ı pouze zkop´ırovat na souborov´y syst´em. Zdrojov´e k´ody linuxov´eho j´adra jsou volnˇe dostupn´e. Pro ´uspˇeˇsn´e fungov´an´ı j´adra je nutn´e pouˇzit´ı j´adra s rozˇs´ıˇren´ım o podporu procesor˚u Allwinner. Takov´e j´adro je volnˇe ke staˇzen´ı v repozit´aˇr´ıch udrˇzovan´ych sdruˇzen´ım sunxi [20]. J´adro udrˇzovan´e sdruˇzen´ım sunxi je vˇzdy zaloˇzeno na nˇekter´e z ofici´aln´ıch verz´ı linuxov´eho j´adra. Do j´adra jsou n´aslednˇe aplikov´any zmˇeny, kter´e umoˇzn´ı podporu vˇsech periferi´ı dan´eho procesoru.

Shodnost j´adra distribuovan´eho komunitou sunxi s ofici´aln´ım j´adrem je d˚uleˇzit´a zejm´ena ve chv´ıli, kdy vznikne poˇzadavek na aplikaci dalˇs´ıch zmˇen. V tomto pˇr´ıpadˇe byly aplikov´any zmˇeny na podporureal-time bˇehu.

Posledn´ı souˇc´ast´ı kaˇzd´eho linuxov´eho syst´emu je z´akladn´ı adres´aˇrov´a struktura spolu se z´akladn´ımi programy, takzvan´yfilesystem. Cel´y z´akladn´ı syst´em je moˇzn´e sestavit podobnˇe jako linuxov´e j´adro ze zdrojov´ych k´od˚u. Sestaven´ı cel´e struktury by ale zabralo velk´e mnoˇzstv´ı ˇcasu, a proto bylo vyuˇzito pˇredem pˇripraven´eho z´akladn´ıho filesyst´emu, dostupn´eho online.

Sestaven´ı j´adra linuxu, vˇcetnˇe korektn´ı instalace na MicroSD kartu bylo zautomatizov´ano pomoc´ı skript˚u napsan´ych v jazyce BASH.

5.2.2 Qt Framework

Qt Framework je zaloˇzen na programovac´ım jazyce C++ a je vyv´ıjen pod open source licen- cemi. Jeho hlavn´ım smyslem je poskytnut´ı kompaktn´ıho ekosyst´emu knihoven a dalˇs´ıch n´astroj˚u pro v´yvoj cross-platform aplikac´ı.

Nejvˇetˇs´ım rozˇs´ıˇren´ım jazyka C++ v Qt Frameworku je zaveden´ı takzvan´ychsign´al˚u aslot˚u [22]. Vyuˇzit´ı vazby typu signal - slot m´a v´yhody pˇredevˇs´ım v grafick´ych aplikac´ıch. Tyto aplikace jsou charakteristick´e t´ım, ˇze velkou ˇc´ast sv´eho bˇehu nevykon´avaj´ı ˇz´adnou akci, avˇsak jakmile uˇzivatel stiskne tlaˇc´ıtko, je nutn´e okamˇzit´e vykon´an´ı obsluhy.

Vˇetˇsina ostatn´ıch framework˚u tuto situaci ˇreˇs´ı tak, ˇze pˇri kliknut´ı je zavol´an tzv. callback.

Jedn´a se o ukazatel na funkci, kter´a m´a za ´ukol obslouˇzit danou akci. Nev´yhodou tohoto pˇr´ıstupu

(32)

je nemoˇznost typov´e kontroly, zda volan´a funkce vyˇzaduje urˇcit´e parametry, a zda jsou tyto parametry zad´any. Pokud nen´ı tato kontrola provedena, m˚uˇze doj´ıt k neoˇcek´avan´ym p´ad˚um aplikace z d˚uvodu pˇr´ıstupu k neinicializovan´e pamˇeti a podobnˇe [22].

Nav´az´an´ı sign´alu na slot je schematicky zn´azornˇeno na obr´azku 11. Jak je ze sch´ematu zˇreteln´e, prvn´ı objekt definuje sign´al, jenˇz bude vysl´an. Druh´y objekt kter´y na danou akci m˚uˇze reagovat definuje naopak slot. Vytvoˇren´ı vazby - connect je moˇzn´e zavolat z libovoln´eho jin´eho objektu, kter´y obsahuje reference na oba objekty. V pr˚ubˇehu kompilace projektu je kontrolov´ano, zda zdrojov´a funkce objektu 1 (sign´al) obsahuje stejn´y poˇcet parametr˚u stejn´eho typu jako c´ılov´a funkce objektu 2 (slot).

Obr´azek 11: Grafick´e zn´azornˇen´ı sign´al - slot [22]

Existuj´ı ale i jist´a omezen´ı, kter´a je nutn´e zn´at a respektovat. V n´asleduj´ıc´ıch odstavc´ıch budou tato omezen´ı pops´ana oddˇelenˇe pro sign´aly i sloty. Veˇsker´a uveden´a upozornˇen´ı jsou ˇcerp´ana z [22].

5.2.2.1 Sign´aly

Sign´aly mohou b´yt vysl´any z jak´ehokoliv m´ısta v k´odu, avˇsak je doporuˇceno vys´ılat sign´aly pouze z objektu, kter´y dan´y sign´al definuje. Obsah bloku slotu je vykon´an okamˇzitˇe po vysl´an´ı sign´alu ve stejn´em vl´aknˇe, z nˇehoˇz byl sign´al vysl´an. Jedn´a se tedy o rovnocennou akci, jako zavol´an´ı bˇeˇzn´e funkce.

Existuje zde vˇsak jedna v´yjimka, pokud se pˇri vytv´aˇren´ı spojen´ı (connection) zad´a jako po- sledn´ı parametr typ spojen´ıQt::QueuedConnection, vykon´a se blok slotu aˇz po skonˇcen´ı obsluhy vysl´an´ı sign´alu.

(33)

Sign´aly jsou ve zdrojov´em k´odu pouze definov´any, nejsou implementov´any. O jejich imple- mentaci se star´a v pr˚ubˇehu kompilace takzvan´yMeta Object Compiler [23].

5.2.2.2 Sloty

Slot je vˇzdy zavol´an, pokud doˇslo k vysl´an´ı sign´alu, na kter´y je dan´y slot nav´az´an. Na rozd´ıl od sign´alu je funkce implementuj´ıc´ı slot naprosto shodn´a s bˇeˇznou funkc´ı, a lze k n´ı tak i pˇristupovat.

Zavol´an´ı slotu, kter´y je nav´az´an s nˇekter´ym sign´alem, nen´ı samozˇrejmˇe zdarma, je zde jist´e zdrˇzen´ı zp˚usoben´e vyhled´an´ım spr´avn´e vazby a jej´ım n´asledn´ym zpracov´an´ım. Autoˇri Qt uv´adˇej´ı zhruba desetin´asobn´e zpomalen´ı v porovn´an´ı s pˇr´ım´ym zavol´an´ım funkce.

5.2.3 Object Handler

Jedn´a se o knihovnu, jeˇz popisuje vˇsechny objekty, jeˇz jsou vymˇeˇnov´any mezi klientskou a serverovou ˇc´ast´ı. V t´eto knihovnˇe jsou zavedeny dvˇe abstraktn´ı tˇr´ıdy, kter´e pˇredepisuj´ı metody, jeˇz mus´ı kaˇzd´y objekt implementovat. Tyto abstraktn´ı tˇr´ıdy jsouObjectHandleraDataObject.

Prvn´ı tˇr´ıda ObjectHandler zav´ad´ı metody, jeˇz jsou urˇceny pro serializaci a deserializaci objekt˚u, kter´e maj´ı b´yt odesl´any nebou pˇrijaty. Druh´a tˇr´ıda DataObject pˇredepisuje metody, kter´e jsou vyuˇzity pro ukl´ad´an´ı objekt˚u do perzistentn´ıho ´uloˇziˇstˇe (datab´aze).

V pˇr´ıloze na obr´azku 23 je zobrazen UML diagram vztahu (dˇediˇcnosti) mezi rozhran´ım IObjectHandler a dvˇema objekty, kter´e jej implementuj´ı. Na obr´azku 24, rovnˇeˇz v pˇr´ıloze, je zobrazen celkov´y UML diagram pro tˇr´ıduUser.

5.2.3.1 Pˇrenos objekt˚u

Spojen´ı je vˇzdy zaloˇzeno na principu spolehliv´eho kan´alu realizovan´eho prostˇrednictv´ım TCP/IP. Data, kter´a jsou t´ımto spojen´ım pˇren´aˇsena, nen´ı bezpodm´ıneˇcnˇe nutn´e chr´anit proti poˇskozen´ı pˇri pˇrenosu. Tato ochrana je jiˇz implementov´ana niˇzˇs´ı vrstvou TCP/IP v podobˇe v´ypoˇctu CRC.

Pˇren´aˇsen´a data jsou ve form´atu XML. Jedn´a se o univerz´aln´ı rozˇsiˇriteln´y znaˇckovac´ı jazyk, jenˇz klade velk´y d˚uraz na spr´avn´e form´atov´an´ı a uzav´ır´an´ı tag˚u. Pˇrenos ve form´atu XML byl vybr´an pˇredevˇs´ım s ohledem na moˇznost dalˇs´ıho vyuˇzit´ı dat i mimo vyv´ıjen´e aplikace. V pˇr´ıpadˇe potˇreby je moˇzn´e jak´akoliv data kdykoliv exportovat a pomoc´ı extern´ıch n´astroj˚u d´ale vyuˇz´ıvat.

Pro pˇrenos vˇsech objekt˚u je zvolena jednotn´a kostra zpr´avy 12.

Kaˇzd´a zpr´ava tak obsahuje hlaviˇcku oznaˇcuj´ıc´ı, ˇze se jedn´a o xml zpr´avu. Koˇrenov´ym atri- butem kaˇzd´e zpr´avy je typ operace, kter´a m´a b´yt pro dan´y objekt vykon´ana. Moˇzn´e varianty

(34)

(1)<?xml version="1.0"?>

(2)<operation type="">

(3) <object name=""/>

(2)</operation>

Obr´azek 12: Minim´aln´ı kostra pˇren´aˇsen´ych dat jsou detailnˇe pops´any v tabulce 2.

Posledn´ım vnoˇren´ym atributem je jm´eno objektu, pro kter´y bude dan´a akce vykon´ana. V pˇr´ıpadˇe, ˇze se jedn´a o vol´an´ı operace typu GET, je moˇzn´e, aby byl obsah objektu pr´azdn´y.

V takov´em pˇr´ıpadˇe jsou navr´aceny vˇsechny vyhovuj´ıc´ı hodnoty. Pokud se jedn´a o vol´an´ı jin´e operace, je nutn´e, aby bylo vyplnˇeno rovnˇeˇz i tˇelo objektu.

ADD vytvoˇren´ı nov´eho objektu dan´eho typu GET vyˇcten´ı dat z aktu´aln´ıho objektu SET nastaven´ı dat do aktu´aln´ıho objektu DEL vymaz´an´ı aktu´aln´ıho objektu

INVOKE vykon´an´ı pˇr´ıkazu na aktu´aln´ım objektu RESP pˇr´ıjem odpovˇedi na pˇredchoz´ı dotaz / pˇr´ıkaz Tabulka 2: V´ypis moˇzn´ych akc´ı vykonan´ych na objektech

Zpracov´an´ı komunikace je na stranˇe klienta omezeno pouze na odpovˇedi od serveru. Zpra- cov´av´any jsou pouze zpr´avy typu RESP. Pˇri zpracov´an´ı pˇrijat´ych dat je nejdˇr´ıve provedena kontrola, zda se jedn´a o validn´ı (spr´avnˇe form´atovan´y) xml dokument. V kladn´em pˇr´ıpadˇe je naˇcteno jm´eno objektu, kter´eho se zpr´ava t´yk´a, a operace, kter´a m´a b´yt provedena. Posledn´ım krokem je proveden´ı poˇzadavku a aktualizace dat.

Zpracov´an´ı komunikace je na stranˇe serveru doplnˇeno o krok ovˇeˇren´ı, kter´y je vloˇzen pˇred vlastn´ı zpracov´an´ı operace. C´ılem je zabr´anit neopr´avnˇen´e zmˇenˇe objektu. Vlastn´ı proces ovˇeˇren´ı opr´avnˇen´ı je pops´an v pˇr´ısluˇsn´e ˇc´asti pr´ace vˇenovan´e softwaru na stranˇe serveru.

5.2.4 Communication Handler

Jedn´a se o knihovnu, kterou vyuˇz´ıv´a uˇzivatelsk´a a konfiguraˇcn´ı aplikace. Hlavn´ım ´uˇcelem t´eto knihovny je vyhled´av´an´ı dostupn´ych server˚u a navazov´an´ı komunikace s nimi. Po nav´az´an´ı komunikace automaticky dojde k autentizaci uˇzivatele. Vyˇsˇs´ı vrstvy vyuˇz´ıvaj´ıc´ı tuto knihovnu obdrˇz´ı spojen´ı, kter´e je jiˇz pˇripraveno k odes´ıl´an´ı a pˇr´ıjmu dat.

(35)

5.2.4.1 Bluetooth klient

Komunikace pomoc´ı Bluetooth s podporou standardu Low Energy je v Qt Frameworku podporov´ana od verze 5.4. V t´eto verzi prob´ıhal v´yvoj velmi bouˇrlivˇe, a tak je doporuˇceno pouˇzit´ı verze 5.5 a vyˇsˇs´ı. V t´eto verzi je jiˇz API pro pˇr´ıstup stabilizov´ano. I pˇresto, ˇze vˇetˇsina pr´ace s ohledem na podporu t´eto technologie je oznaˇcena za hotovou, byla v pr˚ubˇehu pr´ace nalezena ˇrada problem˚u.

Vzhledem k tomu, ˇze Qt technologie je zaloˇzena na principu pos´ıl´an´ı sign´al˚u do pˇripraven´ych slot˚u, je i BLE subsyst´em naps´an t´ımto zp˚usobem. Vyhled´av´an´ı okoln´ıch Bluetooth zaˇr´ızen´ı prob´ıh´a tak, ˇze objektQBluetoothDeviceDiscoveryAgent zaregistruje sign´alydeviceDiscovered a finished. Pˇr´ısluˇsn´e sign´aly jsou pak obslouˇzeny tak, ˇze deviceDiscovered je vykon´an vˇzdy, kdyˇz dojde k nalezen´ı nov´eho zaˇr´ızen´ı, sign´al finished je vykon´an ve chv´ıli, kdy jiˇz doˇslo k nalezen´ı vˇsech okoln´ıch Bluetooth zaˇr´ızen´ı.

V pr˚ubˇehu testov´an´ı vyhled´av´an´ı dostupn´ych zaˇr´ızen´ı se na platformˇe Android vyskytl probl´em v tom, ˇze sign´al o ukonˇcen´ı vyhled´av´an´ı byl vysl´an aˇz v rozmez´ı 60 - 90 s od poˇc´atku vyhled´av´an´ı. Jednotliv´a zaˇr´ızen´ı sice byla ve vˇetˇsinˇe pˇr´ıpad˚u nalezena jiˇz v pr˚ubˇehu prvn´ıch 10 - 15 s, nicm´enˇe i zde byl pozorov´an velk´y ˇcasov´y rozptyl, coˇz by nebylo pro tento syst´em (lokalizaci uˇzivatele) vhodn´e. Uˇzivatel by musel ˇcekat relativnˇe dlouhou dobu, neˇz by bylo moˇzn´e spoleh- livˇe urˇcit, ke kter´emu z dostupn´ych zaˇr´ızen´ı se pˇripojit. V pr˚ubˇehu ˇreˇsen´ı tohoto probl´emu byl nalezen z´aznam o stejn´em chov´an´ı na platformˇe Android i v bugzille Qt projektu, po- pis probl´emu je moˇzn´e nal´ezt na adrese https://bugreports.qt.io/browse/QTBUG-46253.

Oprava je pl´anov´ana ve verzi Qt Framework 5.8.

Vzhledem k nemoˇznosti pouˇzit´ı intern´ıch mechanizm˚u Qt Frameworku bylo nutn´e nastalou situaci vyˇreˇsit. Prvn´ım krokem bylo ovˇeˇren´ı, zda je platforma Android schopn´a vyhled´avat BLE zaˇr´ızen´ı l´epe, neˇz jak je tato funkce implementov´ana uvnitˇr Qt. Byla tedy vyvinuta jednoduch´a aplikace, jej´ımˇz jedinn´ym ´ukolem bylo vyhled´avat dostupn´a BLE zaˇr´ızen´ı.

Podobnˇe jako v pˇr´ıpadˇe implementace BLE podpory uvnitˇr Qt Frameworku, byl i v pˇr´ıpadˇe platformy Android v´yvoj velmi bouˇrliv´y. Podpora pro BLE byla zavedena ve verzi 18 [24], nicm´enˇe pro verze Android menˇs´ı neˇz 21 je nutn´e pouˇz´ıvat jin´e API, neˇz kter´e je doporuˇcen´e pouˇz´ıvat pro verze Android vyˇsˇs´ı neˇz 21 vˇcetnˇe [25]. Vyv´ıjen´a aplikace pro vyhled´av´an´ı tyto zmˇeny v API reflektuje, a proto je moˇzn´e jej´ı pouˇzit´ı jak na starˇs´ıch syst´emech Android 4.3, tak i na novˇejˇs´ıch syst´emech verze 5.0.

Aplikace vyvinut´a pˇr´ımo pro platformu Android se uk´azala jako funkˇcn´ı, vyhled´an´ı vˇsech dostupn´ych zaˇr´ızen´ı je dokonˇceno ve zlomc´ıch vteˇrin. Posledn´ım krokem tedy bylo zavol´an´ı

Odkazy

Související dokumenty

Tato diplomov´ a pr´ ace si klade za c´ıl vyvinout v programovac´ım jazyce C++ n´ astroj pro simulaci 1D proudˇ en´ı pr˚ uchodu plynu radi´ aln´ım kompresorem turbodmychadla,

C´ılem bakal´aˇrsk´e pr´ace je n´avrh elektroniky rozhran´ı modulu iNemo M1, kter´e umoˇzn´ı pˇrenos zmˇeˇren´ ych dat do poˇc´ıtaˇce pomoc´ı vhodn´e

Co se t´ yˇ ce pˇ resnosti doporuˇ cen´ı algoritmu, spoˇ c´ıtala jsem RMSE stejnˇ e, jako jej poˇ c´ıtali ˇ reˇ sitel´ e Netflix Prize (porovn´ an´ı skuteˇ cn´ e a

Prvn´ı iluz´ı jsou somatogravick´e iluze, kter´e jsou definov´any jako klamn´ y dojem sklonu po n´ahl´em zrychlen´ı nebo zpomalen´ı pˇri letu za zhorˇsen´ ych

Prvn´ım c´ılem t´ eto pr´ ace je proto identi- fikovat poˇ zadavky, kter´ e se mˇ en´ı kaˇ zd´ ym rokem a dok´ azat navrhnout aplikaci tak, aby ji bylo moˇ zn´ e lehce

Z moˇ zn´ ych poloh paraboly grafu vzhledem k ose x pak snadno odvod´ıme, jak´ e jsou moˇ zn´ e poˇ cty ˇ reˇ sen´ı kvadratick´ e rovnice. Jsou to buˇ d dva koˇ reny,

Existenci konkr´ etn´ı moˇ znosti (ze zn´ am´ e mnoˇ ziny) uk´ aˇ zeme, pokud poˇ cet moˇ znost´ı, kter´ e nemohou nastat je menˇs´ı neˇ z celkov´ y poˇ cet

Existenci konkr´ etn´ı moˇ znosti (ze zn´ am´ e mnoˇ ziny) uk´ aˇ zeme, pokud poˇ cet moˇ znost´ı, kter´ e nemohou nastat je menˇs´ı neˇ z celkov´ y poˇ cet