• Nebyly nalezeny žádné výsledky

Diplomov´ a pr´ ace

N/A
N/A
Protected

Academic year: 2022

Podíl "Diplomov´ a pr´ ace"

Copied!
73
0
0

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

Fulltext

(1)

Fakulta elektrotechnick´ a

Diplomov´ a pr´ ace

Bc. David H´ yvl

Aplikace pro detekci poˇ z´ aru pomoc´ı termokamery

Katedra ˇr´ıdic´ı techniky Vedouc´ı pr´ace: Ing. Jan Kov´aˇr

(2)
(3)

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)

I. OSOBNÍ A STUDIJNÍ ÚDAJE

406378 Osobní číslo:

David Jméno:

Hývl Příjmení:

Fakulta elektrotechnická Fakulta/ústav:

Zadávající katedra/ústav: Katedra řídicí techniky Kybernetika a robotika

Studijní program:

Systémy a řízení Studijní obor:

II. ÚDAJE K DIPLOMOVÉ PRÁCI

Název diplomové práce:

Aplikace pro detekci požáru pomocí termokamery Název diplomové práce anglicky:

Application for fire hazard detection using thermal camera Pokyny pro vypracování:

1. Seznamte se s problematikou bezdotykového měření teploty pomocí mikrobolometrických kamer a jejich připojení k PC .

2. Zpracujte návrh aplikace a její funkce pro detekci požáru pomocí termokamery SMARTIS.

3. Navrhněte a v jazyce C# implementujte aplikaci, která bude řídit potřebná zařízení, využijte při tom návrhový vzor Model-View-ViewModel. Aplikace by měla obsahovat především tyto funkce:

- Funkce pro ovládání parametrů měření přes Ethernet.

- Funkce pro ovládání PTZ motoru přes Ethernet.

- Funkce pro zobrazení infračerveného a viditelného videostreamu z kamery přes Ethernet s minimalni latencí v obraze a podporou až pro 16 kamer současně.

4. Navrhněte a do aplikace a dále implementujte podporu více zařízení a automatický záznam neradiometrického videa a dále radiometrického cyklického videa. Dále využijte digitálních výstupů kamery a průmyslového PC pro ovládání externích zařízení např. pro automatické hašení.

5. Otestujte výpočetní výkonnost a dosahované parametry výsledného obrazu v aplikaci.

6. Diskutujte možnost vylepšení implementovaných nástrojů a použitých algoritmů.

Seznam doporučené literatury:

[1] Raytek (firma): Noncontact temperature measurement, 2004.

[2] Vollmer M.: Infrared Thermal Imaging: Fundamentals, Research and Applications, 2010.

[3] Fluke Corporation: Precision measurement solutions : electrical calibration, temperature calibration, time and frequency standards, calibration software, data acquisition, VXI products, signal sources, value-added services, 2004.

[4] Heitronics Infrarot Messtechnik GmbH: Infrared measuring : instruments and accessories, 2000.

Jméno a pracoviště vedoucí(ho) diplomové práce:

Ing. Jan Kovář, Workswell s.r.o., Praha

Jméno a pracoviště druhé(ho) vedoucí(ho) nebo konzultanta(ky) diplomové práce:

Termín odevzdání diplomové práce: 24.05.2019 Datum zadání diplomové práce: 01.10.2018

Platnost zadání diplomové práce: 30.09.2020

___________________________

___________________________

___________________________

prof. Ing. Pavel Ripka, CSc.

podpis děkana(ky)

prof. Ing. Michael Šebek, DrSc.

podpis vedoucí(ho) ústavu/katedry

Ing. Jan Kovář

podpis vedoucí(ho) práce

(6)
(7)

Nejdˇr´ıve bych r´ad podˇekoval Ing. Janu Kov´aˇrovi za odborn´e veden´ı pr´ace, cenn´e rady, pˇripom´ınky a ˇcas str´aven´y konzultacemi. D´ale chci podˇekovat rodinˇe a pˇr´atel˚um za podporu bˇehem studia a pˇri psan´ı t´eto pr´ace.

(8)
(9)

detekci a signalizaci poˇz´aru za pomoc´ı infraˇcerven´e termografie. ´Uvodn´ı ˇ

c´ast pr´ace se zab´yv´a obecn´ym popisem princip˚u infraˇcerven´e termografie a pouˇzit´ym pˇr´ıstroj˚um. V dalˇs´ı ˇc´asti pr´ace je pops´an pˇr´ıstup k n´avrhu aplikace, n´avrhov´y vzor MVVM a software vˇcetnˇe poˇzadavk˚u, implemen- tovan´ych funkc´ı a popisem kompletn´ı funkˇcnosti cel´eho navrhnut´eho ˇreˇsen´ı pro detekci poˇz´aru. Z´avˇerem t´eto pr´ace je konzultace nad dosaˇzen´ymi poˇzadavky vytvoˇrit komplexn´ı a stabiln´ı ˇreˇsen´ı pro pouˇzit´ı v m´ıstech zhorˇsen´eho pˇr´ıstupu a vysok´eho rizika vzniku poˇz´aru.

Kl´ıˇcov´a slova: termografie, term´aln´ı kamera, C# aplikace, MVVM, de- tekce poˇz´aru, riziko poˇz´aru

Abstract

This diploma thesis deals with the implementation and design of the soft- ware for the detection and signalization of the fire hazard using the infrared thermography. The introduction of this thesis deals with general description of the principles of the infrared thermography and the used devices. In the following chapters is described the approach to the application design, the MVVM design pattern and the software itself including the requirements, description of the implemented functions, and the functionality of whole fire detection solution. In the end of this thesis is also included the con- sultation about fullfilling the requirements to create a complex and stable solution for use in the places with worse accessibility and fire hazard risk.

Keywords: thermography, thermal camera, C# application, MVVM, fire detection, fire hazard

(10)
(11)

Obsah

Seznam obr´azk˚u III

Seznam tabulek IV

1 Uvod´ 1

1.1 Osobn´ı motivace . . . 1

1.2 St´avaj´ıc´ı ˇreˇsen´ı detekce poˇz´aru . . . 2

2 Infraˇcerven´a termografie 3 2.1 Tepeln´e z´aˇren´ı . . . 3

2.1.1 Cern´ˇ e a ˇsed´e tˇeleso . . . 4

2.1.2 Emisivita . . . 6

2.1.3 Pohltivost (absorbance) . . . 6

2.1.4 Odrazivost (reflektance) . . . 7

2.1.5 Propustnost (transmitance) . . . 7

2.2 Kirchhoffovy vyzaˇrovac´ı z´akon . . . 7

2.3 Planck˚uv vyzaˇrovac´ı z´akon . . . 8

2.4 Wien˚uv posunovac´ı z´akon . . . 9

2.5 Rovnice termografie . . . 9

2.5.1 Absorpce . . . 10

2.5.2 Rozptyl . . . 10

2.5.3 Turbulence . . . 10

2.5.4 Emise . . . 10

2.6 Detektory infraˇcerven´eho z´aˇren´ı . . . 10

2.6.1 Term´aln´ı senzory . . . 11

2.6.2 Kvantov´e senzory . . . 12

3 N´avrh syst´emu a pouˇzit´a zaˇr´ızen´ı 13 3.1 Termokamera SAFETIS . . . 13

3.2 Pr˚umyslov´e PC Vecow IVH9000 . . . 14

3.3 Pˇrevodn´ık Edgar . . . 15

3.4 PT motor s ˇr´ıdic´ı jednotkou . . . 16

3.4.1 Pelco-D . . . 17

4 Popis implementaˇcn´ıch n´astroj˚u 18 4.1 V´yvojov´a platforma .NET Framework a programovac´ı jazyk C# . . . 18

4.2 Popis Windows Presentation Foundation (WPF) . . . 18

4.3 N´avrhov´y vzor MVVM . . . 19

5 Z´akladn´ı popis aplikace pro detekci poˇz´ar˚u 21 5.1 Parametry a popis aplikace . . . 21

5.2 Instalace a ˇs´ıˇren´ı aplikace . . . 21

5.2.1 Instalace aplikace . . . 22

5.3 Struktura aplikace a zdrojov´eho k´odu . . . 22

5.3.1 Struktura spuˇstˇen´ı . . . 22

5.3.2 Struktura grafick´eho rozhran´ı . . . 23

(12)

5.3.3 Hierarchie zdrojov´eho k´odu . . . 23

6 Popis grafick´eho rozhran´ı aplikace a funkc´ı 25 6.1 Grafick´e rozdˇelen´ı hlavn´ıho okna a popis komponent . . . 25

6.1.1 Hlaviˇcka a hlavn´ı menu aplikace . . . 25

6.1.2 Informaˇcn´ı panel . . . 26

6.1.3 Centr´aln´ı panely hlavn´ıho okna . . . 26

6.2 Spr´ava uˇzivatel˚u aplikace . . . 28

6.2.1 Administrace uˇzivatel˚u . . . 29

6.3 Konfiguraˇcn´ı reˇzim aplikace . . . 30

6.4 Pr´ace s kamerami SAFETIS . . . 31

6.4.1 Pˇrid´an´ı a maz´an´ı ze seznamu . . . 31

6.4.2 Pˇripojov´an´ı a komunikace . . . 32

6.4.3 Generov´an´ı obrazu . . . 33

6.4.4 Konfigurace . . . 34

6.5 Nastaven´ı aplikace . . . 36

6.5.1 Ukl´ad´an´ı a implementace dat nastaven´ı . . . 36

6.6 Aktualizace aplikace a kamer . . . 37

6.7 Z´aznam dat z kamery . . . 38

6.7.1 Form´at ukl´ad´an´ı radiometrick´ych dat . . . 39

6.7.2 Alarmov´y stav aplikace . . . 39

6.8 Z´aznam grafick´eho pr˚ubˇehu teploty . . . 40

6.9 Ovl´ad´an´ı a funkce PT motoru . . . 41

7 Z´avˇer 43 7.1 V´ysledky testov´an´ı aplikace . . . 43

7.2 Diskuze moˇzn´ych vylepˇsen´ı . . . 43

7.3 Zhodnocen´ı dosaˇzen´ych v´ysledk˚u . . . 44

8 Literatura 46

A Obsah disku 48

B Seznam pouˇzit´ych zkratek 49

C Pˇr´ıkazy pro komunikaci s kamerou SAFETIS 50

D Rozdˇelen´ı tˇr´ıd aplikace 50

E Grafick´e uˇzivatelsk´e rozhran´ı aplikace 56 F Sn´ımky testovac´ıho zapojen´ı syst´emu 58

(13)

Seznam obr´ azk˚ u

1 Termokamera SAFETIS v krytu . . . 1

2 Rozdˇelen´ı vlnov´ych d´elek [4] . . . 3

3 Porovn´an´ı termogramu a sn´ımku poˇr´ızen´em ve viditeln´em spektru . . . 4

4 Chov´an´ı tˇelesa pˇri dopadu elektromagnetick´eho z´aˇren´ı, dle [11] . . . 5

5 Vliv okol´ı na bezkontaktn´ı mˇeˇren´ı teploty povrchu termokamerou . . . 9

6 Mikrobolometrick´y detektor [11] . . . 11

7 Sch´ema zapojen´ı syst´emu . . . 13

8 Termokamera SAFETIS . . . 14

9 Pr˚umyslov´e PC Vecow IVH 9016 [11] . . . 15

10 Pˇrevodn´ık Edgar [11] . . . 16

11 PTZ motor s ˇr´ıdic´ı jednotkou . . . 17

12 Sch´ema principu n´avrhov´eho vzoru MVVM [12] . . . 19

13 N´ahled instal´atoru aplikace . . . 23

14 Clenˇˇ en´ı aplikace do tzv. ”namespace” . . . 24

15 Miniatura kamery SAFETIS pro panel ”Thermal Streams” . . . 26

16 Panel s detailn´ım pohledem na vybranou kameru SAFETIS . . . 27

17 Okno spr´avy uˇzivatel˚u . . . 29

18 Okno pro nastaven´ı p´arov´an´ı disk˚u se s´ıt’ov´ym pˇripojen´ım . . . 30

19 Okno nastaven´ı kamer SAFETIS . . . 32

20 Okno konfigurace kamery SAFETIS pˇri definov´an´ı mˇeˇr´ıc´ıch oblast´ı . . . 34

21 Okno konfigurace kamery SAFETIS pˇri nastaven´ı parametr˚u mˇeˇren´ı . . . 35

22 Okno pro nastaven´ı aplikace . . . 37

23 Okno aktualizaci kamer a aplikace . . . 37

24 Panel grafick´eho z´aznamu maxim´aln´ı teploty . . . 40

25 Panel pro ovl´ad´an´ı PT motoru . . . 42

26 Obsah sloˇzky (Namespace) Models . . . 52

27 Obsah sloˇzky (Namespace) View . . . 53

28 Obsah sloˇzky (Namespace) ViewModels . . . 54

29 Obsah sloˇzky (Namespace) Utils . . . 55

30 Cel´e grafick´e uˇzivatelsk´e rozhran´ı aplikace . . . 56

31 Cel´e grafick´e uˇzivatelsk´e rozhran´ı aplikace pˇri alarmov´e situaci . . . 57

32 Sn´ımek testovac´ıho zapojen´ı syst´emu . . . 58

33 Sn´ımek kamery SAFETIS v krytu na PT motory . . . 59

(14)

Seznam tabulek

1 Pˇrehled moˇznost´ı prov´az´an´ı datov´eho propojen´ı . . . 20

2 Pˇrehled zaznamenan´ych ud´alost´ı . . . 28

3 Pˇrehled konfiguraˇcn´ıch parametr˚u . . . 35

4 Popis ˇcasov´ych ´usek˚u grafu . . . 41

5 Obsah pˇriloˇzen´eho disku CD . . . 48

6 Seznam pouˇzit´ych zkratek . . . 49

7 Pˇr´ıkazy pro vyˇcten´ı dat z termokamery SAFETIS . . . 50

8 Pˇr´ıkazy pro nastaven´ı dat termokamery SAFETIS . . . 51

(15)

1 Uvod ´

Termokamery jsou zaˇr´ızen´ı umoˇznuj´ıc´ı mˇeˇrit a interpretovat infraˇcerven´e z´aˇren´ı vyd´avan´e kaˇzd´ym tˇelesem a d´ıky nim je n´am umoˇznˇeno mˇeˇrit bezkontaktnˇe teplotu tˇechto objekt˚u.

Jelikoˇz jsme schopni u jednotliv´ych materi´al˚u urˇcit teplotu, pˇri kter´e se vzn´ıt´ı, je tedy moˇzn´e za urˇcit´ych podm´ınek detekovat riziko poˇz´aru jeˇstˇe pˇred jeho vznikem, t´ım pˇredej´ıt kritick´e situaci a okamˇzitˇe reagovat.

Tato diplomov´a pr´ace se tedy zab´yv´a n´avrhem ˇreˇsen´ı pro syst´em, kter´y bude schopn´y toto riziko zaznamenat, podle nastaven´ych parametr˚u varovat uˇzivatele o vznikl´em riziku a prov´est pˇr´ısluˇsn´e akce.

V t´eto pr´aci se tedy nejprve pod´ıv´ame na n´avrh samotn´eho ˇreˇsen´ı, pouˇzit´e komponenty a jejich popis a zapojen´ı. Dalˇs´ım bodem je n´avrh a implementace obsluˇzn´e aplikace, kter´a bude podporovat pˇripojen´ı a ovl´ad´an´ı popsan´eho hardwaru. A posledn´ım bodem je shrnut´ı dosaˇzen´ych v´ysledk˚u a diskuze nad moˇzn´ymi ´upravami a vylepˇsen´ımi pro dalˇs´ı verze t´eto aplikace.

Dle zad´an´ı je pro n´avrh syst´emu uvedena termokamera SMARTIS. T´e vˇsak pˇredevˇs´ım z marketingov´ych d˚uvod˚u bylo zmˇenˇeno jm´eno na SAFETIS (viz obr´azek ˇc.1). Tedy z po- hledu implementace se jedn´a o stejnou kameru se shodnou platformou, avˇsak zmˇenˇen´ym n´azvem a upraven´ym firmwarem dle poˇzadavk˚u implementovan´e aplikace. Z tohoto d˚uvodu jsou v aplikaci uvedeny n´azvy kamery SAFETIS a v n´azvech tˇr´ıd aplikace je historicky uveden SMARTIS.

Obr´azek 1: Termokamera SAFETIS v krytu

1.1 Osobn´ı motivace

Pr´ace pro mˇe znamenala novou zkuˇsenost a to jak pˇri implementaci aplikace samotn´e, tak i v nutnosti propojit hardwarovou a softwarovou ˇc´ast dan´eho ˇreˇsen´ı. Dalˇs´ı motivac´ı pro mˇe byla vidina moˇznosti implementovat syst´em, kter´y se jednak bude vyuˇz´ıvat po cel´em svˇetˇe, a z´aroveˇn pˇrispˇeje k vyˇsˇs´ı bezpeˇcnosti zamˇestnanc˚u pracuj´ıc´ıch v prostˇred´ı s vysok´ym rizikem vzniku poˇz´aru.

(16)

1.2 St´avaj´ıc´ı ˇreˇsen´ı detekce poˇz´aru

St´avaj´ıc´ı detekci poˇz´aru lze rozdˇelit do nˇekolika skupin, a to na detektory vizu´aln´ı, kouˇrov´e a term´aln´ı. Vizu´aln´ı detektory poˇz´aru jsou ve vˇetˇsinˇe kamery s viditeln´ym obrazem a poˇz´ar je detekov´an ve chv´ıli propuknut´ı, pˇr´ıpadnˇe lze detekovat vizu´alnˇe kouˇr. Toto ˇreˇsen´ı je velmi ˇcasto kritick´e a poˇz´aru jiˇz nelze plnˇe zabr´anit. Dalˇs´ı moˇznost´ı je pouˇzit´ı detektor˚u kouˇre ˇci plynu, kter´e jsou schopny reagovat dˇr´ıve neˇz detektory vizu´aln´ı. Avˇsak i v tomto pˇr´ıpadˇe je nutnost reagovat okamˇzitˇe. Pokud se budeme zab´yvat term´aln´ımi detektory poˇz´aru, nebo obecnˇe termokamerami, m˚uˇzeme ˇr´ıci ˇze jsou schopn´e zachytit souˇcasnou teplotu objektu a pˇredej´ıt s dostateˇcnou ˇcasovou rezervou vzniku poˇz´aru. Tedy reaguj´ı rychleji, neˇz vˇsechna pˇredeˇsl´a ˇreˇsen´ı, a jejich vyuˇzit´ı je tedy v´yhodn´e. V souˇcasn´e dobˇe existuje velmi m´alo vari- ant tˇechto syst´em˚u pracuj´ıc´ıch na principu termografie. Konkr´etnˇe z tˇech hlavn´ıch jsem pˇri v´yzkumu nalezl syst´em od spoleˇcnosti FLIR (Early Fire Detection) [5], d´ale ˇreˇsen´ı FIRE- SCAN od spoleˇcnosti InfraTec [8] a nˇekolik dalˇs´ıch menˇs´ıch syst´em˚u vyuˇz´ıvaj´ıc´ıch pˇredevˇs´ım kamery Flir. Ty maj´ı jako pˇridanou hodnotu implementov´anu vlastn´ı obsluˇznou aplikaci.

Reˇˇ sen´ı, popsan´e a navrˇzen´e v t´eto pr´aci, by se mˇelo od ostatn´ıch odliˇsovat hlavnˇe v pouˇzit´ı termokamery SAFETIS od spoleˇcnosti Workswell s.r.o a vyuˇzit´ı digit´aln´ıch v´ystup˚u t´eto kamery, d´ale moˇznost´ı zapojen´ı Pan-Tilt motoru pro nastavov´an´ı pozice a moˇznost´ı dalˇs´ıch mˇeˇr´ıc´ıch funkc´ı. V neposledn´ı ˇradˇe tak´e vyuˇzit´ım digit´aln´ıch v´ystup˚u pr˚umyslov´eho PC, kter´e je souˇc´ast´ı tohoto ˇreˇsen´ı.

(17)

2 Infraˇ cerven´ a termografie

Infraˇcerven´a termografie je vˇedn´ı obor zab´yvaj´ıc´ı se bezkontaktn´ım mˇeˇren´ım teploty tˇeles a to jak za pomoc´ı napˇr´ıklad pyrometr˚u, tak i termokamer. Jelikoˇz nen´ı mˇeˇren´ı tepeln´eho z´aˇren´ı tˇelesa ´uplnˇe trivi´aln´ı, je tˇreba nejprve definovat jeho z´akladn´ı vlastnosti a do jist´e m´ıry pochopit jeho fyzik´aln´ı podstatu, aby nedoˇslo k vyvozen´ı myln´ych z´avˇer˚u ˇci nespr´avn´ych v´ysledk˚u. T´ımto se bude zab´yvat n´asleduj´ıc´ı kapitola, kde bude pops´an princip mˇeˇren´ı tep- lotn´ıho pole na povrchu tˇelesa, kterou se zab´yv´a pr´avˇe termografie. Nejprve definujeme z´aklady, vˇcetnˇe d˚uleˇzit´ych veliˇcin a vzorc˚u, tedy fundament´aln´ı z´aklady, ze kter´ych budeme d´ale vych´azet v dalˇs´ı ˇc´asti pˇri popisu fyzik´aln´ıho modelu vyuˇz´ıvan´eho pro mˇeˇren´ı teplotn´ıho pole na povrchu tˇelesa. Posledn´ı ˇc´ast bude vˇenov´ana infraˇcerven´ym kamer´am, a to hlavnˇe z pohledu jejich principu fungov´an´ı.

2.1 Tepeln´e z´aˇren´ı

Vˇsechna tˇelesa, jejichˇz teplota je vyˇsˇs´ı neˇz absolutn´ı nula, tedy vyˇsˇs´ı neˇzli teplota 0 Kel- vin˚u, se na molekul´arn´ı ´urovni pohybuj´ı, a to i pˇresto, ˇze z makroskopick´eho hlediska je pˇredmˇet v relativn´ım klidu. Tento mikroskopick´y pohyb ˇci vibrace molekul se naz´yv´a tepeln´y pohyb a je pˇr´ıˇcinou tepeln´eho z´aˇren´ı vˇsech takov´ychto tˇeles. Toto generovan´e z´aˇren´ı vˇsak nen´ı ve viditeln´em spektru, jelikoˇz jeho vlnov´a d´elka se pohybuje pˇredevˇs´ım v infraˇcerven´e oblasti elektromagnetick´eho spektra. Konkr´etnˇe m˚uˇzeme v´yskyt infraˇcerven´eho z´aˇren´ı pozorovat na vlnov´ych d´elk´ach od 770nm do 1mm, pˇriˇcemˇz rozdˇelen´ı vlnov´ych d´elek m˚uˇzeme vidˇet na obr´azku ˇc.2 [4], kde lze pozorovat i fakt, ˇze mal´a ˇc´ast infraˇcerven´eho z´aˇren´ı je pozorovateln´a lidsk´ym okem, a to jako barvy velmi bl´ızk´e ˇcerven´e (o vlnov´e d´elce bl´ızko 770nm) [16].

Obr´azek 2: Rozdˇelen´ı vlnov´ych d´elek [4]

Jelikoˇz ale vˇetˇsina tepeln´eho z´aˇren´ı nen´ı viditeln´a pouh´ym okem, je tˇreba pouˇz´ıt senzory detekuj´ıc´ı z´aˇren´ı o tˇechto vlnov´ych d´elk´ach a zmˇeˇren´a data n´aslednˇe zpracovat a vizualizovat.

Takov´a vizualizace se pot´e naz´yv´a termogram a reprezentuje ve viditeln´em spektru hodnoty mˇeˇren´e teploty tˇelesa. Porovn´an´ı sn´ımku ve viditeln´em spektru a termogramu je uveden na obr´azku ˇc. 3.

(18)

(a) Sn´ımek ve viditeln´em spektru

(b) Termogram

Obr´azek 3: Porovn´an´ı termogramu a sn´ımku poˇr´ızen´em ve viditeln´em spektru 2.1.1 Cern´ˇ e a ˇsed´e tˇeleso

Cern´ˇ e tˇeleso bylo ve fyzice zavedeno v roce 1860 Gustavem Kirchhofem jako konstrukt pro popis dˇej˚u, ke kter´ym doch´az´ı pˇri tepeln´em z´aˇren´ı. Na ˇcern´e tˇeleso lze pohl´ıˇzet dvˇema zp˚usoby, a to jako na ide´aln´ı tˇeleso, nebo jako na ide´aln´ı z´aˇriˇc. Ide´aln´ım objektem je myˇsleno, ˇze takov´eto tˇeleso pohlcuje vˇsechno dopadaj´ıc´ı z´aˇren´ı ze vˇsech smˇer˚u a vˇsech vlnov´ych d´elek, tedy lze tak´e ˇr´ıci, ˇze takov´eto tˇeleso neodr´aˇz´ı ˇz´adn´e okoln´ı z´aˇren´ı. D˚usledkem tohoto faktu je, ˇze vˇsechny jeho vlastnosti jsou z´avisl´e pouze na teplotˇe, nikoliv na dopadaj´ıc´ım z´aˇren´ı. Pokud nahl´ıˇz´ıme na ˇcern´e tˇeleso jako na z´aˇriˇc, jedn´a se o ide´aln´ı vˇsesmˇerov´y z´aˇriˇc, kter´y vyzaˇruje ma- xim´aln´ı moˇzn´e mnoˇzstv´ı energie urˇcen´e teplotou tohoto tˇelesa. Nav´ıc pokud budeme uvaˇzovat ˇcern´e tˇeleso, kter´e dos´ahlo stavu teplotn´ı rovnov´ahy a jeho teplota je konstantn´ı, pak mnoˇzstv´ı pohlcen´e energie tohoto tˇelesa se rovn´a mnoˇzstv´ı energie j´ım vyz´aˇren´e [7, 11].

Vztah popisuj´ıc´ı celkovou intenzitu vyzaˇrov´an´ı tˇelesa se naz´yv´a Stefan-Boltzmann˚uv z´akon a lze ho vyj´adˇrit jako 2.1

MBB =σ·T4[W m−2] (2.1)

kdeσ= 5.67·10−8W m−2K4je Stefan-Boltzmannova konstanta aT je teplota v Kelvinech.

Jelikoˇz skuteˇcn´e objekty nedosahuj´ı vlastnost´ı ˇcern´eho tˇelesa, a to hlavnˇe v ohledu pohlti- vosti dopadaj´ıc´ıho z´aˇren´ı, coˇz znamen´a ˇze ne vˇsechno dopadnut´e z´aˇren´ı je dokonale pohlceno, je tˇreba definovat takzvan´e ˇsed´e tˇeleso. Pot´e m˚uˇzeme urˇcit rozklad z´aˇren´ı do nˇekolika sloˇzek, kter´e budou pops´any n´ıˇze, a z´aroveˇn lze modifikovat Stefan-Boltzman˚uv z´akon do tvaru pro popis intenzity vyzaˇrov´an´ı ˇsed´eho tˇelesa jako 2.2

MGB =ε·σ·T4 [W m−2] (2.2)

kdeMGB je celkov´a intenzita vyzaˇrov´an´ı ˇsed´eho tˇelesa ve vakuu aεje emisivita, kter´a je podrobnˇeji pops´ana v kapitole 2.1.2.

Dalˇs´ı, pro radiometrii d˚uleˇzitou veliˇcinou, kterou je tˇreba pro popis definovat, je z´aˇriv´y tok [7, 11]. Ten lze urˇcit jako 2.3

(19)

Φ = dQ dt =

Z

A

IdA[W] (2.3)

kdeQje energie dan´e elektromagnetick´e vlny,tje ˇcas, I je intenzita z´aˇren´ı aA je plocha, kterou dan´e z´aˇren´ı proch´az´ı. D´ale m˚uˇzeme urˇcit vztah pro obecnou intenzitu vyzaˇrov´an´ı 2.4, kter´y lze aplikovat i na pˇredchoz´ı definice intenzity vyzaˇrov´an´ı ˇcern´eho a ˇsed´eho tˇelesa 2.1 a 2.2

M = ∂Φ

∂A [W m−2] (2.4)

kde Φ je opˇet z´aˇriv´y tok a A je plocha vyzaˇrov´an´ı tˇelesa. Celkovou intenzitu vyzaˇrov´an´ı tˇelesa je moˇzn´e tak´e urˇcit pomoc´ı vztahu 2.5

M = Z

0

Mλdλ[W m−2] (2.5)

kde λ je oznaˇcen´ı vlnov´e d´elky a Mλ je spektr´aln´ı hustota intenzity vyzaˇrov´an´ı, kterou lze urˇcit jako 2.6. Tato spektr´aln´ı hustota je ˇc´ast energie vyz´aˇren´a na jednotkov´em intervalu vlnov´e d´elky.

Mλ = ∂M

∂λ [W m−1] (2.6)

Obr´azek 4: Chov´an´ı tˇelesa pˇri dopadu elektromagnetick´eho z´aˇren´ı, dle [11]

Jak jiˇz bylo zm´ınˇeno v´yˇse, pˇri dopadu elektromagnetick´eho z´aˇren´ı na povrch ˇsed´eho tˇelesa, nedoch´az´ı k jeho ´upln´emu pohlcen´ı. Dopad z´aˇren´ı lze rozdˇelit na tˇri pˇr´ıpady a to nejprve odraz, kdy se ˇc´ast dopadaj´ıc´ıho z´aˇren´ı odraz´ı od povrchu tˇelesa. Zbytek z´aˇren´ı pronikne do objektu a na z´akladˇe vlastnost´ı materi´alu ze kter´eho se tˇeleso skl´ad´a dojde k pohlcen´ı

(20)

ˇc´asti energie tohoto z´aˇren´ı. Pokud je materi´al dostateˇcnˇe opticky mohutn´y, dojde k pohlcen´ı zbytkov´eho z´aˇren´ı. V opaˇcn´em pˇr´ıpadˇe je moˇzn´e, ˇze ˇc´ast z´aˇren´ı projde skrz tˇeleso. Tento proces je schematicky zn´azornˇen na obr´azku ˇc.4.

Pro popis dopadaj´ıc´ıho zaˇren´ı a jeho vztahu k tˇelesu je ve fyzice zavedeno nˇekolik veliˇcin.

Ty jsou pops´any a definov´any v n´asleduj´ıc´ıch kapitol´ach.

2.1.2 Emisivita

Emisivita je v termografii pravdˇepodobnˇe nejv´ıce vyuˇz´ıvanou veliˇcinou. Znaˇc´ı se εa vy- jadˇruje pomˇer vyzaˇrov´an´ı re´aln´eho objektu, ku vyzaˇrov´an´ı ˇcern´eho tˇelesa. Obecnˇe je emisivita z´avisl´a na nˇekolika parametrech, a to konkr´etnˇe na vlnov´e d´elce z´aˇren´ı, smˇeru dopadu a na teplotˇe povrchu. V takov´em pˇr´ıpadˇe hovoˇr´ıme o spektr´aln´ı smˇerov´e emisivitˇe a m˚uˇzeme ji vyj´adˇrit jako 2.7

ε(Θ,Φ, T) = lλ(Θ,Φ, T)

lλBB(T) (2.7)

kde Θ a Φ jsou ´uhly pro azimut a elevaci dopadaj´ıc´ıho z´aˇren´ı, T je Teplota v Kelvinech, lλ(Θ,Φ, T) je intenzita z´aˇren´ı pro danou vlnovou d´elku, smˇer a teplotu alλBB(T) je intenzita z´aˇren´ı ˇcern´eho tˇelesa pro danou vlnovou d´elku a teplotu. Pˇri potˇrebˇe pˇresn´ych v´ypoˇct˚u, t´ykaj´ıc´ıch se pˇredevˇs´ım tepeln´e v´ymˇeny radiac´ı, je v´yhodn´e vyuˇz´ıt znalosti o z´avislosti smˇeru na vlnov´e d´elce pro dan´y materi´al, Avˇsak v praxi se d´a povaˇzovat pr˚umˇern´a hodnota emisivity pro vˇsechny smˇery dopadu z´aˇren´ı za konstantn´ı. Takto lze definovat jednoduˇsˇs´ı z´avislost pro stanoven´ı emisivity jako pomˇer vyz´aˇren´ych energi´ı zkouman´eho tˇelesa a ˇcern´eho tˇelesa za shodn´e teploty a to konkr´etnˇe jako 2.8

ε(T) = M(T)

MBB(T) (2.8)

kde,M(T) je energie vyz´aˇren´a zkouman´ym tˇelesem za dan´e teploty aMBB(T) je energie vyz´aˇren´a ˇcern´ym tˇelesem za dan´e teploty [11, 7, 9].

2.1.3 Pohltivost (absorbance)

Dalˇs´ı veliˇcinou je pohltivost, neboli absorbance, kter´a popisuje absorpci z´aˇren´ı materi´alem.

Lze j´ı definovat jako pomˇer pohlcen´eho a celkov´eho z´aˇriv´eho toku (viz 2.9)

α= Φa

Φ0 (2.9)

kde Φa je z´aˇriv´y tok pohlcen´y a Φ0 je celkov´y z´aˇriv´y tok. K pohlcen´ı z´aˇren´ı zpravi- dla doch´az´ı pˇri nˇekolika jevech, a to pˇri elektronov´e absorpci, absorpci v mˇr´ıˇzce a dielek- trick´e disperzi. K elektronov´e absorpci doch´az´ı pouze ve vodiv´ych, ˇci polo-vodiv´ych ma-

(21)

teri´alech, kde doch´az´ı k interakci elektromagnetick´eho z´aˇren´ı s voln´ymi elektrony nebo elek- tronov´ymi d´ırami v dan´em materi´alu. Absorpce v mˇr´ıˇzce se vyskytuje v pˇr´ıpadˇe nevodiˇc˚u a je zp˚usobena spoleˇcn´ym pohybem dopadaj´ıc´ıho z´aˇren´ı a tepeln´e vibrace atom˚u v krystalov´e mˇr´ıˇzce. Posledn´ım jevem je dielektrick´a disperze, kde doch´az´ı k rozpt´ylen´ı elektromagnetick´e vlny z d˚uvodu mikroskopick´ych vad materi´alu [11, 7, 9].

2.1.4 Odrazivost (reflektance)

Pˇri dopadu z´aˇren´ı nedojde k absorbov´an´ı cel´e jeho energie, ale na re´aln´ych tˇelesech doch´az´ı k jeho odr´aˇzen´ı. Odrazivost popisuje pr´avˇe tento odraz a lze ji definovat jako pomˇer odraˇzen´eho z´aˇriv´eho toku a toku celkov´eho (viz 2.10)

ρ= Φr

Φ0 (2.10)

kde Φr znaˇc´ı z´aˇriv´y tok odraˇzen´y a Φ0 celkov´y z´aˇriv´y tok. Odrazivost nab´yv´a hodnot od 0 do 1 tedyρ∈<0; 1>. Pokud budeme uvaˇzovat materi´al s velmi leskl´ym povrchem, bude se odrazivost bl´ıˇzit k hodnotˇe 1 a bude doch´azet k takzvan´emu zrcadlov´emu odrazu. To znamen´a, ˇ

ze dopadaj´ıc´ı z´aˇren´ı, respektive paprsky, jsou odraˇzeny v urˇcit´em smˇeru. Opakem zrcadlov´eho odrazu je odraz difuzn´ı, kter´y nast´av´a pˇri odrazivosti materi´alu bl´ıˇz´ıc´ı se nule. Tyto extr´emn´ı pˇr´ıpady se v praxi t´emˇeˇr nevyskytuj´ı [11, 7, 9].

2.1.5 Propustnost (transmitance)

Propustnost je veliˇcina vyjadˇruj´ıc´ı mnoˇzstv´ı z´aˇren´ı, kter´e projde po dopadu dan´ym ma- teri´alem. M˚uˇzeme ji vyj´adˇrit jako pomˇer z´aˇriv´eho toku propuˇstˇen´eho materi´alem a celkov´eho z´aˇriv´eho toku. Tento vztah lze vyj´adˇrit vzorcem jako 2.11

τ = Φt

Φ0

(2.11) kde Φt je z´aˇriv´y tok, kter´y proˇsel materi´alem a Φ0 je z´aˇriv´y tok celkov´y. Jakoˇzto vˇsechy pˇredchoz´ı definovan´e veliˇciny, tedy emisivita (2.1.2), pohltivost (2.1.3) a odrazivost (2.1.4), je i propustnost z´avisl´a na vlnov´e d´elce dopadaj´ıc´ıho z´aˇren´ı. U t´eto veliˇciny lze definovanou z´avislost demonstrovat nejjednoduˇseji, a to za pouˇzit´ı skla. Sklo je pro z´aˇren´ı ve viditeln´em spektru propustn´e. Pokud se ale vlnov´a d´elka z´aˇren´ı dostane do infraˇcerven´eho spektra, sklo je pro nˇej t´emˇeˇr nepropustn´e [11, 7, 9].

2.2 Kirchhoffovy vyzaˇrovac´ı z´akon

Kirchhof˚uv vyzaˇrovac´ı z´akon urˇcuje z´avislost mezi pohltivost´ı (2.1.3), odrazivost´ı (2.1.4) a propustnost´ı (2.1.5) [7, 9]. Tato z´avislost je vyj´adˇrena jako 2.12

(22)

φ0αρτ, (2.12) kde φ0 je celkov´y z´aˇriv´y tok,φα je pohlcen´y z´aˇriv´y tok,φρ je odraˇzen´y z´aˇriv´y tok a φτ vyjadˇruje prostupn´y z´aˇriv´y tok tˇelesem. Na z´akladˇe t´eto z´avislosti 2.12 lze prov´est jej´ı ´upravu, kterou dostaneme Kirchhof˚uv vyzaˇrovac´ı z´akon 2.13.

1 = φα φ0

+ φρ φ0

τ φ0

=α+ρ+τ (2.13)

Kirchhoff˚uv vyzaˇrovac´ı z´akon definuje, ˇze pokud se tˇeleso nach´az´ı v termodynamick´e rov- nov´aze, je jeho emisivita rovna pohltivosti, coˇz znamen´a, ˇze z´aˇren´ı pohlcen´e tˇelesem je plnˇe vyz´aˇreno. Z tohoto pˇredpokladu, lze upravit rovnici 2.13 do n´asleduj´ıc´ıho tvaru.

1 =ε+ρ+τ. (2.14)

Pokud budeme uvaˇzovat materi´al dokonale nepropustn´y, tedy jeho propustnost bude rovna 0 (τ = 0), m˚uˇzeme rovnici 2.14 upravit do tvaru, ze kter´eho vypl´yv´a z´avislost mezi pohltivost´ı, pˇr´ıpadnˇe emisivitou, a odrazivost´ı. Tato z´avislost 2.15 ud´av´a nepˇr´ımou ´umˇeru mezi z´aˇren´ım pohlcen´ym a odraˇzen´ym. Ilustraci jev˚u vyskytuj´ıc´ıch se pˇri dopadu z´aˇren´ı je moˇzn´e vidˇet na obr´azku ˇc. 4.

1 =α+ρ,

1 =ε+ρ. (2.15)

2.3 Planck˚uv vyzaˇrovac´ı z´akon

Pro stanoven´ı intenzity vyzaˇrov´an´ıˇcern´eho tˇelesa, lze vyuˇz´ıt znalosti Planckova vyzaˇrovac´ıho z´akona. Ten definuje intenzitu vyzaˇrov´an´ı, z´avislou na vlnov´e d´elce a teplotˇe tˇelesa z ˇcehoˇz vypl´yv´a, ˇze ˇcern´e tˇeleso vyzaˇruje z´aˇren´ı o r˚uzn´ych intenzit´ach na r˚uzn´ych vlnov´ych d´elk´ach pˇri dan´e teplotˇe. Planck˚uv vyzaˇrovac´ı z´akon je pops´an rovnic´ı 2.16

M = 2πhc2 λ5(ekλThc −1)

, (2.16)

kde M je intenzita vyzaˇrov´an´ı ˇcern´eho tˇelesa, h Planckova konstanta (h = 6,6256· 10−34J·s),cje rychlost svˇetla ve vakuu (c= 2,9979·108m·s−1),λje vlnov´a d´elka, T je teplota povrchu tˇelesa v Kelvinech akje Stefan - Boltzmannova konstanta (k= 1,3805·10−23J·K−1) [7, 9].

(23)

2.4 Wien˚uv posunovac´ı z´akon

Maxim´aln´ı hodnota intenzity vyzaˇrov´an´ı tˇelesa je na r˚uzn´ych vlnov´ych d´elk´ach definov´ana teplotou tˇelesa. Tuto z´avislost popisuje Wien˚uv posunovac´ı z´akon 2.17. Z´aroveˇn lze pomoc´ı tohoto vztahu urˇcit hodnotu vlnov´e d´elky, pˇri kter´e je intenzita vyzaˇrov´an´ı tˇelesa maxim´aln´ı [7, 9]. Tento vztah lze vyj´adˇrit jako

λmax= b

T, (2.17)

kde λmax je vlnov´a d´elka, pˇri kter´e je intenzita vyzaˇrov´an´ı tˇelesa maxim´aln´ı, b je Wienova konstanta (b= 2,898·10−3·K) aT je teplota povrchu tˇelesa [7].

2.5 Rovnice termografie

Mˇeˇren´ı za pomoc´ı termografie se zab´yv´a mˇeˇren´ım teplotn´ıho pole na povrchu tˇelesa bezkontaktn´ı metodou. Mˇeˇren´ı touto metodou m´a urˇcit´e v´yhody, jako napˇr´ıklad moˇznost mˇeˇren´ı pohybliv´ych tˇeles, ˇci mˇeˇren´ı nebezpeˇcn´ych objekt˚u z bezpeˇcn´e vzd´alenosti. Dalˇs´ı v´yhodou, kter´a nepˇr´ımo s takov´ym mˇeˇren´ım souvis´ı, je vyhled´av´an´ı tepeln´ych stop v m´ıstech se zhorˇsenou viditelnost´ı. Samozˇrejmost´ı je, ˇze i tato metoda m´a sv´e nev´yhody a ome- zen´ı pouˇzit´ı, jakoˇzto i v´ıce ovlivˇnuj´ıc´ıch parametr˚u neˇz napˇr´ıklad kontaktn´ı mˇeˇren´ı teploty.

Nˇekter´ymi z ovlivˇnuj´ıc´ıch parametr˚u jsou veliˇciny popsan´e v pˇredchoz´ıch kapitol´ach, a to emisivita (2.1.2), odrazivost (2.1.4), propustnost (2.1.5) a pohltivost (2.1.3). Tyto veliˇciny celkovˇe definuj´ı jak z´aˇriv´y tok vyz´aˇren´y tˇelesem, tak tok odraˇzen´y. Dalˇs´ım faktorem pˇri ter- mografick´em mˇeˇren´ı je vliv takzvan´eho vloˇzen´eho media, tedy m´edia, kter´e se vyskytuje v pro- storu mezi termokamerou a mˇeˇren´ym objektem. T´ım je ve vˇetˇsinˇe pˇr´ıpad˚u atmosf´era. Vloˇzen´e m´edium ovlivˇnuje mˇeˇren´ı nˇekolika jevy, jako napˇr´ıklad absorpc´ı, rozptylem, turbulenc´ı a emis´ı z´aˇren´ı. Tyto jevy jsou pops´any v n´asleduj´ıc´ıch podkapitol´ach a schematick´e zobrazen´ı m˚uˇzeme vidˇet na obr´azku ˇc. 5.

Obr´azek 5: Vliv okol´ı na bezkontaktn´ı mˇeˇren´ı teploty povrchu termokamerou

Fyzik´aln´ı model, kter´y je vyuˇz´ıv´an pˇri mˇeˇren´ı, bere v potaz tˇri z´akladn´ı toky z´aˇren´ı, a to sledovan´eho tˇelesa, atmosf´ery a odraˇzen´y tok z okoln´ıch zdroj˚u z´aˇren´ı. Jejich souˇctem lze urˇcit celkov´y z´aˇriv´y tok (2.18), kter´y je z´aroveˇn mˇeˇrenou veliˇcinou za pomoc´ı termokamery. Tento souˇcet se naz´yv´a rovnic´ı termografie a lze ho vyj´adˇrit jako

(24)

φcelk=ετ φobj+ (1−ε)τ φodr+ (1−τ)φatm, (2.18) kde εje emisivita povrchu sledovan´eho objektu a τ je propustnost atmosf´ery. D˚uleˇzit´e je podotknout, ˇze tento fyzik´aln´ı model nezohledˇnuje vlastnosti optiky mˇeˇric´ıho zaˇr´ızen´ı. Ta je povaˇzov´ana za plnˇe transparentn´ı. Pˇrestoˇze optika vliv na mˇeˇren´ı m´a, ve vˇetˇsinˇe situac´ı je jej´ı vliv na mˇeˇren´ı zanedbateln´y [11, 7, 15].

2.5.1 Absorpce

Absorpce je jev silnˇe z´avisl´y na vlnov´e d´elce a sloˇzen´ı vloˇzen´eho m´edia (atmosf´ery).

Pˇr´ıkladem m˚uˇze b´yt pˇr´ıtomnost oxidu uhliˇcit´eho v atmosf´eˇre, kter´y absorbuje z´aˇren´ı maj´ıc´ı vlnovou d´elku v okol´ı 15µm. Dalˇs´ımi ovlivˇnuj´ıc´ımi sloˇzkami je napˇr´ıklad vodn´ı p´ara, ˇci ozon.

2.5.2 Rozptyl

Rozptyl je ovlivnˇen jednak molekulami plynu (Rayleigh˚uv rozptyl), jednak i aerosoly (Miel˚uv rozptyl) pˇr´ıtomn´ymi v atmosf´eˇre. Pokud srovn´ame rozptyl z´aˇren´ı ve viditeln´em spektru a ve spektru infraˇcerven´em, m˚uˇzeme ˇr´ıci, ˇze je tento rozptyl niˇzˇs´ı. Toho se vyuˇz´ıv´a napˇr´ıklad k vyhled´av´an´ı osob v mlze ˇci p´ıseˇcn´e bouˇri.

2.5.3 Turbulence

Turbulence je jev silnˇe ovlivnˇen´y vzd´alenost´ı od mˇeˇren´eho objektu. Pˇri tomto jevu doch´az´ı k rozmaz´an´ı obrazu, jeˇz je zapˇr´ıˇcinˇeno siln´ym vˇetrem ˇci pˇri konvekˇcn´ım pˇresunu tepla.

2.5.4 Emise

K emisi tepeln´eho z´aˇren´ı doch´az´ı obecnˇe u vˇsech tˇeles s absolutn´ı teplotou vyˇsˇs´ı neˇz 0 Kel- vin˚u. Jelikoˇz lze atmosf´eru d´ıky sv´e hmotˇe tak´e povaˇzovat za tˇeleso,tak i atmosf´era emituje akumulovanou energii ve formˇe z´aˇren´ı. V mnoha pˇr´ıpadech je emise atmosf´ery zanedbateln´a, avˇsak je tˇreba ji vz´ıt v ´uvahu v pˇr´ıpadˇe mˇeˇren´ı objekt˚u s podobou teplotou jako je jejich okol´ı, kde se emise atmosf´ery signifikantnˇe projev´ı.

2.6 Detektory infraˇcerven´eho z´aˇren´ı

Za detektor infraˇcerven´eho z´aˇren´ı lze povaˇzovat zaˇr´ızen´ı, kter´e transformuje optick´e z´aˇren´ı na mˇeˇriteln´y a definovan´y elektrick´y sign´al. Hlavn´ı podm´ınkou takov´eho zaˇr´ızen´ı pak je urˇcen´ı z´avislosti mezi optickou veliˇcinou a v´ystupn´ım sign´alem. Pokud je tato z´avislost stanovena, lze z n´ı definovat intenzitu dopadaj´ıc´ıho z´aˇren´ı, a na z´akladˇe ostatn´ıch parametr˚u a rovnice termografie (2.18) pot´e urˇcit teplotu mˇeˇren´eho materi´alu.

(25)

Na souˇcasn´em trhu se vyskytuje nepˇrebern´e mnoˇzstv´ı takov´ych zaˇr´ızen´ı, ale vˇetˇsinu z nich lze rozdˇelit do dvou z´akladn´ıch skupin. Tˇemito skupinami jsou zaˇr´ızen´ı vyuˇz´ıvaj´ıc´ı term´aln´ı nebo kvantov´e senzory. Term´aln´ı senzory jsou ve vˇetˇsinˇe pˇr´ıpad˚u vyuˇzity v termokamer´ach a funguj´ı na principu ohˇrevu teplotnˇe z´avisl´eho materi´alu, pˇriˇcemˇz se mˇen´ı dan´a mˇeˇriteln´a vlastnost, typicky rezistivita, a n´aslednˇe je pˇrevedena na elektrick´y sign´al pro dalˇs´ı zpracov´an´ı.

Kvantov´e, nebo tak´e fotonov´e, senzory generuj´ı voln´y n´aboj na z´akladˇe dopadaj´ıc´ıch foton˚u z´aˇren´ı s danou energi´ı. T´ım se mˇen´ı elektrick´e vlastnosti tohoto senzoru.

2.6.1 Term´aln´ı senzory

Term´aln´ı senzory pracuj´ı na principu zmˇeny sv´ych vlastnost´ı na z´akladˇe dopadaj´ıc´ıho z´aˇren´ı. Tˇemito vlastnostmi mohou b´yt napˇr´ıklad resistivita, kapacitance nebo napˇet´ı. Jejich v´yhodou je, ˇze jsou schopn´e fungovat za pokojov´ych teplot a nepotˇrebuj´ı tedy pro spr´avnou funkci extern´ı chlazen´ı. Mezi dva hlavn´ı typy vyuˇz´ıvan´e v dneˇsn´ıch termokamer´ach patˇr´ı bolometry a pyroelektrick´e senzory, jejichˇz vlastnosti jsou pops´any n´ıˇze.

Bolometr funguje na principu zmˇeny resistivity pˇri zmˇenˇe teploty po dopadu infraˇcerven´eho z´aˇren´ı. Pokud budeme hovoˇr´ıme o mikrobolometru, jedn´a se o jeden element pole, vˇetˇsinou um´ıstˇen´em na kˇrem´ıkov´em substr´atu. Takov´a pole, sloˇzen´a z mikobolometr˚u, m˚uˇzeme nazvat mikrobolometrick´ym senzorem, kde jeden element po vyˇcten´ı odpov´ıd´a jedn´e teplotn´ı hodnotˇe obrazu na dan´em pixelu. Schematicky m˚uˇzeme mikrobolometr vidˇet na obr´azku ˇc. 6.

6

Obr´azek 6: Mikrobolometrick´y detektor [11]

Dalˇs´ım typem term´aln´ıch senzor˚u je senzor pyroelektrick´y. Jak jiˇz n´azev napov´ıd´a, z´akladem je pyroelektrick´y efekt. Ten spoˇc´ıv´a v tom, ˇze pˇredevˇs´ım u nˇekter´ych krystalick´ych materi´al˚u doch´az´ı vlivem zmˇeny teploty k m´ırn´e oscilaci atom˚u v krystalick´e mˇr´ıˇzce, a tedy k doˇcasn´e polarizaci materi´alu. U pyroelektrick´ych materi´al˚u lze detekovat zmˇenu n´aboje pˇri zmˇenˇe tep- loty, tedy urˇcit elektrick´y proud, kter´y je pˇr´ımo ´umˇern´y t´eto zmˇenˇe. Jelikoˇz je senzor schopen detekovat pouze zmˇenu teploty, a ne jej´ı absolutn´ı hodnotu, je nutn´e pro tento senzor pouˇz´ıt napˇr´ıklad rotuj´ıc´ı clonu, kter´a bude periodicky zakr´yvat dan´y senzor, a t´ım z´ıskat konstantn´ı generovan´y proud senzoru, kter´y odpov´ıd´a dan´e teplotˇe. Z´aroveˇn m´a tato clona pozitivn´ı vliv na filtraci ˇsumu okol´ı.[11, 10].

(26)

2.6.2 Kvantov´e senzory

Kvantov´e senzory jsou schopn´e generovat po dopadu z´aˇren´ı n´aboj, a to d´ıky absorpci foton˚u. Ta nem´a za n´asledek n´ar˚ust vlastn´ı teploty detektoru. Hlavn´ı v´yhodou tˇechto sen- zor˚u je velmi rychl´a odezva, a to ˇr´adovˇe v mikrosekund´ach, a tak´e jejich vysok´a citlivost.

Nev´yhodou, a to hlavnˇe z hlediska cenov´e dostupnosti, je nutnost chladit senzor na kryo- genn´ı teploty. K tomu lze vyuˇz´ıt napˇr´ıklad stirling˚uv nebo peltier˚uv chladiˇc. D´ıky chlazen´ı se tak´e u tˇechto senzor˚u redukuje tepeln´y ˇsum. Dalˇs´ı vlastnost´ı tˇechto detektor˚u je, ˇze jsou ˇcasto ´uzkop´asmov´e, pˇriˇcemˇz detekovan´e p´asmo vlnov´ych d´elek takov´ych senzor˚u je definov´ano volbou materi´alu. [11, 10].

(27)

3 N´ avrh syst´ emu a pouˇ zit´ a zaˇ r´ızen´ı

V t´eto kapitole je pops´an n´avrh syst´emu a popis zaˇr´ızen´ı, kter´a byla pouˇzita pro jeho vytvoˇren´ı. Jak jiˇz bylo zm´ınˇeno v ´uvodn´ı kapitole, c´ılem t´eto pr´ace je navrhnout komplexn´ı syst´em pro detekci poˇz´aru, kter´y je schopn´y dlouhodob´eho bˇehu a detekce a z´aznamu rizika poˇz´aru. Dalˇs´ım poˇzadavkem byla implementace moˇznosti pˇripojen´ı aˇz 16 kamer, a to v moˇzn´e konfiguraci s motorem.

Pro tento syst´em bylo tedy tˇreba zvolit pr˚umyslov´e PC s parametry, kter´e zvl´adnou jak n´aroˇcnˇejˇs´ı prostˇred´ı, tak vhodnˇe zvolit v´ykonnostn´ı parametry. D´ale bylo nutn´e zahrnout do syst´emu PTZ motor s jeho ˇr´ıdic´ı jednotkou a samozˇrejmost´ı je term´aln´ı kamera SAFETIS, kter´a je v pˇr´ıpadˇe venkovn´ı mont´aˇze um´ıstˇena v krytu. V neposledn´ı ˇradˇe byl kv˚uli ´uspoˇre kabel´aˇze, a tak´e vzd´alenostn´ımu omezen´ı s´eriov´e linky, jeˇstˇe pouˇzit pˇrevodn´ık mezi ethernetem a s´eriovou linkou.

Vˇsechna tato zaˇr´ızen´ı jsou pops´ana v n´asleduj´ıc´ıch kapitol´ach a jejich schematick´e zapojen´ı je zn´azornˇeno na obr´azku ˇc. 7.

Obr´azek 7: Sch´ema zapojen´ı syst´emu

3.1 Termokamera SAFETIS

Termokamera SAFETIS [20] (viz obr´azek ˇc. 8) je zaˇr´ızen´ım spoleˇcnosti Workswell s.r.o.

Jedn´a se o kameru, kter´a kromˇe senzoru obsahuje ˇr´ıdic´ı desku zaloˇzenou na platformˇe Ri- coBoard, I/O kartu, kter´a disponuje moˇznost´ı ovl´ad´an´ı digit´aln´ıch v´ystup˚u a v neposledn´ı

(28)

ˇradˇe tak´e TCP/IP rozhran´ı. Takt´eˇz je moˇzn´e ji vyuˇz´ıt jako samostatn´e zaˇr´ızen´ı bez nutnosti extern´ıho ovl´ad´an´ı d´ıky zabudovan´emu web-serveru.

Tato kamera m´a v sobˇe mikrobolometrick´y LWIR senzor, kter´y pracuje ve spektr´aln´ım rozsahu 7.5− 13.6µm, a je moˇzn´e zvolit mezi rozliˇsen´ım 336x256px nebo 640x512px pˇri rychlostech sn´ıman´ı 9Hz nebo 30Hz. S t´ımto zaˇr´ızen´ım je moˇzn´e mˇeˇrit na rozsahu od−25C do 550C pˇr´ıpadnˇe s ´utlumov´ym filtrem a speci´aln´ı kalibrac´ı aˇz do 1500C, a to s pˇresnost´ı

±2%, pˇr´ıpadnˇe ±2C, a citlivost´ı aˇz 50mK, coˇz odpov´ıd´a zmˇenˇe o 0.05C.

Obr´azek 8: Termokamera SAFETIS

V aplikaci, kterou se zab´yv´a tato pr´ace, je kamera pˇripojena za pomoc´ı TCP/IP komu- nikaˇcn´ıho protokolu, a to konkr´etnˇe na dan´ych IP adres´ach urˇcen´ych s´eriov´ym ˇc´ıslem zaˇr´ızen´ı a dvou portech a to 2251 a 2252. Na z´akladˇe tohoto pˇripojen´ı je kamera ovl´ad´ana definova- nou sadou pˇr´ıkaz˚u, kter´e jsou uvedeny v tabulk´ach ˇc. 7 a ˇc. 8 v pˇr´ıloze C. Tˇemito pˇr´ıkazy je ovl´ad´ano samotn´e mˇeˇren´ı a nastaven´ı kamery, a to konkr´etnˇe sadou pˇr´ıkaz˚u zaslan´ych na port 2251 a tak´e radiometrick´y stream kamery, kter´y je ˇr´ızen implementovanou aplikac´ı a prob´ıh´a na druh´em portu 2252. V´ıce o komunikaci se zaˇr´ızen´ım a jeho pˇripojen´ım do grafick´e aplikace je uvedeno v kapitole 6

3.2 Pr˚umyslov´e PC Vecow IVH9000

Pro tuto aplikaci bylo nutn´e zvolit pr˚umyslov´y poˇc´ıtaˇc, kter´y bude odoln´y v˚uˇci zt´ıˇzen´ym okoln´ım podm´ınk´am, pˇredevˇs´ım prachu a teplot´am. Takt´eˇz bylo tˇreba zvolit takov´e zaˇr´ızen´ı, kter´e bude sv´ymi parametry vyhovovat n´aroˇcnosti aplikace a zpracov´an´ı dat z nˇekolika zaˇr´ızen´ı z´aroveˇn. Proto bylo zvoleno pr˚umyslov´e PC od spoleˇcnosti Vecow [22] a to konkr´etnˇe dvˇe moˇzn´e varianty IVH9016 a IVH9008. Tyto varianty se liˇs´ı pouze v poˇctu v´ystupn´ıch etherne- tov´ych port˚u a n´ıˇze jsou pops´any jejich parametry.

V´yhodami pouˇzit´ı tohoto zaˇr´ızen´ı, a tedy i parametry d´ıky, kter´ym byl tento syst´em vybr´an, jsou pasivn´ı chlazen´ı, a tedy eliminace zat´ıˇzen´ı syst´emu prachem, operaˇcn´ı teplota od

(29)

−25C do 70C, moˇznost vzd´alen´eho startu cel´eho syst´emu, vestavˇen´y SSD disk a moˇznost zapojen´ı ˇctyˇr vyj´ımateln´ych pevn´ych disk˚u a tak´e 16 ethernetov´ych port˚u s technologi´ı PoE (power over ethernet), ˇctyˇri s´eriov´e porty a 16 DIO pin˚u.

V´ykonovˇe byla zvolena varianta zaˇr´ızen´ı s procesorem Intel Core i7 ˇsest´e generace, 16 GB pamˇeti RAM DDR4 s frekvenc´ı 2133MHz, vnitˇrn´ım 128GB SSD diskem pro operaˇcn´ı syst´em Windows 7 a vlastn´ı aplikaci a ˇctyˇrmi 2TB disky pro ukl´ad´an´ı zaznamenan´ych dat.

Dle uˇzivatelsk´eho manu´alu je z 16 I/O pin˚u zaˇr´ızen´ı vyuˇzito osm v´ystupn´ıch pro moˇzn´e sp´ın´an´ı ostatn´ıch periferi´ı. D˚uvodem je fixn´ı konfigurace pin˚u v´yrobcem na 8 vstupn´ıch a 8 v´ystupn´ıch. Pro ovl´ad´an´ı byla pouˇzita intern´ı knihovna dodan´a spoleˇcnost´ı Vecow, kter´a povoluje pˇr´ım´e nastaven´ı logick´e ´urovnˇe t´eto periferii.

Obr´azek 9: Pr˚umyslov´e PC Vecow IVH 9016 [11]

3.3 Pˇrevodn´ık Edgar

Pˇrevodn´ık Edgar je zaˇr´ızeni od spoleˇcnosti Papouch s.r.o [19]. Toto zaˇr´ızen´ı umoˇzˇnuje pˇrevod s´eriov´e komunikace RS232 nebo RS485 na komunikace Ethernetovou. V p˚uvodn´ım konceptu cel´eho mˇeˇric´ıho zaˇr´ızen´ı, navrˇzen´eho pro tuto pr´aci, bylo poˇc´ıt´ano s propojen´ım pr˚umyslov´eho PC 3.2 a ˇr´ıdic´ı jednotky ovl´ad´an´ı motoru 3.4 za pomoc´ı s´eriov´eho rozhran´ı, avˇsak s´eriov´a komunikace m´a dle specifikac´ı omezen´ı na d´elku propojen´ı 5m. Z tohoto d˚uvodu jsme pˇristoupili na pˇrevod komunikace na ethernetovou. D´ıky tomuto kroku lze prodlouˇzit d´elku propojen´ı tˇechto dvou element˚u. Dalˇs´ı v´yhodou tohoto pˇrevodn´ıku je moˇznost nap´ajen´ı pomoc´ı PoE (Power over Ethernet). Pˇriˇcemˇz Vecow IVH9000 m´a tuto technologii pˇr´ımo pod- porovanou, a tedy doˇslo i k redukci poˇctu propojen´ı mezi poˇc´ıtaˇcem a mˇeˇric´ım syst´emem.

(30)

V p˚uvodn´ı verzi implementovan´e aplikace bylo vyuˇzito moˇznosti vytvoˇren´ı virtu´aln´ıho portu COM, kter´y odes´ılal s´eriov´a data na statickou IP adresu dan´eho pˇrevodn´ıku. Z d˚uvodu moˇznosti pˇripojen´ı aˇz 16 mˇeˇric´ıch modul˚u, a moˇznosti zjednoduˇsen´ı prvotn´ı konfigurace, jsme dle specifikac´ı zaˇr´ızen´ı Edgar pˇristoupili k revizi a vyuˇzili moˇznosti definovat IP ad- resu pˇrevodn´ıku a reimplemetovat pˇripojen´ı z virtu´aln´ıho s´eriov´eho pˇripojen´ı na protokol TCP.

Obr´azek 10: Pˇrevodn´ık Edgar [11]

3.4 PT motor s ˇr´ıdic´ı jednotkou

Pro virtu´aln´ı zvˇetˇsen´ı zorn´eho ´uhlu kamery, ˇci moˇznosti nahradit v´ıce zaˇr´ızen´ı jedn´ım, byl do syst´emu implementov´an takzvan´y PT (Pan,Tilt) motor PTH300 [18] od spoleˇcnosti Videotec S.P.A. Na tento motor (viz obr´azek ˇc. 11a) je um´ıstˇena kamera SAFETIS, a je tedy moˇzn´e jej´ı nat´aˇcen´ı ve dvou os´ach, a to na z´akladˇe fyzick´ych limit˚u motoru. Motor PTH300 byl takt´eˇz zvolen z d˚uvodu moˇznosti rotace o 330 horizont´alnˇe a 360 vertik´alnˇe, a to na z´akladˇe nastaven´ych limit˚u rotace a tak´e d´ıky stupni kryt´ı IP66, coˇz znamen´a kryt´ı pˇred nebezpeˇcn´ym dotykem jakoukoliv pom˚uckou, ´upln´emu kryt´ı proti prachu a ochranˇe proti intenzivnˇe tryskaj´ıc´ı vodˇe.

Pro ovl´ad´an´ı chodu motoru PTH300 byla pouˇzita ˇr´ıdic´ı jednotka DTMRX2 (na obr´azku ˇc.

11b) od stejn´eho v´yrobce tedy Videotec S.P.A. Toto zaˇr´ızen´ı umoˇzˇnuje propojen´ı PT motoru s dalˇs´ım zaˇr´ızen´ım, v naˇsem pˇr´ıpadˇe pr˚umyslov´ym PC 3.2 pomoc´ı rozhran´ı RS232 nebo RS485.

V pˇr´ıpadˇe t´eto pr´ace je vyuˇzito rozhran´ı RS232, kter´e je z d˚uvodu moˇznosti potˇreby vˇetˇs´ıch ko- munikaˇcn´ıch vzd´alenost´ı transformov´ano pˇrevodn´ıkem Edgar 3.3 na pos´ıl´an´ı s´eriov´ych pˇr´ıkaz˚u pˇres ethernetov´e zapojen´ı. Struktura tˇechto pˇr´ıkaz˚u je definov´ana podporovan´ym Pelco-D pro- tokolem, kter´y je pops´an v n´asleduj´ıc´ı sekci 3.4.1. Pro vyuˇzit´ı tohoto protokolu byla jednotka konfigurov´ana pomoc´ı fyzick´ych pˇrep´ınaˇc˚u na z´akladn´ı desce, dle uˇzivatelsk´eho manu´alu.

Takt´eˇz byly nastaveny parametry s´eriov´e komunikace a zvolena varianta nap´ajen´ı jak sa- motn´e jednotky, tak i pˇripojen´eho motoru. V´yhodami t´eto ˇr´ıdic´ı jednotky je stupeˇn kryt´ı IP56, tedy oproti motoru je rozd´ıl pouze v ˇc´asteˇcn´em kryt´ı proti prachu a d´ale moˇznost´ı jak manu´aln´ıho nastaven´ı pozic, tak nastaven´ım pˇrednastaven´ych pozic. Hlavn´ı nev´yhodou je chybˇej´ıc´ı zpˇetn´a komunikace, a to hlavnˇe z pohledu chybˇej´ıc´ı informace o aktu´aln´ım natoˇcen´ı motoru a informaci zda se motor aktu´alnˇe pohybuje.

(31)

(a) PTZ motor PTH300 [18]

(b) ˇR´ıdic´ı jednotka DTMRX2 [17]

Obr´azek 11: PTZ motor s ˇr´ıdic´ı jednotkou 3.4.1 Pelco-D

Protokol Pelco-D je jeden z ˇrady protokol˚u vyvinut´y pˇrev´aˇznˇe pro komunikaci s PTZ motory a v CCTV pr˚umyslu. Jedn´a se o protokol pouˇz´ıvan´y v s´eriov´e komunikaci a definuje form´at a sadu pˇr´ıkaz˚u vˇcetnˇe parametr˚u. Pro nastaven´ı tohoto protokolu je tˇreba v s´eriov´e komunikaci nastavit osm datov´ych bit˚u, jeden stop bit a ˇz´adnou paritu. Volba rychlosti s´eriov´e komunikace mus´ı b´yt zvolena dle zaˇr´ızen´ı, se kter´ym se komunikuje, coˇz je v naˇsem pˇr´ıpadˇe 2400Bd pro komunikaci s ˇr´ıdic´ı jednotkou DTMRX2, dle uˇzivatelsk´eho manu´alu. Samotn´a Pelco-D zpr´ava obsahuje 7 bajt˚u jejichˇz v´yznam je:

• Prvn´ı bajt je synchronizaˇcn´ı a vˇzdy nab´yv´a hodnotyF F v hexadecim´aln´ım k´odu.

• Druh´y bajt obsahuje adresu ˇr´ıdic´ı jednotky pro PTZ motor, kter´y je zpravidla uveden v uˇzivatelsk´em manu´alu.

• Tˇret´ı a ˇctvrt´y bajt obsahuje data o ovl´ad´an´ı (smˇer ot´aˇcen´ı motoru, ˇr´ızen´ı PTZ bezpeˇcnostn´ı kamery a podobnˇe).

• P´at´y bajt je datov´y a nastavuje rychlost ot´aˇcen´ı kolem svisl´e osy PTZ motoru.

• Sest´ˇ y bajt je datov´y a ud´av´a rychlost ot´aˇcen´ı kolem vertik´aln´ı osy PTZ motoru.

• Sedm´y bajt ma podobu kontroln´ıho souˇctu a je to zbytek po dˇelen´ı 100 ze sumy za- slan´ych bajt˚u vyjma synchronizaˇcn´ıho.

Na bajty tˇri a ˇctyˇri lze pohl´ıˇzet jako na pˇr´ıkazy. Kaˇzd´y bit ovl´ad´a jinou funkci kamery, napˇr´ıklad pokud je tˇret´ı bit ˇctvrt´eho bajtu nastaven na hodnotu 1 a je nastavena nenulov´a hodnota dat pro vertik´aln´ı rychlost, motor se zaˇcne pohybovat danou rychlost´ı vertik´alnˇe vzh˚uru, a to do doby, dokud nezaˇsleme pˇr´ıkaz na zastaven´ı pohybu [1].

(32)

4 Popis implementaˇ cn´ıch n´ astroj˚ u

V t´eto kapitole jsou pops´any softwarov´e n´astroje pouˇzit´e pro v´yvoj aplikace. Jedn´a se o pˇrehled informac´ı o programovac´ım jazyku C#, d´ale popis grafick´eho subsyst´emu WPF a tak´e anal´yza n´avrhov´eho vzoru MVVM, dle kter´eho je aplikace implementov´ana.

4.1 V´yvojov´a platforma .NET Framework a programovac´ı jazyk C#

V´yvojov´a platforma .NET Framework, vyvinut´a firmou Microsoft koncem 90. let, je ko- lekc´ı n´astroj˚u, technologi´ı a takt´eˇz sadou programovac´ıch n´astroj˚u pro implementaci aplikac´ı.

Kl´ıˇcovou komponentou .NET Frameworku je ”Common Language Runtime”(CLR), coˇz je prostˇred´ı staraj´ıc´ı se hlavnˇe o bˇeh programu a jeho kompilaci. Proces kompilace prob´ıh´a ve dvou f´az´ıch, nejprve je program pˇreloˇzen do tzv. ”Common Intermediate Language”, jehoˇz v´ystupem je k´od spoleˇcn´y pro vˇsechny programovac´ı jazyky v sadˇe .NET Frameworku, avˇsak nen´ı spustiteln´y. O pˇreklad aplikace do spustiteln´eho souboru se star´a takzvan´y just-in-time kompil´ator, kter´y k´od pˇrevede na sadu pˇr´ıkaz˚u podl´ehaj´ıc´ı operaˇcn´ımu syst´emu a architektuˇre poˇc´ıtaˇce. CLR nepln´ı jenom funkci kompilace, z´aroveˇn tak´e obsluhuje za bˇehu aplikace jej´ı spr´avu pamˇeti, obsluhu v´yjimek nebo napˇr´ıklad spr´avu vl´aken. Dalˇs´ım n´astrojem je ”Com- mon Type System”CTS. Ten obsahuje informace o datov´ych typech jednotliv´ych jazyk˚u ze sady a star´a se o jejich vz´ajemnou kompatibilitu a pˇrenositelnost informace.

Jak jiˇz bylo zm´ınˇeno, platforma .NET Framework obsahuje sadu programovac´ıch ja- zyk˚u, mezi nˇeˇz patˇr´ı napˇr´ıklad VisualBasic, C++, F#, JScript, J#, C# a dalˇs´ı. T´ım nej- pokroˇcilejˇs´ım a nejrozs´ahlejˇs´ım z t´eto sady je pr´avˇe C#. Pˇredstaven byl v roce 2000 a od jeho pˇredstaven´ı vzr˚ustala jeho popularita a moment´alnˇe je mezi jedn´ım z 10 svˇetov´ych nej- pouˇz´ıvanˇejˇs´ıch programovac´ıch jazyk˚u. Jazyk C# je objektovˇe orientovan´y s pˇr´ısnou kontrolou datov´ych typ˚u a nab´ız´ı jeho uˇzivatel˚um bˇeˇzn´e n´astroje objektov´eho programov´an´ı, jako jsou dˇediˇcnost, zapouzdˇren´ı, polymorfismus, pˇrekr´yv´an´ı metod a dalˇs´ı [13, 6].

4.2 Popis Windows Presentation Foundation (WPF)

Windows Presentation Foundation neboli WPF je grafick´y subsyst´em slouˇz´ıc´ı pro vykres- lov´an´ı grafick´eho rozhran´ı aplikac´ı implementovan´ych pomoc´ı jazyka C#. Prvn´ı verz´ı tohoto syst´emu, kter´a mˇela nahradit pˇredchoz´ı Windows Forms, byla uvedena v r´amci .NET Fra- meworku 3.0 v roce 2006. K ´upln´emu nahrazen´ı nedoˇslo a pˇredchoz´ı Windows Forms je st´ale v nˇekter´ych oblastech vyuˇz´ıv´an. Podsyst´em WPF lze rozdˇelit do 3 hlavn´ıch ˇc´ast´ı, a to na Presentation Framework, Presentation Core a MIL Core.

Presentation Framework obsahuje sadu definovan´ych komponent˚u pro vytv´aˇren´ı GUI, jako napˇr´ıklad tlaˇc´ıtka, textov´a pole, zaˇskrt´avac´ı pole a podobnˇe. Druh´a ˇc´ast, tedy Presentation Core, obsahuje tˇr´ıdy a rozhran´ı kl´ıˇcov´e pro jednotliv´e grafick´e prvky. Posledn´ı MIL Core (Media Integration Layer Core) zaobaluje DirectX pomoc´ı obsluˇzn´ych tˇr´ıd a umoˇzˇnuje tak propojen´ı CLR a DirectX.

V´yhodou implementace grafick´eho rozhran´ı za pomoc´ı WPF je jednoznaˇcn´e oddˇelen´ı gra-

(33)

fick´e a funkˇcn´ı ˇc´asti. Grafick´a ˇc´ast je implementov´ana za pomoc´ı jazyka XAML (Extensible Application Markup Language), pˇriˇcemˇz souˇc´ast´ı je i obsluˇzn´a tˇr´ıda obecnˇe nazvan´a ”Code behind”. V t´eto tˇr´ıdˇe lze specifikovat, ˇci rozˇs´ıˇrit, funkcionalitu grafick´ych prvk˚u, pˇr´ıpadnˇe spravovat ud´alosti vyvolan´e grafick´ymi prvky. Pouˇzit´ım t´eto tˇr´ıdy ve smyslu pˇr´ıstupu k dat˚um vˇsak naruˇsuje princip oddˇelen´ı grafick´e a programov´e ˇc´asti. Standardnˇe se tˇr´ıda code behind pouˇz´ıv´a pˇr´ıkladnˇe pro obsluhu ud´alost´ı, pˇri kter´ych nen´ı tˇreba kontakt s daty aplikace, ˇc´ımˇz m˚uˇze b´yt pˇribl´ıˇzen´ı obr´azku [14, 2].

4.3 N´avrhov´y vzor MVVM

Pro n´avrh aplikac´ı existuje nˇekolik n´avrhov´ych vzor˚u, z nichˇz kaˇzd´y m´a sv´e v´yhody a nev´yhody. Tˇemito vzory jsou Model-View-Controler (MVC), Model-View-Presenter (MVP) nebo Model-View-ViewModel (MVVM). Tato kapitola je vˇenov´ana popisu vzoru MVVM, jelikoˇz je souˇc´ast´ı t´eto pr´ace, a byl vyuˇzit pˇri n´avrhu a implementaci poˇzadovan´e aplikace.

Obr´azek 12: Sch´ema principu n´avrhov´eho vzoru MVVM [12]

Strukturu MVVM (viz obr´azek ˇc. 12) m˚uˇzeme, jak jiˇz n´azev napov´ıd´a, rozdˇelit na 3 prvky a tˇemi jsou Model, View a ViewModel. Modelem je objekt pˇredstavuj´ıc´ı danou logickou ˇc´ast aplikace a modeluje jej´ı vybran´e aspekty. Jsou zde tedy uvedena jak poˇzadovan´a data, tak obsluˇzn´e a v´ypoˇcetn´ı funkce, kter´e modeluj´ı chov´an´ı. ˇC´ast View je zodpovˇedn´a za grafickou podobu aplikace. V naˇsem pˇr´ıpadˇe je pro tento pˇr´ıpad vyuˇzito tˇr´ıd generovan´ych za pomoc´ı WPF. Zde je pracov´ano s daty, kter´a jsou zobrazena v grafice aplikace, jakoˇzto jsou zde vytvoˇreny ovl´adac´ı prvky samotn´e aplikace. V pˇr´ıpadˇe WPF je c´ıleno na separaci zobrazen´ı od vlastn´ıch dat, tedy je zde snaha o nepouˇzit´ı code behind tˇr´ıdy v co nejvˇetˇs´ım rozsahu. Posledn´ı ˇ

c´ast´ı je takzvan´y ViewModel, ten slouˇz´ı k propojen´ı jiˇz v´yˇse zm´ınˇen´ych ˇc´ast´ı. Pomoc´ı nˇej jsou vymˇeˇnov´ana data s Modelem a vol´any jeho obsluˇzn´e funkce a je z nˇej obsluhov´ana grafick´a ˇ

c´ast, pˇr´ıpadnˇe grafick´e prvky volaj´ı funkce a pˇred´avaj´ı data do pˇr´ısluˇsn´eho ViewModelu.

Pro propojen´ı View s ViewModelem je vyuˇzito principu datov´eho bindingu. Obecnˇe da- tov´y binding slouˇz´ı k prov´az´an´ı dat a zobrazen´ı bez pˇr´ım´eho pˇr´ıstupu k dan´ym dat˚um z code behind. Z toho d˚uvodu byly do z´akladn´ıho objektu tˇr´ıdy System.Object pˇrid´any ”Depen- dencyObject”a ”DependencyProperty”. Principem pot´e je, ˇze kaˇzd´y ovl´adac´ı prvek GUI je potomkem tˇr´ıdy DependencyObject m˚uˇze registrovat jednotliv´e DependencyPropetry. Ty jsou typem promˇenn´e, jejichˇz hodnota je zaps´ana ve speci´aln´ım slovn´ıku, kter´y obsahuje jednotliv´e DepencyPropery a jejich kl´ıˇce a hodnoty. Kl´ıˇcem tˇechto promˇenn´ych je jejich n´azev a jejich hodnota je dynamicky vyˇctena pomoc´ı funkce ”GetValue”. V´ysledkem toho prov´az´an´ı je niˇzˇs´ı pamˇet’ov´a n´aroˇcnost, a tak´e moˇznost dˇedˇen´ı. Obnova hodnot v grafick´em rozhran´ı prob´ıh´a au- tomaticky dle potˇreby, nebo je moˇzn´e vyuˇz´ıt vol´an´ı specifick´e ud´alosti RaiseProperty, kter´a

(34)

vynut´ı okamˇzitou aktualizaci hodnoty v pˇriˇrazen´ych prvc´ıch GUI. Prov´az´an´ı lze tak´e d´ale ovlivnit specifikac´ı typu, kter´e jsou uvedeny v tabulce ˇc. 1

N´azev Popis

Two way Naˇc´ıtan´ı i z´apis do zdroje.

One way Pouze naˇc´ıt´an´ı ze zdroje.

One time Naˇcten´ı ze zdroje pouze jednou pˇri inicializaci.

One way to source Pouze z´apis do zdroje.

Tabulka 1: Pˇrehled moˇznost´ı prov´az´an´ı datov´eho propojen´ı

Pokud tedy shrneme v´yhody pouˇzit´ı n´avrhov´eho vzoru MVVM m˚uˇzeme konkr´etnˇe hovoˇrit o tˇechto:

• Separace grafick´e a funkˇcn´ı ˇc´asti, coˇz vede k modul´arnosti aplikace a moˇznosti spo- lupr´ace v´ıce program´ator˚u na r˚uzn´ych ´usec´ıch.

• D´ıky separaci a vlastnostem tohoto n´avrhov´eho vzoru aplikace obsahuje kratˇs´ı ´useky k´odu. Tedy je pˇrehlednˇejˇs´ı a m´enˇe n´achyln´a na chybu. Z´aroveˇn je pot´e jednoduˇsˇs´ı chyby odhalit

• Na z´akladˇe stanoven´ych princip˚u a organizaci je v´ysledn´y k´od pˇrehlednˇejˇs´ı a lze se v nˇem l´epe orientovat.

Za nev´yhody m˚uˇzeme povaˇzovat sloˇzitˇejˇs´ı syntaxi jazyka XAML, pˇr´ıpadnˇe n´aroˇcnˇejˇs´ı prin- cip funkce datov´eho bindingu [12, 3].

(35)

5 Z´ akladn´ı popis aplikace pro detekci poˇ z´ ar˚ u

V t´eto sekci jsou pops´any z´akladn´ı parametry aplikace, implementovan´e na z´akladˇe zad´an´ı t´eto pr´ace. D´ale se budeme vˇenovat obecn´emu popisu, ˇs´ıˇren´ı, instalaci a jej´ı struktuˇre. Funkce a parametry aplikace budou pops´any v n´asleduj´ıc´ı kapitole.

5.1 Parametry a popis aplikace

Tato aplikace byla vyvinuta v jazyce Visual C#, ve v´yvojov´em studiu Microsoft Visual Studio 2017. V´yhodou tohoto n´astroje pˇri implementaci byla moˇznost vyuˇzit´ı mˇeˇren´ı pamˇeti a vyt´ıˇzen´ı procesoru jiˇz v pr˚ubˇehu implementace. Tento software byl vyvinut jako deskto- pov´a aplikace pro operaˇcn´ı syst´em Windows Vista a vyˇsˇs´ı, a to z d˚uvodu vyuˇzit´ı grafick´eho subsyst´emu WPF. Ten byl implementov´an v .NET Frameworku 3.0 a vyˇsˇs´ım, a t´ım pr´avˇe dis- ponuj´ı tyto operaˇcn´ı syst´emy. Konkr´etnˇe byl vyuˇzit .NET Framework 4.5.2, kter´y je tedy i pre- rekvizitou tohoto programu. Aplikace byla navrˇzena dle n´avrhov´eho vzoru MVVM, a to d´ıky moˇznosti vyuˇz´ıt grafickou akceleraci a tak´e pro umoˇznˇen´ı vyuˇzit´ı v´ıcevl´aknov´eho pˇr´ıstupu, neboli vyuˇzit´ı v´ıce jader procesoru. Dalˇs´ım d˚uvodem byl pˇredpoklad r˚ustu aplikace, tedy byl pˇri porovn´an´ı s modelem MVC model MVVM vyhodnocen jako pˇrehlednˇejˇs´ı z hlediska modul´arnosti a pˇrehledu implementovan´eho k´odu.

Z pohledu parametr˚u pro aplikaci, je pˇredpokladem, ˇze aplikace bude pouˇzita na 64 bi- tov´em syst´emu Windows, tedy je i pro tento syst´em sestavena. D˚uvodem byla pamˇet’ov´a n´aroˇcnost aplikace z pohledu ukl´ad´an´ı sn´ımk˚u do pamˇeti, a tedy nutnost uvolnˇen´ı co nejvˇetˇs´ıho mnoˇzstv´ı pamˇeti syst´emem. Z pohledu pevn´eho disku je vyuˇzit´y 128GB syst´em dostaˇcuj´ıc´ı pro samotnou aplikaci, kter´a po instalaci dosahuje velikosti pˇribliˇznˇe 40MB. Z pohledu n´aroˇcnosti na v´ykon procesoru byla aplikace v pr˚ubˇehu bˇehu sledov´ana a jej´ı vytˇeˇzov´an´ı bylo urˇceno pr˚umˇernˇe na 30% rovnomˇern´eho vyt´ıˇzen´ı vˇsech jader.

5.2 Instalace a ˇs´ıˇren´ı aplikace

Pˇredpokladem aplikace je jej´ı pˇredinstalace na pr˚umyslov´e PC Vecow, tedy jej´ı ˇs´ıˇren´ı je sv´az´ano s t´ımto zaˇr´ızen´ım. Pro pˇr´ıpadn´e novˇe implementovan´e funkce ˇci opravy je moˇzn´e st´ahnout instalaˇcn´ı soubor z webov´ych str´anek. Instalaˇcn´ı soubor je vytvoˇren ve form´atu

”.exe”, ve kter´em jsou obsaˇzeny kromˇe vlastn´ı aplikace i prerekvizity, a to hlavnˇe pro pˇr´ıpad prvotn´ı instalace, nebo potˇreby reinstalace cel´eho zaˇr´ızen´ı. Dalˇs´ı v´yhodou tohoto souboru je, ˇze nen´ı pro instalaci ˇci update tˇreba internetov´e pˇripojen´ı zaˇr´ızen´ı, coˇz u pr˚umyslov´ych poˇc´ıtaˇc˚u instalovan´ych v provozu neb´yv´a ˇcast´e, a tedy lze prov´est update spuˇstˇen´ım souboru napˇr´ıklad z flash disku. Tento instalaˇcn´ı soubor je obecnˇe naz´yv´an Bootstraper a jeho souˇc´asti lze rozdˇelit do dvou skupin. Obecnˇe je jeho souˇc´ast´ı samotn´y program a jeho prerekvizity, tedy souˇc´asti, na kter´ych je spr´avn´y bˇeh vlastn´ı aplikace z´avisl´y. V tomto pˇr´ıpadˇe je jedinou prerekvizitou Microsoft .NET Framework 4.5.2 a tedy v tomto pˇr´ıpadˇe instal´ator pˇred instalac´ı vlastn´ı aplikace ovˇeˇruje, zda je nainstalov´an pˇr´ısluˇsn´y framework a zajiˇst’uje jeho pˇr´ıpadnou doinstalaci. V pˇr´ıpadˇe potˇreby lze vyuˇz´ıt i moˇznosti ovˇeˇren´ı architektury vlastn´ıho zaˇr´ızen´ı a dle toho nainstalovat bud’ 32-bitovou nebo 64-bitovou verzi dan´e aplikace. V naˇsem pˇr´ıpadˇe

(36)

tato moˇznost vyuˇzita nebyla, jelikoˇz pˇredpokladem cel´e aplikace je 64-bitov´a architektura a operaˇcn´ı syst´em.

Instal´ator vlastn´ı aplikace byl vytvoˇren jako ”msi”instalaˇcn´ı soubor a druh´y pomocn´y soubor s pˇr´ıponou ”.cab”, kter´y slouˇz´ı pro vykreslen´ı grafiky pˇri instalaci. Pro jeho vytvoˇren´ı i n´asledn´eho Bootstrapperu byla vyuˇzita sada n´astroj˚u WiX [23] pro v´yvojov´e prostˇred´ı Microsoft Visual Studio. WiX je zkratkou pro ”Windows Installer XML”a jedn´a se o volnˇe ˇsiˇriteln´y plugin pro vytv´aˇren´ı pr´avˇe tˇechto instalaˇcn´ıch soubor˚u. Jeho v´yhodou je moˇznost upravit instal´ator dle potˇreb aplikace, napˇr´ıklad ´upravou vizualizace ˇci vloˇzen´ım licenˇcn´ıch podm´ınek, a z´aroveˇn tento instal´ator pot´e vyuˇz´ıv´a sluˇzbu Windows Installer.

5.2.1 Instalace aplikace

Instalace aplikace za vyuˇzit´ı Boostrapperu je rozdˇelena do sady navazuj´ıc´ıch dialogov´ych oken, kter´e byly vytvoˇreny ´upravou dostupn´e standardn´ı sady ”WixUI InstallDir”. Po spuˇstˇen´ı instal´atoru je uˇzivatel informov´an o n´asleduj´ıc´ıch kroc´ıch, kter´ymi jsou ovˇeˇren´ı a pˇr´ıpadn´a instalace prerekvizit a n´asledn´a instalace samotn´e aplikace. Po potvrzen´ı dojde k ovˇeˇren´ı potˇrebn´ych n´astroj˚u za pomoc´ı ovˇeˇren´ı registr˚u. Pokud je tˇreba instalace nebo update pre- rekvizit, dojde ke spuˇstˇen´ı zabalen´eho extern´ıho instal´atoru (viz obr´azek ˇc. 13). Po instalaci prerekvizit je otevˇreno okno instal´atoru vlastn´ı aplikace, kde jsou v prvn´ım dialogu uve- deny obecn´e informace o instalaci. N´asleduj´ı licenˇcn´ı podm´ınky vlastnictv´ı a ˇs´ıˇren´ı aplikace spoleˇcnosti Workswell s.r.o., po kter´ych pˇri potvrzen´ı n´asleduje v´ybˇer koˇrenov´eho adres´aˇre pro instalaci a moˇznost vytvoˇren´ı z´astupce na ploˇse a v menu Start. Posledn´ım dialogem pˇred samotnou instalac´ı je dialog s moˇznost´ı n´avratu a zmˇeny pˇredchoz´ıch zad´an´ı a potvrzen´ım k instalaci. Samotn´a instalace slouˇz´ı k vytvoˇren´ı instalaˇcn´ıch a potˇrebn´ych sloˇzek pro spuˇstˇen´ı, rozbalen´ı soubor˚u a k z´apisu do registr˚u a vytvoˇren´ı z´astupc˚u. O jej´ım pr˚ubˇehu je uˇzivatel informov´an ukazatelem pr˚ubˇehu s informaˇcn´ım textem a je zakonˇcen informac´ı o dokonˇcen´ı instalace a jej´ım potvrzen´ım.

5.3 Struktura aplikace a zdrojov´eho k´odu

V t´eto kapitole je pops´ana struktura aplikace z pohledu spuˇstˇen´ı, rozdˇelen´ı grafick´eho rozhran´ı na z´akladˇe WPF a tˇr´ıdn´ı hierarchie na z´akladˇe n´avrhov´eho vzoru MVVM. Jak jiˇz bylo uvedeno pro implementaci aplikace, bylo vyuˇzito v´yvojov´e prostˇred´ı Microsoft Visual Studio 2017, vˇcetnˇe jeho n´astroj˚u pro debuggov´an´ı, sledov´an´ı v´ykonu a spr´avy projektu.

5.3.1 Struktura spuˇstˇen´ı

Kl´ıˇcov´ym souborem, a z´aroveˇn objektem pro spuˇstˇen´ı aplikace, je ”App”, jenˇz je potom- kem modelu WPF aplikace (”Application”). V jeho pˇridruˇzen´em souboru s k´odem v pozad´ı

”App.cs” je definov´an hlavn´ı aplikaˇcn´ı model a z´aroveˇn vytvoˇrena instance objektu ”Appli- cationBase”. Pˇri vytvoˇren´ı t´eto instance objektu jsou ovˇeˇreny a naˇcteny jazykov´e mutace pro- gramu, d´ale ovˇeˇreny a vytvoˇreny struktury sloˇzek potˇrebn´e pro n´asledn´y bˇeh programu a tak´e

(37)

Obr´azek 13: N´ahled instal´atoru aplikace

inicializov´ana ikona cel´e aplikace. V dˇr´ıvˇejˇs´ıch verz´ıch se v t´eto instanci d´ale ˇreˇsilo takt´eˇz li- cencov´an´ı aplikace jako celku, kter´e bylo pot´e reimplementov´ano. V neposledn´ı ˇradˇe je zde vytvoˇrena instance hlavn´ıho okna aplikace a takt´eˇz jsou v n´asleduj´ıc´ım sledu vytvoˇreny kl´ıˇcov´e objekty hlavn´ıho objektu ”ApplicationViewModelu” aplikace, kter´e jsou jeho potomky.

5.3.2 Struktura grafick´eho rozhran´ı

Jak jiˇz bylo uvedeno, grafick´a ˇc´ast aplikace byla implementov´ana s pomoc´ı WPF. Pro implementaci nˇekter´ych grafick´ych prvk˚u bylo vyuˇzito sady knihoven Telerik [21], kter´e jsou

”nadstavbou” WPF komponent. Respektive upravuj´ı jejich funkcionalitu a vizu´aln´ı podobu.

Grafick´e rozhran´ı aplikace lze rozloˇzit prim´arnˇe na hlavn´ı okno, ve kter´em jsou vyuˇzit´e panely. Tyto panely maj´ı dokovac´ı funkci s moˇznost´ı uloˇzen´ı a resetov´an´ı jejich rozloˇzen´ı.

D´ıky t´eto funkci si m˚uˇze uˇzivatel pˇrizp˚usobit aplikaci dle sv´ych potˇreb, a to hlavnˇe z po- hledu pˇrehlednosti. V´yhodou tohoto rozhran´ı z pohledu implementace je moˇznost vytvoˇren´ı vlastn´ıch grafick´ych objekt˚u, se kter´ymi lze pot´e pracovat stejnˇe jako s objekty knihovn´ımi, a kter´e jsou pot´e vkl´ad´any do jednotliv´ych panel˚u. Kombinac´ı tˇechto vlastnost´ı bylo doc´ıleno modifikovateln´eho, pˇrehledn´eho a uˇzivatelsky pˇr´ıvˇetiv´eho rozhran´ı pro koncov´e z´akazn´ıky a uˇzivatele aplikace.

5.3.3 Hierarchie zdrojov´eho k´odu

Pˇri implementaci aplikace bylo c´ıleno na udrˇzen´ı pˇrehlednosti a modul´arnosti implemen- tace. Z pohledu pˇrehlednosti se jedn´a hlavnˇe o tˇr´ıdˇen´ı souvisej´ıc´ıch tˇr´ıd do vhodnˇe pojme-

(38)

novan´ych sloˇzek, a to takt´eˇz i kv˚uli vlastnosti v´yvojov´eho prostˇred´ı, kter´e na z´akladˇe po- jmenov´an´ı tˇechto rozdˇeluj´ıc´ıch sloˇzek a jejich zanoˇren´ı vytv´aˇr´ı tzv. namespace, neboli obal pro urˇcitou ˇc´ast zdrojov´ych k´od˚u. Jelikoˇz ´ukolem pro implementaci t´eto aplikace bylo vyuˇzit´ı n´avrhov´eho vzoru MVVM, bylo logick´ym krokem vytvoˇren´ı pojmenov´an´ı sloˇzek na z´akladˇe konceptu tohoto modelu. Jmenovitˇe se tedy jedn´a o sloˇzky s n´azvy Models, View, ViewMo- dels a Utils jejichˇz ˇclenˇen´ı m˚uˇzeme vidˇet na obr´azku ˇc. 14. V projektu jeˇstˇe m˚uˇzeme nal´ezt sloˇzku Resources, kter´a slouˇz´ı pro uchov´an´ı grafick´ych objekt˚u, jako jsou napˇr´ıklad miniatury loga, statick´e obr´azky, ˇci vlastn´ı grafika ovl´adac´ıch prvk˚u. Samozˇrejm´e je, ˇze tyto jmenovan´e sloˇzky jsou koˇrenov´e, a ˇze d´ale doch´az´ı k dalˇs´ımu vˇetven´ı na z´akladˇe logick´ych souvislost´ı mezi obsaˇzen´ymi prvky. Podrobnˇejˇs´ı mapa tˇr´ıd je uvedena v pˇr´ıloze D. Pro dosaˇzen´ı modul´arnosti programu byla jednak snaha o oddˇelen´ı spolu nesouvisej´ıc´ıch prvk˚u k´odu, jednak tak´e o co nejvˇetˇs´ı moˇzn´e vyuˇzit´ı k´odu spoleˇcn´eho.

FireSafetyApp Utils

Models

View

Smartis ChartDataObjects

Converters

Translation

Controls

Panels ConfigPanels

SettingPanels

ViewModels

Resources

Obr´azek 14: ˇClenˇen´ı aplikace do tzv. ”namespace”

Odkazy

Související dokumenty

Jednou z moˇ znost´ı zpracov´ an´ı ultrazvukov´ ych sn´ımk˚ u, nikoliv vˇ sak nejlepˇ s´ı, je pouˇ zit´ı prostˇ red´ı MATLAB, kter´ y je v akademick´ e sf´ eˇ re

Jedn´ım z posledn´ıch c´ıl ˚u diplomov´e pr´ace je odzkouˇsen´ı matematick´eho modelu i programu urˇcen´eho pro online nasazen´ı na re´aln ´ych datech, kter´e

Pro komunikaci po pˇ rihl´ aˇ sen´ı se tedy pouˇ z´ıvaj´ı JWT, ale pro z´ısk´ an´ı identity se bude vyuˇ z´ıvat Shibboleth s moˇ znost´ı pˇ rid´ an´ı dalˇ

Program Imperva Data Masking [7] je n´ astroj, kter´ y umoˇ zˇ nuje automatick´ e a bezpeˇ cn´ e vytv´ aˇ ren´ı funkˇ cn´ı kopie produkˇ cn´ı datab´ aze, se zachov´

Konfigurace s´ıt’ov´ ych zaˇ r´ızen´ı je realizov´ ana pomoc´ı konfiguraˇ cn´ıho n´ astroje Ansible, kter´ y jsem doplnil o moduly umoˇ zˇ nuj´ıc´ı nastaven´ı

V z´ avˇ eru se pr´ ace bude zab´ yvat tak´ e testov´ an´ım a moˇ znostmi nasazen´ı novˇ e vytvoˇ ren´ eho syst´ emu do produkˇ cn´ıho prostˇ red´ı....

Tato pr´ ace popisuje proces hojen´ı zlomenin a vliv mechanick´ ych sil na jeho pr˚ ubˇ eh, se zamˇ eˇ ren´ım na z´ısk´ an´ı znalost´ı pro vytvoˇ ren´ı elektronicky

Aˇ ckoli je zaˇr´ızen´ı Mikrotik a jeho operaˇ cn´ı syst´ em RouterOS urˇ cen pˇredevˇs´ım ke smˇ e- rov´ an´ı mezi s´ıtˇ emi, nen´ı to tak vˇ zdy a jeho moˇ znosti