• No results found

Komunikaˇcn´ı protokoly pro chytr´e s´ıtˇe

N/A
N/A
Protected

Academic year: 2022

Share "Komunikaˇcn´ı protokoly pro chytr´e s´ıtˇe"

Copied!
50
0
0

Loading.... (view fulltext now)

Full text

(1)

Komunikaˇ cn´ı protokoly pro chytr´ e s´ıtˇ e

Bakal´ aˇ rsk´ a pr´ ace

Studijn´ı program: B2612 – Elektrotechnika a informatika

Studijn´ı obor: 2612R011 – Elektronick´e informaˇcn´ı a ˇr´ıdic´ı syst´emy Autor pr´ace: Jakub Pech´aˇcek

Vedouc´ı pr´ace: Ing. Jan Kraus, Ph.D.

(2)

Communication protocols for smart grids

Bachelor thesis

Study programme: B2612 – Electrical Engineering and Informatics

Study branch: 2612R011 – Electronic Information and Control Systems Author: Jakub Pech´aˇcek

Supervisor: Ing. Jan Kraus, Ph.D.

(3)

TECHNICKÁ UNIVERZITA V LIBERCI

Fakulta mechatroniky, informatiky a mezioborových studií Akademický rok: 2018/2019

ZADÁNÍ BAKALÁŘSKÉ PRÁCE

Jméno a příjmení: Jakub Pecháček

Název práce: Komunikační protokoly pro chytré sítě Zadávající katedra: Ústav mechatroniky a technické informatiky Vedoucí práce: Ing. Jan Kraus Ph.D.

Rozsah práce: 30—40 stran

Z á s a d y p r o v y p r a c o v á n í :

1. Seznamte se s protokoly pro přenos dat v energetice zejména v prostředí tzv. chytrých budov respektive chytrých sítí.

2. Ve vlastní aplikaci na konkrétních jednoduchých příkladech a s využitím existujících knihoven demonstrujte obvyklé funkce jednotlivých protokolů.

3. Prozkoumejte, implementujte, popište a otestujte odlišnosti jednotlivých řešení a v závěru práce shrňte přehlednou formou zjištěná fakta.

[1] FAN, Zhong, et al. Smart grid communications: Overview of research challenges, solutions, and standardization activities. IEEE Communications Surveys & Tutorials, 2013, 15.1: 21-38.

S e z n a m o d b o r n é l i t e r a t u r y :

[2] APPASANI, Bhargav; MADDIKARA, Jaya Bharata Reddy; MOHANTA, Dusmanta Kumar. Standards and Communication Systems in Smart Grid. In: Smart Grids and Their Communication Systems. Springer, Singapore, 2019. p. 283-327.

[3] SEMBROIZ, David; RICCIARDI, Sergio; CAREGLIO, Davide. A Novel Cloud-Based IoT Architecture for Smart Building Automation. In: Security and Resilience in Intelligent Data-Centric Systems and Communication Networks. 2018. p. 215-233.

[4] MINOLI, Daniel; SOHRABY, Kazem; OCCHIOGROSSO, Benedict. IoT considerations, requirements, and architectures for smart buildings—Energy optimization and next-generation building management systems.

IEEE Internet of Things Journal, 2017, 4.1: 269-283.

V Liberci dne ... ...

Ing. Jan Kraus Ph.D.

(4)

Prohl´ aˇ sen´ı

Byl jsem sezn´amen s t´ım, ˇze na mou bakal´aˇrskou pr´aci se plnˇe vztahuje z´akon ˇc. 121/2000 Sb., o pr´avu autorsk´em, zejm´ena § 60 – ˇskoln´ı d´ılo.

Beru na vˇedom´ı, ˇze Technick´a univerzita v Liberci (TUL) neza- sahuje do m´ych autorsk´ych pr´av uˇzit´ım m´e bakal´aˇrsk´e pr´ace pro vnitˇrn´ı potˇrebu TUL.

Uˇziji-li bakal´aˇrskou pr´aci nebo poskytnu-li licenci k jej´ımu vyuˇzit´ı, jsem si vˇedom povinnosti informovat o t´eto skuteˇcnosti TUL;

v tomto pˇr´ıpadˇe m´a TUL pr´avo ode mne poˇzadovat ´uhradu n´aklad˚u, kter´e vynaloˇzila na vytvoˇren´ı d´ıla, aˇz do jejich skuteˇcn´e v´yˇse.

Bakal´aˇrskou pr´aci jsem vypracoval samostatnˇe s pouˇzit´ım uveden´e literatury a na z´akladˇe konzultac´ı s vedouc´ım m´e bakal´aˇrsk´e pr´ace a konzultantem.

Souˇcasnˇe ˇcestnˇe prohlaˇsuji, ˇze tiˇstˇen´a verze pr´ace se shoduje s elek- tronickou verz´ı, vloˇzenou do IS STAG.

Datum:

Podpis:

(5)

Podˇ ekov´ an´ı

T´ımto bych r´ad podˇekoval vedouc´ımu m´e Bakal´aˇrsk´e pr´ace, Ing. Janu Krausovi, Ph.D., za uˇziteˇcn´e odborn´e rady a cenn´e pˇripom´ınky, kter´e pˇrispˇely k ´uspˇeˇsn´emu dokonˇcen´ı t´eto pr´ace.

(6)

Abstrakt

Tento dokument se zab´yv´a Bakal´aˇrskou prac´ı Fakulty mechatro- niky, informatiky a mezioborov´ych studi´ı Technick´e univerzity v Liberci. Jej´ım c´ılem je popsat roˇcn´ıkovou pr´aci. Bakal´aˇrsk´a pr´ace obsahuje obecnou reˇserˇsi komunikaˇcn´ıch protokol˚u pro chytr´e s´ıtˇe a budovy. N´aslednˇe byly pro vybran´e protokoly naprogramov´any jednoduch´e pˇr´ıklady pro demonstrov´an´ı jejich funkc´ı. Uk´azky byly programov´any ve v´yvojov´em prostˇred´ı Microsoft Visual Studio po- moc´ı jazyka C#. Jedn´a se o konzolov´e aplikace, kter´e jsou v z´avˇeru pr´ace porovn´any. V´ysledkem t´eto pr´ace je reˇserˇse komunikaˇcn´ıch protokol˚u pro chytr´e s´ıtˇe a budovy a jednoduch´e pˇr´ıklady, kter´e se daj´ı v praxi pouˇz´ıt pro z´aklad aplikac´ı tˇechto protokol˚u.

Kl´ıˇ cov´ a slova:

komunikaˇcn´ı protokoly, chytr´e budovy, chytr´e s´ıtˇe, C#, konzolov´e aplikace

Abstract

This document deals with the Bachelor thesis of the Faculty of Me- chatronics, Informatics and Interdisciplinary Studies of the Techni- cal University in Liberec. Its aim is to describe the coursework.

The bachelor thesis contains general research of communication protocols for smart networks and buildings. Subsequently, simple examples for demonstrating their functions were programmed for selected protocols. The samples were programmed in the Microsoft Visual Studio development environment using C#. These are con- sole applications that are compared at the end of the thesis. The result of this work is a review of communication protocols for smart networks and buildings and simple examples that can be used in practice for the basis of application these protocols.

Key words:

communication protocols, smart buildings, smart grids, C#, console application

(7)

Obsah

1 Uvod´ 9

2 Pˇrehled komunikaˇcn´ıch protokol˚u 10

2.1 Chytr´e s´ıtˇe. . . 10

2.1.1 DLMS / COSEM . . . 10

2.1.2 IEC 61850 . . . 12

2.1.3 IEC 60870-5-104 . . . 13

2.1.4 Z-wave . . . 14

2.1.5 ZigBee . . . 15

2.1.6 6LoWPAN . . . 16

2.2 Chytr´e budovy . . . 18

2.2.1 MQTT . . . 18

2.2.2 Modbus . . . 20

2.2.3 BACnet . . . 21

2.2.4 M-BUS . . . 22

2.2.5 KNX . . . 24

2.2.6 CANopen . . . 25

2.2.7 Profinet . . . 26

2.2.8 OPC UA . . . 27

2.2.9 Dalˇs´ı m´enˇe rozˇs´ıˇren´e protokoly. . . 29

3 V´ybˇer protokol˚u 30 4 Jednotliv´e aplikace 31 4.1 MQTT . . . 31

4.2 OPC UA . . . 34

4.3 IEC 60870-5-104 . . . 36

4.4 DLMS/COSEM . . . 40

5 Shrnut´ı 41

6 Z´avˇer 43

A Obsah pˇriloˇzen´eho CD 50

(8)

Seznam obr´ azk˚ u

4.1 MQTT - posl´an´ı zpr´avy a pˇripojen´ı . . . 31

4.2 MQTT - odpojen´ı clienta. . . 32

4.3 MQTT- recconecting . . . 33

4.4 MQTT - reconnected . . . 33

4.5 MQTT - tvar dat . . . 33

4.6 OPC UA - uk´azka nepouˇzit´e knihovny . . . 34

4.7 OPC UA - pˇripojen´ı . . . 35

4.8 OPC UA - odpojen´ı . . . 35

4.9 OPC UA - funkce . . . 36

4.10 OPC UA - tvar blok˚u serveru . . . 36

4.11 IEC 60870-5-104 - pˇripojen´ı . . . 37

4.12 IEC 60870-5-104 - odpojen´ı . . . 37

4.13 IEC 60870-5-104 - tvar pos´ılan´ych dat . . . 38

4.14 IEC 60870-5-104 - tvar pos´ılan´ych dat . . . 38

4.15 IEC 60870-5-104 - tvar pos´ılan´ych dat . . . 39

4.16 IEC 60870-5-104 - tvar pos´ılan´ych dat . . . 39

(9)

1 Uvod ´

Hlavn´ım c´ılem t´eto bakal´aˇrsk´e pr´ace je udˇelat obecnou reˇserˇsi nejv´ıce pouˇz´ıvan´ych komunikaˇcn´ıch protokol˚u jak v chytr´ych s´ıt´ıch, tak i v chytr´ych budov´ach. N´aslednˇe jsou v t´eto pr´aci vybr´any ˇctyˇri z tˇechto protokol˚u. Pro tyto protokoly jsou n´aslednˇe naprogramov´any jednoduch´e aplikace, na kter´ych jsou zobrazeny jejich funkce pˇrenosu dat a jejich odliˇsnosti, pˇr´ıpadnˇe jejich specifick´e funkce.

Pr´ace je rozvrˇzena do v´ıce ˇc´ast´ı. Prvn´ı ˇc´ast t´eto pr´ace se zab´yv´a obecnou reˇserˇs´ı.

Pro v´ybˇer tˇechto protokol˚u byly nastaveny urˇcit´a krit´eria. Hlavn´ım krit´eriem pro v´ybˇer komunikaˇcn´ıch protokol˚u je pouˇzit´ı v energetice, pˇr´ıpadnˇe v pr˚umyslov´e auto- matizaci. Dalˇs´ım krit´eriem pro v´ybˇer protokol˚u do reˇserˇse bylo ˇsirˇs´ı pouˇzit´ı dan´eho protokolu. Protokoly vyuˇz´ıvan´e jednou nebo dvˇema firmami nejsou tolik zaj´ımav´e.

Druh´a ˇc´ast t´eto pr´ace se zab´yv´a v´ybˇerem protokol˚u pro n´asledn´e programov´an´ı jed- notliv´ych aplikac´ı. Tˇret´ı ˇc´ast je samotn´y popis jednotliv´ych aplikac´ı a uk´azka funkc´ı jednotliv´ych protokol˚u v dan´ych aplikac´ıch.

V z´avˇeru pr´ace jsou shrnuta jednotliv´a zjiˇstˇen´a fakta. N´aslednˇe jsou zde pops´any rozd´ıly jednotliv´ych aplikac´ı dan´ych protokol˚u, rozd´ıly, jak jsou data pos´ıl´any, jak´e funkce tyto protokoly odliˇsuj´ı a zda jdou v protokolech pos´ılat veˇsker´a data. D´ale jsou v z´avˇeru pops´any osobn´ı poznatky k v´ybˇeru protokol˚u pro programov´an´ı aplikac´ı, v´ybˇeru knihoven pro aplikace, i jednotliv´e poznatky k samotn´emu programov´an´ı s knihovnami.

(10)

2 Pˇ rehled komunikaˇ cn´ıch protokol˚ u

2.1 Chytr´ e s´ıtˇ e

Chytr´a s´ıt’ je silov´a elektrick´a a komunikaˇcn´ı s´ıt’, kter´a umoˇzˇnuje regulovat v´ykon a spotˇrebu elektrick´e energie v re´aln´em ˇcase. Chytr´e s´ıtˇe m´ıt jak mal´e i glob´aln´ı rozmˇery.

Principem tˇechto s´ıt´ı je obousmˇern´a interaktivn´ı komunikace mezi vˇsemi prvky t´eto s´ıtˇe. Prvky mohou b´yt spotˇrebiˇce, v´yrobn´ı stroje nebo klidnˇe i zad´avac´ı pa- nel poˇzadavk˚u na danou s´ıt’. Nev´yhodou tˇechto s´ıt´ı je bezpeˇcnostn´ı riziko odpo- slouch´av´an´ı citliv´ych ´udaj˚u.

Inteligentn´ı s´ıtˇe mohou dos´ahnout st´adia pln´e automatizace. To znamen´a, ˇze s´ıt’

obsahuje kontroln´ı a ˇr´ıdic´ı syst´em. Senzory monitoruj´ı chov´an´ı dan´e s´ıtˇe a d´avaj´ı informaci ˇr´ıdic´ımu syst´emu. Tento syst´em data vyhodnot´ı a provede z´asahy do s´ıtˇe tak, aby nenastala porucha, nebo se dostateˇcnˇe rychle odstranila a s´ıt’ bˇeˇzela a fungovala podle p˚uvodn´ıho zad´an´ı.

Mezi protokoly pro chytr´e s´ıtˇe se mohou zaˇradit tyto protokoly:

1. DLMS / COSEM 2. IEC 61850

3. IEC 60870-5-104 4. Z-wave

5. ZigBee 6. 6LoWPAN

2.1.1 DLMS / COSEM

Komunikaˇcn´ı protokol DLMS (Device Language Message Specification) se v lite- ratuˇre velmi ˇcasto objevuje pod n´azvem DLMS/COSEM. Naz´yv´a se tak, jelikoˇz to jsou dvˇe rozd´ıln´e vˇeci, kter´e se vˇsak pouˇz´ıvaj´ı z´asadnˇe spolu. DLMS/COSEM pouˇz´ıv´a DLMS komunikaˇcn´ı protokol a COSEM rozhran´ı, kter´e definuje tˇr´ıdy v

(11)

aplikaˇcn´ı a transportn´ı vrstvˇe protokolu DLMS. D´a se tedy ps´at oboje, jak DLMS tak i DLMS/COSEM protokol.

Je navrˇzen pro podporu zas´ıl´an´ı dat mezi distribuˇcn´ımi zaˇr´ızen´ımi, sluˇzby vzd´alen´eho mˇeˇren´ı dat, vzd´alen´e ovl´ad´an´ı zaˇr´ızen´ı. DLMS protokol m´a vlastn´ıˇradu norem pouze k vyuˇzit´ı v energetice, tato ˇrada se naz´yv´a IEC 62056.

Komunikace

Data pˇri komunikaci v DLMS jsou rozˇrazeny do tˇr´ıd. Data jsou rozˇrazeny podle hodnot nebo informac´ı, kter´e obsahuj´ı. Tˇr´ıdy obsahuj´ı objekty. Objekt je kolekce atribut˚u a metod. Atributy obsahuj´ı samotn´a data. Atributy obsahuj´ı n´azvy a hod- noty. Metody jsou urˇcit´e funkce, kter´e mohou data poskytovat nebo mˇenit hodnoty atribut˚u. Samotn´e tˇr´ıdy jsou kolekce objekt˚u.

Komunikace DLMS protokolu funguje na hierarchick´em principu. DLMS protokol obsahuje hlavn´ı a nˇekolik niˇzˇs´ıch vrstev (uˇzivatelsk´a, objektov´a, aplikaˇcn´ı a niˇzˇs´ı tˇr´ıdy zpracov´avaj´ıc´ı data). Uˇzivatel m´a pˇr´ım´y pˇr´ıstup k objekt˚um neboli tˇr´ıd´am, takˇze i samotn´ym dat˚um. K tˇemto dat˚um se dost´av´a pomoc´ı jmen a samotn´ych k´od˚u. Uˇzivatel zad´av´a i parametr co se s daty bude d´ıt. Tento parametr bude zpra- cov´an podle pˇr´ısluˇsn´e tˇr´ıdy a n´aslednˇe pˇred´an do aplikaˇcn´ı vrstvy. Aplikaˇcn´ı vrstva vloˇz´ı v´ystup z objektov´e vrstvy do samotn´eho zaˇr´ızen´ı, kter´emu data pˇr´ısluˇs´ı a cel´y tento poˇzadavek, co se m´a d´ıt, pˇred´a do niˇzˇs´ıch vrstev, kde se data jiˇz zpracov´avaj´ı v jednotliv´ych zaˇr´ızen´ıch.

Klient a server mezi sebou mohou komunikovat ve vˇsech vrstv´ach. Je vˇsak potˇreba nejdˇr´ıve prov´est asociace. Asociace se prov´ad´ı pˇri navazov´an´ı spojen´ı v aplikaˇcn´ı vrstvˇe a pˇri asociaci si klient a server stanov´ı urˇcit´e komunikaˇcn´ı parametry, kter´e pˇri komunikaci mus´ı dodrˇzovat. Po nav´az´an´ı spojen´ı se m˚uˇze klient dotazovat pˇr´ımo na data v serveru a naopak.

Protokol DLMS je nadstavba UDP/IP protokolu. Komunikace v DLMS je bin´arn´ı, ale pˇri pouˇzit´ı IEC 62056 se prov´ad´ı komunikace v ASCII.

Pouˇzit´ı

DLMS protokol se m˚uˇze pouˇz´ıt jak v energetice tak i v bˇeˇzn´em dom´ac´ım pouˇzit´ı. M´a nev´yhodu, ˇze je tˇreba udrˇzovat st´al´e a stabiln´ı spojen´ı komunikace. Dalˇs´ı nev´yhodou je, ˇze DLMS pracuje jako nadstavba UDP/IP, protoˇze potˇrebuje vˇetˇs´ı ˇs´ıˇrku p´asma pro komunikaci a je pomalejˇs´ı, jelikoˇz pˇri navazov´an´ı komunikace je sloˇzitˇejˇs´ı.

DLMS protokol bych tedy pouˇzil v s´ıt´ıch kde je zaruˇcen´a stabiln´ı komunikace, nez´aleˇz´ı na rychlosti, zaˇr´ızen´ı jsou nap´ajeny s´ıt’ov´ymi zdroji.

Nejpouˇz´ıvanˇejˇs´ı knihovnou pro tento protokol je open source knihonva Gurux. Tato knihovna slouˇz´ı k implementaci funkc´ı pro server i clienta.

(12)

2.1.2 IEC 61850

IEC 61850 je soubor norem pro komunikaci mezi zaˇr´ızen´ımi pˇredevˇs´ım v energe- tick´ych rozvodn´ach a elektrick´ych soustav´ach. IEC 61850 d´ale stanovuje poˇzadavky, kter´e jsou potˇreba zajistit pˇri komunikaci v rozvodn´ach. Obsahuje komunikaˇcn´ı pro- tokoly, ale tak´e i urˇcit´e standardy pro ˇr´ızen´ı zaˇr´ızen´ı.

C´ıle protokolu

Hlavn´ım d˚uvodem vytvoˇren´ı tohoto protokolu bylo, ˇze ve svˇetˇe bylo nespoˇcet r˚uzn´ych komunikaˇcn´ıch protokol˚u pro komunikaci v energetice a kaˇzd´y mˇel svoje vlastn´ı pra- vidla. Tud´ıˇz pˇri tvorbˇe chytr´e s´ıtˇe, pro rozvodnu, bylo potˇreba br´at ohled na v´yrobce a jak´e zaˇr´ızen´ı dok´aˇze komunikovat s jak´ym protokolem.

C´ılem tohoto protokolu bylo tedy sjednotit pravidla komunikace a umoˇznit vytvoˇren´ı s´ıt´ı, v kter´ych budou komunikovat mezi sebou zaˇr´ızen´ı bez ohledu na v´yrobce. Tyto zaˇr´ızen´ı, neboli IED (Intelligent Electronic Device) zajiˇst’uj´ı ochranu a provoz roz- vodny, tud´ıˇz v ˇz´adn´em pˇr´ıpadˇe nemohlo nastat, ˇze se pˇreruˇsila komunikace mezi dvˇema zaˇr´ızen´ımi z d˚uvodu, ˇze kaˇzd´y v´yrobce si jeho komunikaci udˇelal po sv´em.

Komunikace

Architektura komunikaˇcn´ıch protokol˚u pro normu IEC 61850 je typu klient a ser- ver. Avˇsak m´a v´yhodu, ˇze se snaˇz´ı odstraˇnovat hlavn´ı nev´yhody t´eto architektury t´ım, ˇze umoˇzˇnuje i klient˚um ˇr´ıdit pˇrenos dat a komunikaci. Tato v´yhoda dovoluje pˇresunout ˇr´ıd´ıc´ı a komunikaˇcn´ı funkce bl´ıˇze k potˇrebn´ym zaˇr´ızen´ım a umoˇzˇnuje zv´yˇsit komunikaˇcn´ı rychlosti a stabilitu pˇrenosu, jelikoˇz pˇrenos m˚uˇze b´yt nav´az´an na menˇs´ı vzd´alenosti.

Komunikace prob´ıh´a formou publish/subscribe. Data od klient˚u jdou do urˇcit´eho serveru a ten n´aslednˇe rozes´ıl´a tˇem, co si data objednaj´ı. M˚uˇze zde b´yt i reˇzim multicasting. Server pos´ıl´a data vˇsem ´uˇcastn´ık˚um s´ıtˇe, ale data ˇctou pouze ti, co si je objednali (subscribers).

D´ale umoˇzˇnuje integrovat vˇsechny komunikaˇcn´ı, ˇr´ıdic´ı, ochrann´e a mˇeˇr´ıc´ı funkce pro chod a ochranu rozvoden.

Data se pos´ılaj´ı v tzv. objektech. Tyto objekty spojuj´ı data a programy, takˇze veˇsker´e informace a funkce se nach´azej´ı na jednom m´ıstˇe. D´ıky tomu je pro uˇzivatele i jednotliv´a zaˇr´ızen´ı mnohem snazˇs´ı pˇr´ıstup k dat˚um a funkc´ım s nimi spojen´ych.

IEC 61850 kombinuje ethernet s vysok´ym v´ykonem a zabezpeˇcen´ım. T´ım posky- tuje vysokorychlostn´ı ochranu, uzamˇcen´ı a pˇrep´ın´an´ı. Toto je zajiˇstˇeno vysokorych- lostn´ım pˇrenosem kritick´ych dat.

(13)

Pouˇzit´ı

IEC 61850 se pouˇz´ıv´a pouze pro komunikaci chytr´ych s´ıt´ı v energetice. Nejvˇetˇs´ı v´yhodou je vz´ajemn´a kompatibilita zaˇr´ızen´ı v energetice. Vyuˇz´ıv´a se pro rozvodny, komunikaci mezi rozvodnami a elektr´arnami, vysokorychlostn´ı komunikaci vˇsude v energetice.

Pro tento protkol se nejˇcastˇeji pouˇz´ıv´a open source knihovna OpenIEC61850. Tato knihovna poskytuje veˇsker´e funkce protkolu v jazyce Java.

2.1.3 IEC 60870-5-104

Standard IEC 60870-5-104 definuje funkci syst´em˚u a protokol˚u pouˇz´ıvan´ych pro vzd´alenou spr´avu dat, jejich prohl´ıˇzen´ı a ˇr´ızen´ı. Tato norma se zab´yv´a pouze daty v automatizaˇcn´ıch syst´emech a energetick´ych automatizaˇcn´ıch syst´emech. Popisuje komunikaˇcn´ı profil pro zas´ıl´an´ı dat mezi dvˇema zaˇr´ızen´ımi.

IEC 60870-5-104 je rozˇs´ıˇren´ı IEC 60870-5-101 o nˇekolik transportn´ıch funkc´ı proto- kolu TCP/IP. Jedn´a se tedy o dalˇs´ı nadstavbu protokolu. Lze tedy vyuˇz´ıvat t´emˇeˇr veˇsker´e funkce protokolu TCP/IP.

Komunikace

Komunikace v protokolech vych´azej´ıc´ıch z normy IEC 60870-5-104 pracuj´ı na modelu master-slave. To znamen´a, ˇze urˇcit´e zaˇr´ızen´ı (master), pˇri komunikaci ˇr´ıd´ı pˇrenos dat a pracuje s nimi a dalˇs´ı (slave) data poskytuj´ı a pracuj´ı tak, jak master urˇc´ı. Toto se prov´ad´ı pˇredevˇs´ım pˇri komunikaci na sbˇernici. Master tyto poˇzadavky na dalˇs´ı zaˇr´ızen´ı rozes´ıl´a postupnˇe, nikoli najednou. Kaˇzd´e zaˇr´ızen´ı slave reaguje pouze na data, kter´a mu jsou urˇceny, ostatn´ı ignoruje.

Tento typ komunikace m´a velkou nev´yhodu, jelikoˇz data na sbˇernici m˚uˇze odpo- slouch´avat jak´ekoli pˇripojen´e zaˇr´ızen´ı. Pˇri komunikaci pouze mezi stroji, vˇsak na toto bezpeˇcnost´ı riziko nemus´ıme br´at pˇr´ıliˇs velk´y ohled. V rozvodn´ach je tato bezpeˇcnost d˚uleˇzitˇejˇs´ı.

U komunikace mezi stroji vˇetˇsinou pˇrenos dat ˇr´ıd´ı PLC. Ostatn´ı akˇcn´ı ˇcleny, re- gul´atory a podobn´e zaˇr´ızen´ı, jsou slave jednotky. V energetick´ych soustav´ach zpra- vidla soustavu ˇr´ıd´ı poˇc´ıtaˇc. ˇR´ıd´ı zbyl´e jednotky, kter´e se staraj´ı o chod elektr´aren a rozvoden.

IEC 60870-5-104 obsahuje implementovan´e funkce vylepˇsuj´ıc´ı architekturu master- slave. Jedna z funkc´ı je napˇr´ıklad, ˇze slave m˚uˇze obsahovat kritick´e informace, kter´e jsou potˇreba zpracov´avat pˇrednostnˇe. Tyto informace pak mohou m´ıt vyˇsˇs´ı prioritu a mohou b´yt doruˇceny masteru i bez toho aniˇz, by si o nˇe ˇrekl. Tato funkce v´yraznˇe zlepˇsuje bezpeˇcnostn´ı chod energetick´ych s´ıt´ı.

(14)

Pouˇzit´ı

Komunikaˇcn´ı protokoly normy IEC 60870-5-104 se mohou pouˇz´ıt nejen v energetice.

Mnohem v´ıce, neˇz v energetice, se vyuˇz´ıvaj´ı u automatizaˇcn´ıch syst´em˚u, ale pouˇzit´ı v energetice m˚uˇze m´ıt tak´e sv´e v´yhody. D´ale se tak´e mohou hodit vˇsude, kde je potˇreba zajistit chod ud´alost´ı po sobˇe, jelikoˇz data (ud´alosti) mohou obsahovat i ˇcas, kdy k nim doˇslo.

Mohou b´yt vhodn´e pro v´yrobn´ı linky, energetick´e rozvodny, s´ıtˇe, kde je potˇreba kon- trolovat sekvenˇcn´ı chod a s´ıtˇe, kde je potˇreba zajistit rychl´e odpovˇedi v pˇr´ıpadˇe po- ruchy. K pouˇzit´ı tohoto protkolu je vejv´ıce rozˇs´ıˇren´a knihovna IEC 60870-5-101/104 C#/.NET v jazyce C#. Tato knihovna poskytuje funkce serveru i clienta.

2.1.4 Z-wave

Z-wave je komunikaˇcn´ı protokol vytvoˇren´y prim´arnˇe pro dom´ac´ı automatizace a IoT. Byl vyvinut pro ovl´ad´an´ı, monitoring a zajiˇstˇen´ı urˇcit´ych stav˚u v budov´ach urˇcen´ych pro bydlen´ı a v menˇs´ıch budov´ach pro soukrom´e pouˇzit´ı. Z-wave je urˇcen k bezdr´atov´e komunikaci. Protokol je standardizov´an a lze propojit mezi produkty od r˚uzn´ych v´yrobc˚u. Byl navrˇzen pro zaˇr´ızen´ı, kter´e nemaj´ı vysok´e energetick´e poˇzadavky a pracuj´ı pouze s mal´ymi objemy dat.

Komunikace

Pro komunikaci mezi jednotliv´ymi zaˇr´ızen´ımi pouˇz´ıv´a vlastn´ı vyhrazenou ˇs´ıˇrku p´asma.

Tato ˇs´ıˇrka p´asma neprot´ın´a a ani se nebl´ıˇz´ı ˇs´ıˇrk´am p´asma Wi-Fi nebo Bluetooth.

Vyuˇz´ıv´a 800 – 900 MHz v z´avislosti na kontinentu, kde je protokol pouˇzit (v Evropˇe se tato frekvence pohybuje v okol´ı 869 MHz).

Protokol Z-wave m´a sm´ıˇsenou topologii s´ıtˇe. To znamen´a, ˇze nˇekter´a zaˇr´ızen´ı v s´ıt´ı mohou b´yt propojeny s v´ıce neˇz jedn´ım dalˇs´ım zaˇr´ızen´ım v s´ıti. Tato topologie se nˇekdy tak´e naz´yv´a s´ıt’ov´a topologie.

V s´ıti se nach´az´ı centr´aln´ı prvek, kter´y rozd´av´a pˇr´ıkazy jednotliv´ym zaˇr´ızen´ım. Toto m´a za d˚usledek zpomalen´ı chodu s´ıtˇe a tak Z-wave protokol podporuje rozd´av´an´ı pˇr´ıkaz˚u kaˇzd´eho zaˇr´ızen´ı v s´ıti. Dok´aˇze sledovat a ˇr´ıdit pr˚ubˇeh jin´ych zaˇr´ızen´ı.

Centr´aln´ı zaˇr´ızen´ı tak slouˇzi pouze ke kontrole nebo k nov´emu nastaven´ı s´ıtˇe uˇzivatelem.

Pouˇzit´ı

Pouˇzit´ım protokolu Z-wave z´ısk´ame velmi rychlou komunikaci s malou odezvou.

Nev´yhodou t´eto rychl´e komunikace s malou odezvou je dosah a objem dat. Lze pos´ılat pouze velmi mal´e packety. Vzd´alenost, na kterou jsou schopna dvˇe zaˇr´ızen´ı

(15)

spolehlivˇe komunikovat, se ud´av´a do 30 aˇz 40 metr˚u. Pokud je vyuˇzit na voln´em prostranstv´ı, ne uvnitˇr budovy, zvedne se dosah aˇz na 100 metr˚u.

V´yhodou pouˇzit´ı toho protokolu je, ˇze podporuje takzvanou schopnost ”plug &

play”. To znamen´a, ˇze zaˇr´ızen´ı staˇc´ı pˇripojit do s´ıtˇe a okamˇzitˇe se samo nastav´ı a zaˇcne komunikovat s dalˇs´ım zaˇr´ızen´ımi. Dalˇs´ı v´yhodou je, ˇze staˇc´ı pˇripojit pouze jedno zaˇr´ızen´ı k internetu a n´aslednˇe lze celou s´ıt’ kontrolovat a nastavovat pomoc´ı vzd´alen´eho webov´eho prohl´ıˇzeˇce nebo chytr´eho telefonu. Pouˇzit´ı toho protokolu je vymezeno v´yhradnˇe pro dom´ac´ı ´uˇcely chytr´ych dom˚u a nelze tento protokol pouˇz´ıt v energetice ani ˇz´adn´em dalˇs´ım pr˚umyslov´em odvˇetv´ı. Neobsahuje ˇz´adn´e nadstavby nebo vlastn´ı normy pro pouˇzit´ı v energetice. Tento protokol se ˇcistˇe soustˇred´ı na chytr´e dom´acnosti.

Nejˇcastˇejˇs´ı pouˇzit´ı Z-wave protokolu prob´ıh´a pˇres knihovnu OpenZWave. Jak uˇz nadpis napov´ıd´a, jedn´a se o open source knihovnu. Knihovna poskytuje tˇr´ıdy pro pˇrij´ıman´ı a vys´ıl´an´ı dat a mnoho dalˇs´ıch.

2.1.5 ZigBee

ZigBee je bezdr´atov´y komunikaˇcn´ı protokol postaven´y na z´akladech protokolu Blu- etooth, proto tak´e spad´a do stejn´e skupiny norem. Stejnˇe jako Bluetooth je urˇcen pro zaˇr´ızen´ı s n´ızk´ym v´ykonem. ZigBee podporuje komunikaci na delˇs´ı vzd´alenosti bez, pˇr´ım´e radiov´e viditelnosti jednotliv´ych zaˇr´ızen´ı. ZigBee byl prim´arnˇe navrˇzen pro pr˚umyslov´e pouˇzit´ı. Nejedn´a se tedy o pokus vytvoˇren´ı konkurenˇcn´ıho protokolu pro Bluetooth, ale o jeho doplnˇek pro pr˚umysl.

ZigBee byl navrˇzen pro aplikace, kde nen´ı Bluetooth vhodn´y. Jedn´a se tedy o hodnˇe podobn´y protokol, kter´y vˇsak neslouˇz´ı pro osobn´ı vyuˇzit´ı, ale slouˇz´ı prim´arnˇe pro pr˚umyslov´e aplikace.

Komunikace

Komunikace tohoto protokolu je prov´adˇena v ´uzk´em komunikaˇcn´ım p´asmu. Toto p´asmo se pohybuje t´emˇeˇr totoˇznˇe s p´asmem protokolu Z-wave, nenaruˇsuje tedy p´asma Wi-Fi ani Bluetooth.

ZigBee m˚uˇze m´ıt 3 druhy topologie. Prvn´ım a nejv´ıce pouˇz´ıvanou je hvˇezdicov´a topologie s centr´aln´ım zaˇr´ızen´ım. Druh´ym typem topologie je hvˇezdicov´a topolo- gie. Tato topologie umoˇzˇnuje delˇs´ı komunikaˇcn´ı vzd´alenosti. Pokud u t´eto topolo- gie vyuˇzijeme redundantn´ı spojen´ı, vznikne stejn´a topologie jako u Z-wave, tedy sm´ıˇsenou neboli s´ıt’ovou topologi´ı. Redundantn´ı spojen´ı znamen´a, ˇze se vytvoˇr´ı spo- jen´ı mezi zaˇr´ızen´ımi, kde to nen´ı nutn´e, ale v pˇr´ıpadˇe v´ypadku se tato spojen´ı mohou pouˇz´ıt. Zaˇr´ızen´ı je spojeno s kaˇzd´ym dalˇs´ım zaˇr´ızen´ım v dosahu. D´ıky tomu nen´ı tˇreba db´at na poˇrad´ı um´ıstˇen´ı prvk˚u, ale staˇc´ı pouze kontrolovat, zda se nach´az´ı v dosahu alespoˇn jednoho dalˇs´ıho zaˇr´ızen´ı, kter´e je pˇripojeno do s´ıtˇe.

(16)

ZigBee si dˇel´ı zaˇr´ızen´ı v s´ıti na dva druhy. Prvn´ı se naz´yv´a FFD – Full Functional De- vice, neboli zaˇr´ızen´ı s plnou funkˇcnost´ı. Druh´y typ je zaˇr´ızen´ı s omezenou funkˇcnost´ı a ten se naz´yv´a RFD – Reduced Functionality Device. Zaˇr´ızen´ı s plnou funkˇcnost´ı obsahuj´ı kompletn´ı protokol a mohou vyuˇz´ıvat veˇsker´e sluˇzby, kter´e ZigBee nab´ız´ı.

Zaˇr´ızen´ı s omezenou funkˇcnost´ı obsahuj´ı pouze nezbytn´e r´amce protokolu a slouˇz´ı pouze jako koncov´a. Tyto zaˇr´ızen´ı jsou omezena z d˚uvodu omezen´eho hardwaru.

Protokol dovoluje i implementaci zabezpeˇcen´ı. Toto zabezpeˇcen´ı vyuˇz´ıv´a takzvan´e kl´ıˇce, kter´e mohou b´yt jiˇz pˇriˇrazeny k MAC adrese zaˇr´ızen´ı, nebo vytvoˇreny pˇri instalaci zaˇr´ızen´ı do s´ıtˇe. Vytv´aˇren´ı kl´ıˇc˚u ˇr´ıd´ı centr´aln´ı zaˇr´ızen´ı. Toto zaˇr´ızen´ı tak´e kontroluje veˇskerou komunikaci a t´ım m˚uˇze kontrolovat i kl´ıˇce. T´ımto zp˚usobem protokol zajiˇst’uje urˇcit´y stupeˇn bezpeˇcnosti naruˇsen´ı.

Jednotliv´a zaˇr´ızen´ı jsou pˇri komunikaci adresov´any pomoc´ı bin´arn´ıch adres. Tyto adresy mohou m´ıt dvˇe podoby, dlouhou nebo kr´atkou verzi. Pouˇzit´ı kr´atk´e verze je urˇceno pˇredevˇs´ım pro RFD zaˇr´ızen´ı. Pouˇzit´ı t´eto zkr´acen´e verze uˇsetˇr´ı 48 bit˚u pamˇeti zaˇr´ızen´ı. Je to tedy pouˇzito u extr´emnˇe jednoduch´ych zaˇr´ızen´ı. Pˇri komunikaci dvou s´ıt´ı mezi sebou je k adresaci pouˇzito ID s´ıtˇe.

Pouˇzit´ı

Pˇri pouˇzit´ı toho protokolu z´ısk´ame s´ıt’, kter´a m´a velice pomal´e pˇrenosov´e rychlosti, avˇsak pˇrenos dat je pomˇernˇe stabiln´ı. Pˇrenos je d´ale odoln´y oproti ruˇsen´ı jin´ym bezdr´atov´ym pˇrenosem, jelikoˇz pˇrenos prob´ıh´a ve vzd´alen´em p´asmu od bˇeˇzn´ych pˇrenosov´ym p´asem.

Pouˇzit´ı je tak´e velice vhodn´e pro s´ıtˇe, kde jsou pouˇzity zaˇr´ızen´ı s bateriemi. Protokol m´a velice n´ızkou spotˇrebu energie. Nen´ı vhodn´y pro aplikace, kde je potˇreba pˇren´aˇset velk´y objem dat s vysokou rychlost´ı. Pro ˇr´ızen´ı energetiky je tedy nevhodn´y, protoˇze v energetice je rychlost pˇrenosu kritick´ych dat t´emˇeˇr nutnost´ı.

D´ıky tˇemto vlastnostem se s protokolem setk´ame v pr˚umyslov´e automatizaci, zdra- votnictv´ı (monitorov´an´ı pacient˚u), chytr´e dom´acnosti (zabezpeˇcen´ı, osvˇetlen´ı, to- pen´ı), poˇc´ıtaˇcov´em pr˚umyslu (bezdr´atov´e periferie).

Nejˇcastˇei se tento protokol pouˇz´ıv´a s knihovnou SiplmeZigBee. Tato knihovna je urˇcena pro Arduino a poskytuje funkce pro komunikaci v s´ıti ZigBee.

2.1.6 6LoWPAN

Protokol 6LoWPAN spad´a pod ´uplnˇe stejnou normu jako ZigBee. Kaˇzd´y z nich si vˇsak postavil jinou nadstavbu nad touto normou a kaˇzd´y pracuje troˇsku jinak.

Z´aklad vˇsak maj´ı stejn´y a pracuj´ı ve stejn´em frekvenˇcn´ım p´asmu. Stejnˇe jako ZigBee a Z-wave byl navrˇzen pro n´ızko v´ykonov´e s´ıtˇe. Byl navrˇzen pro s´ıtˇe, kde je rychlost pˇrenosu dat relevantn´ı a vyˇzaduj´ı pˇredevˇs´ım spolehlivost pˇrenosu dat. 6LoWPAN propojuje Internet protokolu (IP), konktr´etnˇe IPv6, a bezdr´atov´e s´ıtˇe definovan´e

(17)

normou IEEE 802.15.4. Tato norma definuje bezdr´atov´e komunikaˇcn´ı s´ıtˇe. Hlavn´ım c´ılem tohoto protokolu bylo vytvoˇrit protokol, kter´y nen´ı n´aroˇcn´y na spotˇrebu ener- gie a z´aroveˇn zaˇr´ızen´ı mohou b´yt pˇripojeny k internetu a vyuˇz´ıvat Internet Protokol verze 6. T´ım z´ısk´ame s´ıt’, kter´a se nemus´ı pˇripojovat do internetu, protoˇze sama je ˇc´ast internetu a lze se na kaˇzd´a zaˇr´ızen´ı pˇripojit celkem snadno z jak´ehokoli zaˇr´ızen´ı, kter´e je tak´e pˇripojeno na internet.

Komunikace

Architektura s´ıtˇe m´a stejnou topologii jako ZigBee nebo Z-wave, tedy s´ıt’ovou.

Kaˇzd´e zaˇr´ızen´ı je propojeno se vˇsemi v dosahu. Spr´avn´em rozm´ıstˇen´ım zaˇr´ızen´ı se d´a zvˇetˇsovat ˇci zmenˇsovat dosah s´ıtˇe. V s´ıti se vˇsak nach´az´ı dalˇs´ı 2 zaˇr´ızen´ı nav´ıc oproti ZigBee nebo Z-wave. Nach´az´ı se zde webov´y server a takzvan´a br´ana. Br´ana oddˇeluje internet od naˇs´ı vnitˇrn´ı s´ıtˇe. Webov´y server zase publikuje data na internet a zpracov´av´a data z nˇej. V s´ıti se m˚uˇze nach´azet centr´aln´ı zaˇr´ızen´ı, pomoc´ı kter´eho uˇzivatel rozd´av´a pˇr´ıkazy, jak se s´ıt’ m´a chovat, nutn´e to ale nen´ı. Jako zaˇr´ızen´ı, po- moc´ı kter´ych uˇzivatel bude rozd´avat pˇr´ıkazy, m˚uˇze slouˇzit jak´ekoli zaˇr´ızen´ı pˇripojeno k internetu a pˇres br´anu se uˇzivatel m˚uˇze vzd´alenˇe pˇripojit do s´ıtˇe. Kaˇzd´e zaˇr´ızen´ı v s´ıt´ı m˚uˇze ˇc´ıst data z ostatn´ıch a podle nich pˇrizp˚usobit sv˚uj chod. Zaˇr´ızen´ı mo- hou b´yt aktivn´ı, mohou nastavovat ostatn´ı zaˇr´ızen´ı, nebo pasivn´ı, ty mohou jen prezentovat svoje data.

Ke komunikaci m˚uˇze 6LoWPAN vyuˇz´ıvat jak IEEE 802.15.4, tak i Ethernet nebo Wi-Fi. 6LoWPAN vyuˇz´ıv´a veˇsker´e funkce IPv6 a pomoc´ı toho protokolu se i adre- suje. M˚uˇze vyuˇz´ıvat i syst´em zabezpeˇcen´ı ”Acces Control List”. Toto zabezpeˇcen´ı slouˇz´ı k obranˇe proti neopr´avnˇen´emu pˇr´ıstupu z internetu do vnitˇrn´ı s´ıtˇe.

Pouˇzit´ı

6LoWPAN nem´a ˇz´adn´e pˇr´ım´e urˇcen´ı. Je vˇsak navrhnut pro pomal´e pˇrenosov´e rych- losti, protoˇze pˇrenos dat prob´ıh´a po mal´ych r´amc´ıch. Jeho v´yhodou je snadn´a adre- sace a tak´e vyuˇz´ıv´an´ı veˇsker´ych funkc´ı IPv6. Nev´yhodou je nutnost znalosti IP pro- tokolu, pro schopnost naprogramovat s´ıt’ s protokolem 6LoWPAN. D´ale je nutnost pˇripojen´ı do internetu, coˇz m˚uˇze zp˚usobit jist´e bezpeˇcnostn´ı riziko. Pˇri soukrom´em pouˇzit´ı n´as toto riziko nemus´ı pˇr´ıliˇs zaj´ımat, ale pˇri pouˇzit´ı v energetice uˇz se toto riziko zvyˇsuje. Z tˇechto d˚uvod˚u se tento protokol z m´eho pohledu hod´ı pˇredevˇs´ım pro dom´ac´ı aplikace. D´ale je moˇznost pouˇzit´ı pro pr˚umyslov´e aplikace, kde nen´ı potˇreba velk´a pˇrenosov´a rychlost, ale je zde potˇreba urˇcit´a spolehlivost s moˇznost´ı existence urˇcit´eho bezpeˇcnostn´ıho rizika naruˇsen´ı nebo odposlouch´av´an´ı dat.

Nejv´ıce rozˇs´ıˇrenou knihovnou pro tento protokol je Contiki. Tato knihovna poskytuje komunikaci protokol˚u 6lowpan, RPL a CoAP.

(18)

2.2 Chytr´ e budovy

Chytr´a budova je takov´a budova, kter´a vyuˇz´ıv´a technologii ke sd´ılen´ı informac´ı o tom, co se dˇeje v jednotliv´ych syst´emech budovy tak, aby optimalizovala jej´ı

´

uˇcinnost. Toto sd´ılen´ı informac´ı se pouˇz´ıv´a pˇredevˇs´ım k automatizaci r˚uzn´ych pro- ces˚u, napˇr´ıklad topen´ı, klimatizace, bezpeˇcnost a dalˇs´ı.

Vybudov´an´ı chytr´ych budov je velice n´akladn´e. V pˇr´ıpadˇe rozhodnut´ı o vybudov´an´ı, jsou tyto n´aklady akceptovateln´e, protoˇze po vybudov´an´ı chytr´ych budov se zv´yˇs´ı v´ykonnost budovy a t´ım se uˇsetˇr´ı pen´ıze - at’ uˇz jen na topen´ı nebo klimatizov´an´ı.

Casto jsou tyto syst´ˇ emy naistalov´any ˇspatnˇe, takzvanˇe neinteligentnˇe, a tud´ıˇz budova neslouˇz´ı jako chytr´a budova, ale pouze jako budova v chytr´ymi aplikacemi.

Hlavn´ım c´ılem inteligentn´ıch budov je zabr´anit pl´ytv´an´ı energiemi a zdroji. Dalˇs´ım c´ılem je sn´ıˇzen´ı n´aklad˚u, zv´yˇsen´ı v´ykonnosti a energetick´e ´uˇcinnosti budov.

N´asledujc´ı protokoly pro chytr´e budovy se ˇrad´ı mezi nejpouˇz´ıvanˇejˇs´ı : 1. MQTT

2. Modbus 3. BACnet 4. KNX 5. CANopen 6. Profinet 7. OPC UA

8. Dalˇs´ı m´enˇe rozˇs´ıˇren´e protkoly (DNP3, LonTalk, Ego-n, Synco living a Elko EP)

2.2.1 MQTT

MQTT, neboli MQ Telemetry Transport, je M2M (machine to machine) nebo IoT komunikaˇcn´ı protokol. Byl navrˇzen pro extr´emnˇe nen´aroˇcn´e pˇren´aˇsen´ı zpr´av a dat.

Jedn´a se o jednoduch´y a nen´aroˇcn´y komunikaˇcn´ı protokol.

C´ıle protokolu

Hlavn´ım c´ılem protokolu je sn´ıˇzen´ı zat´ıˇzen´ı s´ıtˇe a omezen´ı poˇzadavk˚u na zdroje jed- notliv´ych zaˇr´ızen´ı, kdyˇz je potˇreba urˇcit´a komunikace mezi jednotliv´ymi zaˇr´ızen´ımi.

Navrˇzeno pro jednoduch´a zaˇr´ızen´ı, s´ıtˇe s velkou latenc´ı (pingem), s´ıtˇe s ´uzkou ˇs´ıˇrkou komunikaˇcn´ıho p´asma, nespolehliv´a nebo poruchov´a zaˇr´ızen´ı i cel´e s´ıtˇe.

(19)

Jedn´a se tedy o protokol, jenˇz nezatˇeˇzuje s´ıt’ pˇri komunikaci. MQTT se snaˇz´ı zajiˇst’ovat urˇcit´y stupeˇn spolehlivosti, kter´y ud´av´a zajiˇstˇen´ı doruˇcen´ı zpr´avy mezi zaˇr´ızen´ımi v s´ıti.

Komunikace

MQTT protokol je zaloˇzen na principu publish/subscribe (zveˇrejnit/odeb´ırat). To znamen´a, ˇze s´ıt’ m´a vlastn´ı centrum a klienty. Centrum se naz´yv´a MQTT Broker.

Klienti mohou b´yt r˚uzn´e aplikace, senzory, webov´e sluˇzby nebo samotn´a zaˇr´ızen´ı v s´ıti, kter´e data vytv´aˇr´ı nebo je pouze zpracov´avaj´ı.

Funguje na principu, kdy kaˇzd´y klient (napˇr´ıklad teplomˇer) produkuje data, kter´e n´aslednˇe publikuje do dan´eho centra. Dan´e centrum n´aslednˇe tyto data rozeˇsle vˇsem klient˚um, kteˇr´ı si o tento protokol zaˇz´adali (subscribe). Data obsahuj´ı vlastn´ı n´azev t´ema, naz´yvan´y topic, podle kter´eho si klienti data objedn´avaj´ı, nebo Broker data rozes´ıl´a.

Protokol MQTT byl vyvinut jako nadstavba protokolu TCP/IP.

MQTT tak´e podporuje urˇcit´y stupeˇn zabezpeˇcen´ı komunikace. Od urˇcit´e verze lze do dat vloˇzit poˇzadavky na uˇzivatelsk´e ´udaje. Lze do packet˚u hlaviˇcky vloˇzit jm´eno a heslo. Toto zabezpeˇcen´ı vyuˇz´ıv´a ˇsifrovanou komunikaci.

Nev´yhodou tohoto zabezpeˇcen´ı je v´yrazn´e zv´yˇsen´ı zat´ıˇzen´ı s´ıtˇe, kter´e se cel´y protokol snaˇz´ı co nejv´ıce sn´ıˇzit. Pokud tedy nen´ı ˇsifrov´an´ı nutn´e, vyuˇz´ıv´a se.

Pouˇzit´ı

MQTT protokol se vyuˇz´ıv´a a hod´ı se pro s´ıtˇe jak v energetice, tak i v dom´ac´ım pouˇzit´ı. D´a se pouˇz´ıt vˇsude, kde jsou s´ıtˇe s obousmˇern´ym pˇrenosem dat, s´ıtˇe s

´

uzkou ˇs´ıˇrkou komunikaˇcn´ıho p´asma, s´ıtˇe s bezdr´atov´ymi zaˇr´ızen´ımi.

Je v´yhodn´e v tom, ˇze nezatˇeˇzuje s´ıt’ a t´ım sniˇzuje poˇzadavky na zdroje zaˇr´ızen´ı, tak se velice hod´ı do s´ıt´ı, kde jsou pouˇzity bezdr´atov´e zaˇr´ızen´ı. Hod´ı se do takov´ych s´ıt´ı, protoˇze prodluˇzuje v´ydrˇz baterie oproti v´ydrˇzi pˇri pouˇzit´ı jin´eho komunikaˇcn´ıho protokolu. Dalˇs´ı v´yhodou je, ˇze nepotˇrebuje velkou ˇs´ıˇrku p´asma, tud´ıˇz se m˚uˇze pouˇz´ıt i v pˇr´ıpadˇe, ˇze se v okol´ı vyskytuje nˇejak´a dalˇs´ı komunikace nebo bezdr´atov´y pˇrenos dat.

Nejrozˇs´ıˇrenˇejˇs´ı knihovnou pro MQTT je Mosquitto. Tato knihovna poskytuje veˇsker´e funkce protokolu.

(20)

2.2.2 Modbus

Protokol Modbus je otevˇren´y komunikaˇcn´ı protokol, kter´y umoˇzˇnuje vz´ajemnou ko- munikaci mezi r˚uzn´ymi zaˇr´ızen´ımi. Umoˇzˇnuje pˇren´aˇset data po r˚uzn´ych typech s´ıt´ı i sbˇernic.

P˚uvodnˇe byl vyuˇz´ıv´an pouze jednou firmou pro pr˚umyslovou komunikaci, ale d´ıky jeho jednoduchosti se rozˇs´ıˇril mezi veˇrejnost a v dneˇsn´ı dobˇe je vyuˇz´ıv´an pomˇernˇe hojnˇe. Toto rozˇs´ıˇren´ı zp˚usobilo to, ˇze nen´ı standardizov´an ani objektovˇe orientovan´y.

Kaˇzd´a jeho aplikace m˚uˇze b´yt jin´a a samotn´y protokol neum´ı nic speci´aln´ıho, ale jelikoˇz je otevˇren´y, tak v kaˇzd´a aplikaci prakticky m˚uˇze umˇet vˇse. Jeho v´yhodou je to, ˇze jsou definov´any pouze vstupy a v´ystupy. Samotn´a struktura je pak na uˇzivateli.

V dneˇsn´ı dobˇe je zde pokus o standardizaci protokolu. Je zde nadstavba tohoto protokolu s myˇslenkou, ˇze kaˇzd´e zaˇr´ızen´ı bude obsahovat bloky. Kaˇzd´y blok, kter´y bude m´ıt urˇcit´a data o dan´em zaˇr´ızen´ı, bude na stejn´e adrese na vˇsech zaˇr´ızen´ıch.

Napˇr´ıklad ID zaˇr´ızen´ı bude na adrese 1 na vˇsech zaˇr´ızen´ıch. Pozor, tato adresa nen´ı stejn´a adresa cel´eho zaˇr´ızen´ı. Tato adresa slouˇz´ı pouze k vnitˇrn´ı adresaci na dan´e bloky. Tento pokus by ˇreˇsil probl´em se sjednocen´ım protokolu mezi firmami, kteˇr´ı Modbus vyuˇz´ıvaj´ı.

Komunikace

Modbus je zaloˇzen na architektuˇre ”master-slave”. Na sbˇernici je jedno zaˇr´ızen´ı master a nˇekolik zaˇr´ızen´ı slave. Master pos´ıl´a dotazy a slave pouze odpov´ıd´a. Master pos´ıl´a dotazy pouze na zaˇr´ızen´ı, od kter´ych ˇz´ad´a odpovˇedi. Toho doc´ıl´ı adresov´an´ım, avˇsak adresov´an´ı se liˇs´ı v z´avislosti na pouˇzit´ı s´ıtˇe nebo sbˇernice. Pokud pouˇzijeme Ethernet, adresujeme pomoc´ı IP adres. Ale pokud pouˇzijeme s´eriov´e rozhran´ı, adresa je hexadecim´aln´ı ˇc´ıslo 0 aˇz 255. Pˇri pouˇzit´ı s´eriov´e linky m˚uˇze Modbus pracovat v reˇzimu ASCII. T´ım se data i adresace pˇrevede do ASCII znak˚u.

Komunikace prob´ıh´a stylem poˇzadavek - odpovˇed’. Master vyˇsle data s adresou zaˇr´ızen´ı, poˇzadavkem co m´a zaˇr´ızen´ı udˇelat a pˇr´ıpadnˇe daty. Adresu zpracuj´ı vˇsechny zaˇr´ızen´ı na sbˇernici, ale dalˇs´ı data pouze to zaˇr´ızen´ı, kter´e m´a poˇzadovanou adresu.

Pokud m´ame Modbus s vnitˇrn´ımi bloky v zaˇr´ızen´ı o kter´ych jsem jiˇz mluvil, adresace bloku je vloˇzena mezi adresu zaˇr´ızen´ı a vlastn´ı poˇzadavek funkce.

Velikost packet˚u nen´ı pˇredem urˇcena a ˇcistˇe z´avis´ı na uˇzivateli, jak si velikost urˇc´ı v aplikaci.

Pouˇzit´ı

Modbus je vhodn´y pro pouˇzit´ı pˇredevˇs´ım u pr˚umyslov´ych zaˇr´ızen´ı a syst´emech au- tomatizace budov. Je vhodn´y pro pouˇzit´ı pˇri komunikaci mezi rozd´ıln´ymi s´ıtˇemi

(21)

nebo sbˇernicemi, jelikoˇz tento protokol je otevˇren´y a m˚uˇze b´yt upraven na jakoukoli aplikaci.

Pˇri pouˇzit´ı tohoto protokolu je zde jedna velk´a nev´yhoda, kter´a m˚uˇze b´yt obˇcas povaˇzov´ana na v´yhodu. Je to pr´avˇe to, ˇze samotn´y protokol nen´ı standardizov´an a jsou pˇredem definov´any pouze vstupy a v´ystupy. Zda jsou digit´aln´ı nebo analogov´e a zda se maj´ı chovat jako vstup, v´ystup nebo oboje. Toto je v´yhoda, kdyˇz potˇrebujeme specifickou aplikaci, ale je to tak´e nev´yhoda pˇri snaze o spojen´ı dvou aplikac´ı od dvou v´yvoj´aˇr˚u. Pˇri pouˇzit´ı vnitˇrn´ıch blok˚u zaˇr´ızen´ı tuto nev´yhodu eliminujeme a je pomˇernˇe jednoduch´e a pˇrehledn´e sjednotit v´ıce aplikac´ı v jednu.

Tento protokol se tedy d´a vyuˇz´ıt v jak´ekoli pr˚umyslov´e aplikaci. Jeho jedin´a nev´yhoda spoˇc´ıv´a ve snaze o pˇrenesen´ı kritick´ych dat. Tyto data nem˚uˇze samotn´e slave zaˇr´ızen´ı

”vnutit”masteru. Kdyˇz uˇz se tato data dostanou na ˇradu ke komunikaci, mus´ı proj´ıt pˇres samotn´y master k zaˇr´ızen´ı ke kter´emu patˇr´ı.

Nejpouˇz´ıvanˇejˇs´ı knihovna tohoto protokolu je knihovna libmodbus. Jedn´a se o kni- hovnu pro jazyk C a podporuje jak pˇrij´ım´an´ı, tak vys´ıl´an´ı data pˇres Ethernet nebo s´eriovou linku.

2.2.3 BACnet

Protokol BACnet slouˇz´ı k celosvˇetov´e normalizaci a standardizaci automatizace bu- dov. Jedn´a se o snahu zaruˇcit univerz´alnost a zamˇenitelnost jednotliv´ych prvk˚u to- hoto protokolu. Snaha o zaruˇcen´ı funguj´ıc´ıho syst´emu pˇri pouˇzit´ı zaˇr´ızen´ı od r˚uzn´ych v´yrobc˚u. V´ysledkem tohoto protokolu je tedy univerz´aln´ı pˇredpis r˚uzn´ych zaˇr´ızen´ı a funkc´ı.

BACnet byl navrˇzen pˇredevˇs´ım k vyuˇzit´ı k automatizaci a ˇr´ızen´ı budov. Byl navrˇzen pro komunikaci pomoc´ı internetov´eho pˇripojen´ı a zajiˇstˇen´ı pˇr´ıstupu pomoc´ı IP adres.

Komunikace

Kaˇzd´e zaˇr´ızen´ı je reprezentov´ano jedn´ım ˇci v´ıce objekty. Tyto objekty jsou pak cha- rakterizov´any vlastnostmi, kter´e popisuj´ı jej´ıch chov´an´ı a ˇr´ıd´ı jejich provoz. Nˇekter´a data v objektech mohou b´yt pouze ke ˇcten´ı, nˇekter´e zase umoˇznuj´ı z´apis. BACnet definuje 23 r˚uzn´ych standardn´ıch typ˚u objekt˚u, do kter´ych si pak jednotliv´a zaˇr´ızen´ı m˚uˇzeme pˇriˇradit.

Kaˇzd´e zaˇr´ızen´ı m˚uˇze komunikovat s kaˇzd´ym dalˇs´ım objektem, nebo zaˇr´ızen´ım v s´ıti.

Nen´ı zde ˇz´adn´y centr´aln´ı prvek s´ıtˇe. Architektura syst´emu je tedy s´ıt’ov´a uˇz jen z principu, ˇze protokol m˚uˇze vyuˇz´ıvat j´ıˇz vybudovan´ych internetov´ych s´ıt´ı.

Protokol vyuˇz´ıv´a nejen st´avaj´ıc´ı internetov´e s´ıtˇe, ale vyuˇz´ıv´a i adresaci pomoc´ı IP adres. Pˇri pˇripojen´ı syst´emu do internetu pˇres IP router, m˚uˇzeme vyuˇz´ıt takzvan´y

(22)

”IP tunneling”a projit pˇres internet 2 s´ıtˇe mezi sebou. Tyto s´ıtˇe se pak chovaj´ı jako jedna a m˚uˇzeme propojit v´ıce budov mezi sebou.

BACnet m˚uˇze vyuˇz´ıvat i komunikaci pˇres s´eriovou sbˇernici, ale to se nepouˇz´ıv´a, jelikoˇz je zbyteˇcnˇe sloˇzit´a adresace a nav´ıc nelze vyuˇz´ıvat v´yhod TCP/IP protokolu a nelze syst´em pˇripojit to internetu. Ztrat´ıme tedy moˇznost kontrolovat syst´em zvenˇc´ı.

Celkovˇe je mnohem lepˇs´ı vyuˇz´ıt Ethernet, protoˇze v dneˇsn´ı dobˇe se Ethernetov´a s´ıt nach´az´ı t´emˇeˇr v kaˇzd´e budovˇe.

Pouˇzit´ı

BACnet je v dneˇsn´ı dobˇe jeden z nejpouˇz´ıvanˇejˇs´ıch protokol˚u pro automatizaci bu- dov. Je tomu tak jelikoˇz je normov´an a jeho nasazen´ı je pomˇernˇe jednoduch´e, je- likoˇz vyuˇz´ıv´a jiˇz existuj´ıc´ıch internetov´ych s´ıt´ı. Umoˇzˇnuje provozovat komunikaci souˇcasnˇe i s jin´ymi st´avaj´ıc´ımi s´ıtˇemi.

Pˇri pouˇzit´ı pro automatizaci budov, na kterou je prim´arnˇe zamˇeˇren, je pouˇzit´ı IP komunikace Ethernet velmi vhodn´a. Pˇri takov´emto pouˇzit´ı m˚uˇzeme jednak realizovat komunikaci v´ıce budov mezi sebou, ale m˚uˇzeme i kontrolovat a ˇr´ıdit budovy nebo cel´e syst´emy z jak´eholiv pˇr´ıstupu na internet a to je v dneˇsn´ı dobˇe jedno krit´eri´ı pˇri v´ybˇeru.

BACnet d´ıky sv´e rychlosti a moˇznosti komunikace ”kaˇzd´y s kaˇzd´ym”je vhodn´y pro pouˇzit´ı do budov, kde chceme detekovat a hl´asit poˇz´ar, ˇr´ıdit osvˇetlen´ı, topen´ı, ven- tilaci, zabezpeˇcen´ı a hl´ıd´an´ı budov, automatizovat chod budovy.

Pro tento protokol se pouˇz´ıv´a BACnet Stack. Tato knihovna je pro jazyk C, ale podporuje mnoho dalˇs´ıch jazyk˚u a kompil´ator˚u.

2.2.4 M-BUS

M-BUS je evropsk´y standard, kter´y byl p˚uvodnˇe urˇcen´y pˇredevˇs´ım pro vzd´alen´e mˇeˇren´ı spotˇreby. Postupnˇe se rozˇs´ıˇril a v dneˇsn´ı dobˇe se pouˇz´ıv´a pro vzd´alen´e mˇeˇren´ı dat a regulaci syst´em˚u. Pˇri odeˇc´ıt´an´ı tˇechto hodnot nez´aleˇz´ı na rychlosti pˇrenosu dat, ale hodnˇe z´aleˇz´ı na pˇresnosti tˇechto dat. Takˇze tento protokol neklade d˚uraz na rychlost, ale d˚uraz na kvalitu pˇrenosu a zabezpeˇcen´ı proti ruˇsen´ı.

V dneˇsn´ı dobˇe je tento standard vyuˇz´ıv´an mnoha v´yrobci, tud´ıˇz podporuje moˇznost vz´ajemn´e komunikace zaˇr´ızen´ı r˚uzn´ych v´yrobc˚u.

M-BUS podporuje a zajiˇst’uje spolehliv´e propojen´ı mnoha zaˇr´ızen´ı aˇz na vzd´alenosti nˇekolika kilometr˚u. Poˇcet pˇripojen´ı zaˇr´ızen´ı na tyto vzd´alenosti se ud´av´a ˇr´adovˇe ve stovk´ach.

(23)

Pokud chceme pouˇz´ıt bezdr´atovou komunikaci, M-BUS poskytuje vlastn´ı ˇreˇsen´ı to- hoto probl´emu. M-BUS vyv´ıj´ı vlastn´ı komunikaˇcn´ı standard pro bezdr´atovou komu- nikaci M-BUS Wireless. Tento standard zat´ım nen´ı pˇr´ıliˇs rozˇs´ıˇren a prob´ıh´a prozat´ım v´yvoj.

Komunikace

Struktura s´ıtˇe je sbˇernicov´eho typu, protoˇze je to pro pr˚umyslov´y sbˇer dat to nej- efektivnˇejˇs´ı ˇreˇsen´ı. Vyuˇzit´ım t´eto sbˇernice z´ısk´ame jednoduch´e pˇripojov´an´ı a odpo- jov´an´ı zaˇr´ızen´ı bez jak´ehokoli naruˇsen´ı komunikace mezi zbytkem zaˇr´ızen´ı. Z´ısk´ame moˇznost jednoduˇse vys´ılat data v´ıce zaˇr´ızen´ım najednou, ale je zde probl´em, ˇze pokud vys´ıl´a jedno zaˇr´ızen´ı, nem˚uˇze komunikovat dalˇs´ı. To m´a za n´asledek sn´ıˇzen´ı rychlosti syst´emu, ale na rychlost M-BUS nehled´ı. Vzd´alenost mezi jednotliv´ymi zaˇr´ızen´ımi mus´ı b´yt maxim´alnˇe 1km. Samotn´a komunikace prob´ıh´a zp˚usobem Master- slave. Komunikace mezi zaˇr´ızen´ımi se prov´ad´ı bin´arnˇe. Prob´ıh´a zde s´eriov´a 8bitov´a asynchronn´ı komunikace. Adresy stanic jsou prim´arnˇe jednobytov´e. Je zde vˇsak moˇznost, pˇri vyˇsˇs´ım poˇctu zaˇr´ızen´ı, pouˇz´ıt 8bytovou adresaci.

Samotn´a tato sbˇernice je pomˇernˇe atypick´a. Vyuˇz´ıv´a dvoudr´atov´e spojen´ı. Je aty- pick´a t´ım, ˇze master vys´ıl´a data pomoc´ı dvou hodnot napˇet´ı – 36 a 24 volt˚u. Pˇri komunikaci k jednotliv´ym zaˇr´ızen´ım od Masteru znamen´a 36 volt˚u logickou 1 a 24 volt˚u logickou 0. T´ımto zp˚usobem je moˇznost i nap´ajen´ı zaˇr´ızen´ı ze sbˇernice.

Pˇri opaˇcn´e komunikaci, tedy slave zaˇr´ızen´ı odpov´ıdaj´ı na master dotazy, se neprov´ad´ı zmˇena napˇet´ı, ale zmˇena proudu. Slave zaˇr´ızen´ı odeb´ır´a 1,5mA pˇri logick´e 1 a pˇri logick´e 0 je tato hodnota o 11 aˇz 20mA vyˇsˇs´ı.

Pouˇzit´ı

Pˇri pouˇzit´ı t´eto sbˇernice nedoch´az´ı k naruˇsen´ı ostatn´ıch komunikac´ı, jelikoˇz ne- vyuˇz´ıv´a st´avaj´ıc´ıch s´ıt´ı, ale je potˇreba vytvoˇrit dvoudr´atovou sbˇernici. Tato sbˇernice je urˇcena v´yhradnˇe pro pˇrenos dat z mˇeˇr´ıc´ıch zaˇr´ızen´ı do centr´aln´ıho zaˇr´ızen´ı, kter´e pak provede z´asah do syst´emu.

Vzhledem k pˇrenosov´ym rychlostem nen´ı sbˇernice M-BUS vhodn´a pro syst´em, kde je potˇreba rychl´eho pˇrenosu kritick´ych zaˇr´ızen´ı. Nen´ı tedy vhodn´a na zabezpeˇcen´ı budov nebo pˇr´ımo do energetiky, do automatick´eho chodu budovy (napˇr´ıklad roz- voden).

Je vˇsak vhodn´a pro mˇeˇren´ı hodnot a d´ıky zajiˇstˇen´ı bezpeˇcnosti doruˇcen´ı dat a odol- nosti v˚uˇci ruˇsen´ı, by se tato sbˇernice mohla pouˇz´ıvat v energetice pouze pro mˇeˇren´ı spotˇreby jednotliv´ych zaˇr´ızen´ı. D´ale by mohl b´yt urˇcen pro mˇeˇren´ı dat v budovˇe a n´aslednou regulaci veliˇcin. M-BUS je v podstatˇe univerz´aln´ı ˇreˇsen´ı pomal´eho re- gulov´an´ı veliˇcin na velk´e vzd´alenosti s urˇcitou m´ırou zabezpeˇcen´ı. Pro regulov´an´ı napˇr´ıklad teploty v budovˇe je v´ıce neˇz dostaˇcuj´ıc´ı.

(24)

Knihovna libmbus slouˇz´ı ke ˇcten´ı dat z mˇeˇr´ıc´ıch pˇr´ıstroj˚u, podm´ınkou je podpora tohoto protokolu. Knihovna m˚uˇze ˇc´ıst data po RS232 nebo Ethernetu.

2.2.5 KNX

Pˇri vytv´aˇren´ı sbˇernice KNX, neboli Konnex Bus, byla jako z´aklad pouˇzita sbˇernice EIB. D˚uvodem tohoto vyuˇzit´ı byl komerˇcn´ı ´uspˇech EIB. Jelikoˇz EIB je z´aklad pro KNX, tak vˇsechny pˇr´ıstroje, kter´e vyhovuj´ı EIB, automaticky vyhovuj´ı i KNX. KNX m´a oproti EIB mnohem v´ıce funkc´ı, nab´ız´ı moˇznost pˇripojen´ı v´ıce zaˇr´ızen´ı a tak´e podporuje vyuˇzit´ı r˚uzn´ych pˇrenosov´ych m´edi´ı. KNX je prakticky rozˇs´ıˇren´ı EIB. D´ıky tomuto propojen´ı EIB prakticky zanikla a ˇcasto v literatuˇre KNX objevuje pod n´azvem KNX/EIB.

Stejnˇe jako pˇredeˇsl´e sbˇernice i tato sbˇernice podporuje komunikaci mezi mnoha pˇr´ıstroji od r˚uzn´ych v´yrobc˚u. Tak´e podporuje nap´ajen´ı zaˇr´ızen´ı ze sbˇernice.

Komunikace

Topologie je k pˇrekvapen´ı libovoln´a, pouze s jedn´ım omezen´ım, ˇze na sbˇernici nesm´ı b´yt uzavˇren´a smyˇcka. M˚uˇzeme tedy pouˇz´ıt t´emˇeˇr veˇsker´e topologie, aˇz na kruhovou a s´ıt’ovou.

Typick´a sbˇernice je stromov´a, kter´a napodobuje samotou budovu. Jedna takzvan´a linie (pˇredstavme si jako m´ıstnost) m˚uˇze obsahovat aˇz 256 zaˇr´ızen´ı. Takov´ych lini´ı m˚uˇze b´yt na hlavn´ı linii (patro budovy) pˇripojeno aˇz 15. Ty jsou n´aslednˇe pˇripojeny na p´ateˇrn´ı linii, kterou si uˇz m˚uˇzeme pˇredstavit jako celou budovu, a zde je moˇznost zase pˇripojen´ı 15 hlavn´ıch linii. Pokud mezi sebou tyto ˇc´ısla vyn´asob´ıme, z´ısk´ame poˇcet kolik je moˇzn´ych zaˇr´ızen´ı na jedn´e sbˇernici, dostaneme aˇz 57600 jednotliv´ych zaˇr´ızen´ı. Je zde vˇsak dalˇs´ı omezen´ı - jeden nap´ajec´ı zdroj m˚uˇze nap´ajet pouze 64 zaˇr´ızen´ı.

Poloha zaˇr´ızen´ı v s´ıti je definov´ana individu´aln´ı adresou. Tato adresa je sloˇzena ze tˇr´ı ˇc´ast´ı, kter´e jsou mezi sebou oddˇeleny teˇckami. Prvn´ı ˇc´ast obsahuje ˇc´ıslo 0 aˇz 15 a ud´av´a oblast (pˇredstavili jsme si patro), pˇriˇcemˇz 0 je vyhrazeno pro samotnou p´ateˇrn´ı linii. Dalˇs´ı ˇc´ast obsahuje opˇet 0 aˇz 15 a urˇcuje samotnou linii (m´ıstnost).

Zde je 0 vyhrazena pro hlavn´ı linii. Posledn´ı ˇc´ast adresy urˇcuje poˇrad´ı zaˇr´ızen´ı na dan´e linii a m˚uˇze nab´yvat hodnot 0 aˇz 255. Tato individu´aln´ı adresa m´a vyhrazeno 16 bit˚u. KNX umoˇzˇnuje i vytv´aˇren´ı skupin pro jednoduˇsˇs´ı komunikaci a ovl´ad´an´ı nˇekolik zaˇr´ızen´ı najednou.

Samotn´a komunikace prob´ıh´a bin´arnˇe a po sbˇernici jsou pˇren´aˇseny takzvan´e datov´e telegramy. Pro pˇrenos dat m˚uˇze b´yt vyuˇzita kroucen´a dvojlinka, optick´e veden´ı nebo silov´e veden´ı. Nejˇcastˇeji se pouˇz´ıv´a kroucen´a dvojlinka. Samotn´y sign´al je br´an jako rozd´ıl napˇet´ı mezi kladn´ym a z´aporn´ym vodiˇcem. Logick´a 0 je vyj´adˇrena pulsem o velikosti -5V na kaˇzd´y vodiˇc, tud´ıˇz napˇet´ı mezi vodiˇci je rovno 14V. Logick´a 1 je

(25)

vyj´adˇrena jako nulov´y puls, tedy napˇet’ov´y rozd´ıl je 24V. ˇCasov´a jednotka tˇechto pulz˚u je tak´e normalizovan´a.

Pouˇzit´ı

Jelikoˇz KNX sbˇernice m˚uˇze vyuˇz´ıvat obrovsk´y poˇcet jednotliv´ych zaˇr´ızen´ı, je vhodn´a pro pr˚umyslov´e v´yrobn´ı haly, tomuto nasvˇedˇcuje i vzd´alenost mezi jednotliv´ymi zaˇr´ızen´ımi, kter´a se ud´av´a na 700metr˚u. M˚uˇze dosahovat i vyˇsˇs´ıch pˇrenosov´ych rych- lost´ı, z´aleˇz´ı pouze na pouˇzit´em m´ediu. Hod´ı se tedy i do zabezpeˇcov´an´ı chodu budov a celkov´e automatizaci budov. D´ıky sv´e rychlosti a bezpeˇcn´e komunikaci m˚uˇze b´yt pouˇzit i do protipoˇz´arn´ıch syst´em˚u. D´ıky sv´ym vlastnostem se hod´ı tak´e napˇr´ıklad pro mˇeˇren´ı regulace, detekci poˇz´aru, plnou automatizaci budov a v´yrobn´ı pr˚umyslov´e haly.

Pro KNX protokol se najˇcastˇeji vyuˇz´ıv´a funkc´ı knihovny xknx. Tato knihovna slouˇz´ı pro jazyk Python. Knihovna poskytuje funkce pro komunikaci mezi dvˇema zaˇr´ızen´ımi.

Pokud by se pouˇzil jako pˇrenosov´e m´edium optick´y kabel, mysl´ım si, ˇze ani tak by se tato sbˇernice nemohla pouˇz´ıt v energetice. Vzhledem k tomu, ˇze nejrychlejˇs´ı pˇrenos se ud´av´a jako 32kbps, nemysl´ım si, ˇze by tato rychlost byla dostaˇcuj´ıc´ı pro pˇrenos kritick´e informace. Vych´az´ım z toho, ˇze pouze adresa zab´ır´a 16 bit˚u.

2.2.6 CANopen

CANopen je standardizovan´y komunikaˇcn´ı protokol, kter´y je nadstavba pro sbˇernici CAN. Tento protokol byl navrˇzen pro tuto sbˇernici s t´ım, ˇze m´a za ´ukol zjed- noduˇsovat n´avrh ˇr´ıdic´ıho syst´emu. Byl navrˇzen pro rychl´y pˇrenos dat po s´eriov´e sbˇernici s d˚urazem na rychlost a zaruˇcen´ı pˇrenesen´ı kritick´ych dat. C´ılem tohoto protokolu bylo v´yraznˇe zjednoduˇsit n´avrh syst´emu a vyhnout se problematice spo- jen´e se sbˇernic´ı CAN, z tohoto d˚uvodu tento protokol funguje pouze na t´eto sbˇernici.

Hlavn´ım z tˇechto probl´em˚u bylo spr´avn´e ˇcasov´an´ı zpr´av, CANopen tento probl´em eliminuje standardizac´ı komunikaˇcn´ıch objekt˚u a zaveden´ım speci´aln´ıch funkc´ı (napˇr´ıklad synchronizace).

Komunikace

Komunikace protokolu CANopen spoˇc´ıv´a na principu master-slave. Princip komu- nikace je vˇsak vylepˇsen dvˇema typy pˇrenosu dat. Pˇrenos procesn´ıch dat a pˇrenos sluˇzebn´ıch dat. Kaˇzd´y tento pˇrenos funguje troˇsku odliˇsnˇe. Zat´ımco pˇrenos pro- cesn´ıch dat funguje jako producent a konzument, pˇrenos sluˇzebn´ıch dat pracuje podle modelu klient a server. Pˇri pˇrenosu procesn´ıch dat doch´az´ı k pˇrenosu kri- tick´ych dat a tento pˇrenos m˚uˇze kaˇzd´e zaˇr´ızen´ı vyslat bez poˇzadavku na tyto data.

To znamen´a, ˇze producent m˚uˇze b´yt napˇr´ıklad nˇejak´y senzor a vyslat data, kter´a nejsou vyˇz´adan´a, ale jsou kritick´a a n´aslednˇe je konzument pˇrijme a vyhodnot´ı.

(26)

Pˇri pˇrenosu tˇechto kritick´ych dat, je pˇrijme pouze ten konzument, kter´emu data n´aleˇz´ı. Tento pˇrenos dat nevyuˇz´ıv´a potvrzen´ı a tyto data jsou vys´ıl´any cyklicky do- kud nedojde ke zmˇenˇe v syst´emu, kter´a zmˇen´ı proces, kter´y zp˚usobil jejich vys´ıl´an´ı.

Pˇri pˇrenosu sluˇzebn´ıch dat je zde typick´y pˇrenos stylem, ˇze server vyˇsle dotaz na data a klient mu je poskytne. Klient s´am od sebe data na sbˇernici neposkytuje.

Tento pˇrenos uˇz nen´ı cyklick´y a klient pˇrestane vys´ılat data po pˇrijet´ı potvrzen´ı od serveru.

Data jsou vys´ıl´any v objektech. Samotn´e objekty obsahuj´ı adresu, typ objektu, data a parametr, zda je povoleno data mˇenit nebo pouze ˇc´ıst. Adresov´an´ı v tomto pro- tokolu je pomˇernˇe jednoduch´e. Kaˇzd´e zaˇr´ızen´ı na sbˇernici m´a vlastn´ı ID a vˇsechny zaˇr´ızen´ı, kter´e potˇrebuj´ı toto ID zn´at, ho maj´ı uloˇzen´e. Pˇri komunikaci pak zaˇr´ızen´ı ˇcistˇe zap´ıˇse do objektu ID zaˇr´ızen´ı, komu data n´aleˇz´ı. Pˇri pˇrenosu kritick´ych dat je zde pouze ID a data.

Pouˇzit´ı

Hlavn´ı v´yhodou pˇri pouˇzit´ı tohoto protokolu je rychl´y pˇrenos kritick´ych dat. CA- Nopen se d´a pouˇz´ıt pouze ve spojen´ı se sbˇernici CAN. Pˇri pouˇzit´ı toho spojen´ı z´ısk´ame odoln´y syst´em, kter´y zaruˇcuje rychlost a urˇcit´y stupeˇn zaruˇcen´ı doruˇcen´ı dat. Jeho nev´yhodou je jeho jednoduchost. Kaˇzd´y, kdo tomuto protokolu rozum´ı, m˚uˇze velmi snadno data ˇc´ıst. Z toho vypl´yv´a, ˇze protokol nen´ı moc bezpeˇcn´y a jeho pouˇzit´ı se nedoporuˇcuje do s´ıt´ı, kde je urˇcit´e bezpeˇcnostn´ı riziko. Hod´ı se tedy do v´yrobn´ıch pr˚umyslov´ych hal, kde je potˇreba rychle data pˇren´aˇset, ale nezaleˇz´ı na stupni zabezpeˇcen´ı.

Kvaser CANopen stack je knihovna poskytuj´ıc´ı funkce pro master i slave zaˇr´ızen´ı.

Pouˇzit´ı t´eto knihovny je nejrozˇs´ıˇrenˇejˇs´ı. Poskytuje funkce pro komunikaci tˇechto zaˇr´ızen´ı v s´ıti.

2.2.7 Profinet

Profinet je pr˚umyslov´a sbˇernice, kter´a byla navrˇzena jako nadstavba TCP/IP. Jej´ı hlavn´ı zamˇeˇren´ı je v oblasti ˇr´ıdic´ıch syst´em˚u v pr˚umyslov´e automatizaci. Tento pro- tokol je otevˇren´y a podl´eh´a urˇcit´e standardizaci. Patˇr´ı mezi jeden z nejrozˇs´ıˇrenˇejˇs´ıch protokol˚u v pr˚umyslov´e automatizaci, kter´y je zaloˇzen´y na TCP/IP. Profinet umoˇzˇnuje vyuˇzit´ı jiˇz existuj´ıc´ıch internetov´ych tras bez jak´ehokoli jejich naruˇsen´ı. D´ıky to- muto se hojnˇe rozˇsiˇruje, protoˇze t´ımto krokem razantnˇe sniˇzuje poˇrizovac´ı cenu.

D´ıky z´aklad˚um v protokolu TCP/IP m˚uˇze b´yt jako pˇrenosov´e m´edium pouˇzit i bezdr´atov´y pˇrenos pˇres Wi-Fi nebo optick´y Ethernet. Jedn´a se prakticky o rozˇs´ıˇren´ı v´yhod protokolu TCP/IP do pr˚umyslov´e automatizace.

(27)

Komunikace

Topologie tohoto protokolu nen´ı pˇredem stanoven´a, uˇzivatel si m˚uˇze vytvoˇrit ja- koukoliv s´ıt’, stejnˇe jak tomu je u internetu. Jak bylo jednou zm´ınˇeno, lze pouˇz´ıt uˇz st´avaj´ıc´ı s´ıt’ a podle potˇreby ji tˇreba rozˇs´ıˇrit. Profinet dok´aˇze rozliˇsovat 3 typy komunikace. Prvn´ı je pro pˇrenos standartn´ıch informac´ı, u kter´ych nen´ı d˚uleˇzit´y ˇcas doruˇcen´ı, a Profinet se chov´a jako TCP/IP. Druh´y je komunikace v re´aln´em ˇcase (RT), tento typ je urˇcen pro ˇcasovˇe z´avisl´e kritick´e informace.

Pro tento typ komunikace slouˇz´ı vlastn´ı komunikaˇcn´ı kan´al. Tento kan´al je ˇc´ast stan- dartn´ıho komunikaˇcn´ı kan´alu. Zaˇr´ızen´ı se schopnost´ı t´eto komunikace maj´ı sn´ıˇzen´e n´aroky na procesor, jedn´a se vˇetˇsinou o sn´ımaˇce nebo ˇcidla. Tˇret´ı typ je komunikace v Izochronn´ım re´aln´em ˇcase (IRT). Tento typ je urˇcen pro aplikace, kde je potˇreba velmi mal´e odezvy a pˇresnou synchronizaci. Toto je doc´ıleno t´ım, ˇze IRT m´a vlastn´ı uzavˇren´y komunikaˇcn´ı kan´al. T´ımto stylem m˚uˇze b´yt standardn´ı komunikace, kter´a obsahuje RT, existovat z´aroveˇn s IRT komunikac´ı. Tyto dva komunikaˇcn´ı kan´aly pracuj´ı nez´avisle na sobˇe. At’ se pouˇzije jak´akoliv komunikace, pˇrenos dat prob´ıh´a stejnˇe jako u TCP/IP ve tvaru HTML nebo XML. Adresace je prov´adˇena pomoc´ı IP adres zaˇr´ızen´ı, pˇri nutnosti vˇsak lze vyuˇz´ıt MAC adres.

Pouˇzit´ı

Pouˇzit´ı protokolu Profinet se nab´ız´ı jako nejlepˇs´ıˇreˇsen´ı tam, kde jiˇz existuje vybudo- van´a komunikaˇcn´ı s´ıt’. Toto se vyuˇz´ıv´a ve velk´em rozsahu, jelikoˇz t´ımto zp˚usobem lze uˇsetˇrit velk´y obnos penˇez, kter´y by byl vynaloˇzen na vybudov´an´ı komunikaˇcn´ı s´ıtˇe.

Nav´ıc d´ıky pouˇzit´ı st´avaj´ıc´ıho Ethernetu lze pˇristupovat i pˇres webov´e rozhran´ı.

D´ıky tomuto pˇr´ıstupu lze dohl´ıˇzet na chod a z´aroveˇn upravovat, nebo servisovat, syst´em v re´aln´em ˇcase z jak´ehokoli m´ısta s pˇr´ıstupem k webu. D´ıky tˇemto vlastnos- tem se hod´ı Profinet do velk´ych v´yrobn´ıch hal, kde je potˇreba urˇcit´a data pˇren´aˇset velmi rychle a s velmi malou odezvou (menˇs´ı neˇz 1ms). D´ale se tento protokol hod´ı do v´yrobn´ıch hal, kde je potˇreba urˇcit´y stupeˇn utajen´ı dat, ale s moˇznost´ı kontroly dat z m´ısta mimo halu.

Pro tento komunikaˇcn´ı protokol jsem nenalezl ˇz´adnou opec source knihovnu. Exis- tuje pouze knihovna od firmy Siemens, kter´a podporuje ˇcten´ı dat pomoc´ı tohoto protokolu.

2.2.8 OPC UA

OPC UA je nov´a verze komunikaˇcn´ıho protokolu pro pr˚umyslovou automatizaci OPC. Na rozd´ıl od OPC tento protokol nen´ı funkˇcn´ı pouze pro operaˇcn´ı syst´em Windows, ale je zaloˇzen na jiˇz funguj´ıc´ıch komunikaˇcn´ıch protokolech TCP/IP a HTTP a jedn´a se o jejich nadstavbu. T´ım je zaruˇceno, ˇze protokol OPC UA m˚uˇze fungovat na jak´emkoli zaˇr´ızen´ı, kter´e nemus´ı obsahovat OS Windows a m˚uˇze b´yt

(28)

zabudov´ano napˇr´ıklad do PLC automat˚u. Na rozd´ıl od OPC, kter´e definuje pˇrenos kaˇzd´eho typu dat zvl´aˇst’, nov´e OPC UA definuje pouze form´at pˇrenosu dat a neˇreˇs´ı, o jak´e data se jedn´a.

Komunikace

OPC UA podporuje dvoj´ı typ komunikace. Prvn´ı podporuje bin´arn´ı komunikaci pomoc´ı TCP/IP protokolu a druh´a je pˇres web sluˇzby pomoc´ı HTTP protokolu.

Pˇrenos samotn´ych dat prob´ıh´a ve formˇe pˇrenosu takzvan´ych zpr´av mezi klienty a serverem. Jako s´ıt’ m˚uˇze b´yt pouˇzit jiˇz st´avaj´ıc´ı Ethernet nebo Wi-Fi s´ıt’. Kaˇzd´e zaˇr´ızen´ı v s´ıti m´a vlastn´ı tˇr´ıdu, kterou je definov´ano. Tato tˇr´ıda obsahuje jm´eno zaˇr´ızen´ı, pouˇzit´ı, datov´y typ a popis. Ve jm´enˇe je jm´eno samotn´eho zaˇr´ızen´ı. V pouˇzit´ı je zaps´ano, zda m´a zaˇr´ızen´ı nˇejak´a omezen´ı. Popis definuje charakteristiku zaˇr´ızen´ı nebo samotn´eho pouˇzit´ı tohoto zaˇr´ızen´ı. K adresov´an´ı je pouˇzito jm´eno zaˇr´ızen´ı. Pˇr´ıstup k dat˚um je pomoc´ı objekt˚u.

Server vyˇsle poˇzadavek, kter´y obsahuje jm´eno zaˇr´ızen´ı, id objektu, metodu a zda chce ˇc´ıst nebo zapisovat. Pˇres jm´eno zaˇr´ızen´ı se dostane k nˇekolika blok˚um. Pomoc´ı ID bloku vybere samotn´y blok, kter´y obsahuje urˇcit´a data. Do bloku vyˇsle poˇzadavek, zda chce data ˇc´ıst nebo jen zapisovat a metoda urˇcuje, co se s daty bude d´ıt. Kaˇzd´e zaˇr´ızen´ı v s´ıti mus´ı m´ıt ke komunikaci aplikaˇcn´ı certifik´at, pomoc´ı kter´eho se prov´ad´ı zabezpeˇcen´ı syst´emu. OPC AU definuje 4 ´urovnˇe zabezpeˇcen´ı dat komunikace – bez autentizace, serverov´a autentizace, klientsk´a autentizace a oboustrann´a autentizace.

Bez autentizace znamen´a, ˇze vˇsechny certifik´aty jsou povaˇzov´any za d˚uvˇeryhodn´e a pokud jak´ekoli zaˇr´ızen´ı obsahuje certifik´at, m˚uˇze b´yt pˇripojeno do syst´emu a komunikovat. Serverov´a autentizace spoˇc´ıv´a v tom, ˇze server se pˇripoj´ı k jak´emukoli klientu a ovˇeˇren´ı klienta probˇehne pˇres jm´eno a heslo. Klientsk´a autentizace dovoluje klientovi se pˇripojit na jak´ykoliv server, ale pouze pomoc´ı administr´atorsk´ych dat.

Oboustrann´a znamen´a, ˇze klient i server se m˚uˇze pˇripojit pouze pokud obsahuje d˚uvˇeryhodn´y certifik´at.

Pouˇzit´ı

Vzhledem k tomu, ˇze protokol UPC UA vyuˇz´ıv´a pˇrenosu dat pomoc´ı vyuˇzit´ı inter- netov´ych protokol˚u, je pˇrenos dat pomˇernˇe jednoduch´y. To je zp˚usobeno t´ım, ˇze v dneˇsn´ı dobˇe je internetov´a s´ıt’ souˇc´ast´ı t´emˇeˇr kaˇzd´e pr˚umyslov´e budovy. UPC UA je tedy jednoduch´e implementovat do jak´ekoli budovy. V nejvˇetˇs´ı m´ıˇre se pouˇz´ıv´a pro syst´emy ˇc´asteˇcn´e automatizace. Pro syst´emy, kter´e kontroluj´ı energie v budovˇe, ˇr´ızen´ı teplot, ale tak´e hlavnˇe u syst´em˚u, kter´e potˇrebuj´ı rychl´y pˇrenos kritick´ych dat a u syst´em˚u, kter´e potˇrebuj´ı ke sv´emu chodu urˇcit´y pojem o ˇcase (napˇr´ıklad poˇc´ıt´an´ı cykl˚u, nebo urˇcit ˇcas, kdy se jak´a ud´alost stala).

Pro uˇzivatelsk´e pouˇzit´ı tohoto protokolu se nejˇcastˇeji vyuˇz´ıv´a knihovna OuickOPC.

Tato knihovna poskytuje funkce clienta. Je moˇzn´e ji implementovat do mnoha pro- gramovac´ıch jakzyk˚u (napˇr´ıklad C, C++, C#, Python a dalˇs´ı).

(29)

2.2.9 Dalˇ s´ı m´ enˇ e rozˇ s´ıˇ ren´ e protokoly

DNP3

Jedn´a se komunikaˇcn´ı protokol, kter´y se vyuˇz´ıv´a v´yhradnˇe v Americe. Je pouˇz´ıv´an jako protokol ke komunikaci mezi dvˇema zaˇr´ızen´ımi v pr˚umyslov´e automatizaci.

Jedn´a se o pomˇernˇe dobˇre zabezpeˇcenou komunikaci, kter´a zaruˇcuje urˇcit´y stupeˇn doruˇcen´ı zpr´avy. Protokol podporuje i zabezpeˇcen´ı proti odposlouch´av´an´ı dat. Tento protokol se v Evropsk´ych zem´ı t´emˇeˇr nevyuˇz´ıv´a.

LonTalk

LonTalk je komunikaˇcn´ı protokol, kter´y se pouˇz´ıv´a pro pˇrenos dat po sbˇernici LON.

Tento protokol vyuˇz´ıv´a pˇrenos dat ve zpr´av´ach a pˇrenos je realizov´an po sbˇernici, kter´a podporuje velk´e mnoˇzstv´ı pˇrenosov´ych m´edi´ı. Tento protokol vyuˇz´ıvaj´ı pouze 3 svˇetov´e firmy (Echelon, Motorola a Toshiba).

Ego-n

Ego-n je komunikaˇcn´ı protokol pro inteligentn´ı elektroinstalaci. Pouˇz´ıv´a se jak pro pr˚umyslov´e, tak pro dom´ac´ı vyuˇzit´ı. Pˇrenos dat je opˇet pˇres sbˇernici a je zde jeden modul, kter´y ˇr´ıd´ı cel´y syst´em. Tento protokol je vyuˇzit pouze firmou ABB.

Synco living

Synco living je syst´em inteligentn´ıch komunikaˇcn´ı prvk˚u, kter´e dohromady tvoˇr´ı inteligentn´ı dom´acnosti a budovy. Jedn´a se o plnou automatizaci. Tento syst´em vych´az´ı ze sbˇernice KNX. Pouze tuto sbˇernici vylepˇsuje, ale funguje t´emˇeˇr stejnˇe.

Tento syst´em vyuˇz´ıv´a a nab´ız´ı pouze firma Siemens.

Elko EP

Elko EP je ˇcesk´a obdoba syst´emu Synco living. Tento produkt nab´ız´ı firma Elko EP.

Oproti Synco living podporuje ELKO EP automatizacepro nepr˚umyslov´e pouˇzit´ı.

Podporuje pouze automatizaci mal´ych dom˚u, maxim´alnˇe hotel˚u.

(30)

3 V´ ybˇ er protokol˚ u

Po hotov´e reˇserˇsi protokol˚u pˇriˇslo na ˇradu vybrat z tˇechto protokol˚u tˇri aˇz ˇctyˇri pro uk´azku jejich funkc´ı. Pˇri vyb´ır´an´ı protokol˚u jsem vzal v potaz nejpouˇz´ıvanˇejˇs´ı knihovny, kter´e jsem zmiˇnoval v reˇserˇsi. Pokud vˇsak knihovna nebyla veˇrejnˇe pˇr´ıstupn´a, hledal jsem jinou. Jako programovac´ı jazyk jsem si, v z´avislosti na konzultaci s ve- douc´ım pr´ace, zvolil C#. Pokud tedy nejpouˇz´ıvanˇejˇs´ı knihovna dan´eho protokolu nebyla .Net hledal jsem .Net knihovnu pro dan´y protokol. Pˇri hled´an´ı .Net kniho- ven jsem hledal knihovny ned´avno a ˇcasto aktualizovan´e. To bylo jedno z hlavn´ım krit´eri´ı pro v´ybˇer knihovny. Knihovny, kter´e pro pˇrenos dat vyˇzaduj´ı sbˇernici, jsem z v´ybˇeru odebral. D´ale bylo potˇreba, aby dan´y protokol mˇel knihovny jak pro server, tak pro clienta, pˇr´ıpadnˇe pro oboj´ı v jedn´e.

Pot´e, kdyˇz uˇz bylo nalezeno nˇekolik knihoven pro jednotliv´e protokoly, pˇriˇslo na ˇradu vybrat, pro jak´e se budou programovat aplikace. Po konzultaci s vedouc´ım jsme vybrali ˇctyˇri protokoly, kter´e maj´ı odliˇsn´y zp˚usob pˇrenosu dat. Bylo by zbyteˇcn´e pouˇz´ıt dva sobˇe velice podobn´e protokoly, jejichˇz pˇrenos dat je t´emˇeˇr totoˇzn´y.

Pro tuto pr´aci tedy byla vybr´ana tato ˇctveˇrice protokol˚u:

• DLMS/COSEM

• IEC 60870-5-104

• MQTT

• OPC UA

Pro kaˇzd´y z protokol˚u jsem si pro jednoduˇs´ı implementaci knihoven zvolil pouze knihovny podporuj´ıc´ı funkce pro obˇe zaˇr´ızen´ı v s´ıti.

Pro MQTT jsem nepouˇzil knihovnu z reˇserˇse (viz strana19), protoˇze tato knihovna byla pouze pro v´yvojov´e prostˇred´ı Eclipse. Pro DLMS jsem knihovnu z reˇserˇse vyuˇzil, jelikoˇz obsahovala ˇc´ast .Net. Pro IEC 60870-5-104 jsem vyuˇzil knihovnu z reˇserˇse.

Pro OPC UA jsem knihovnu z reˇserˇse nevyuˇzil, jelikoˇz obsahovala funkce pouze pro clienta.

(31)

4 Jednotliv´ e aplikace

Pro programov´an´ı jednotliv´ych aplikac´ı jsem si zvolil v´yvojov´e prostˇred´ı Microsoft Visual Studio. Toto prostˇred´ı jsem si zvolil, protoˇze se v tomto prostˇred´ı pohybuji jiˇz od z´akladn´ı ˇskoly. Na vysok´e ˇskole jsme v nˇem programovali a tak´e n´am ho zdarma poskytuje ˇskola ke studijn´ım ´uˇcel˚um.

4.1 MQTT

Jako prvn´ı protokol pro uk´azku aplikace jsem zvolil MQTT. Pro tento protokol existuje velk´e mnoˇzstv´ı knihoven, obsahuj´ıc´ıch funkce pouze pro clienta nebo server.

Knihovny MQTTnet [52] a M2Mqtt [54], kter´e obsahuj´ı funkce pro clienta i ser- ver, jsem vyzkouˇsel. M2Mqtt nemohla naj´ıt cestu ke knihovnˇe, pˇrestoˇze byla ruˇcnˇe nastavena, zvolil jsem tedy programovat a ukazovat funkce v knihovnˇe MQTTnet.

Knihovna podporovala bal´ıˇcek NuGet. Po nainstalov´an´ı a vloˇzen´ı do projektu bylo velice snadn´e vyuˇz´ıvat jeho funkce. N´aslednˇe jsem hledal jak vyuˇz´ıvat danou kni- hovnu. Bohuˇzel, veˇsker´e n´avody byly pro jin´e programovac´ı jazyky. Knihovnu jsem se tedy uˇcil pouˇz´ıvat pomoc´ı pˇr´ıklad˚u, kter´e sloˇzka s knihovnou obsahovala. Nej- prve jsem se musel nauˇcit, jak vlastn´ı k´od funguje a co dˇel´a. Pot´e jsem zaˇcal ps´at vlastn´ı ˇc´asti k´odu a komunikaci protokolu zaˇcal zprovozˇnovat. Po propojen´ı serveru a clienta, jsem mezi nimi zaˇcal pos´ılat pˇredem urˇcen´a data.

Obr´azek 4.1: MQTT - posl´an´ı zpr´avy a pˇripojen´ı

(32)

Na obr´azku4.1 lze vidˇet, jak samotn´a aplikace vypad´a. Nejprve urˇc´ıme, zda spust´ı server nebo clienta. Client je nastaven tak, aby hledal server na adrese 127.0.0.1, tedy localhost. Pokud na t´eto adrese server nenajde, vyp´ıˇse chybovou hl´aˇsku a zaˇcne s opˇetovn´ym pˇripojov´an´ım. Pokud je vˇsak server zapnut, client ho najde, oba vyp´ıˇs´ı, ˇze pˇripojen´ı probˇehlo, a client m˚uˇze zaˇc´ıt vys´ılat data. Po zm´aˇcknut´ı libovoln´e kl´avesy se odeˇslou specifick´a, pˇredem urˇcen´a data. V aplikaci lze vidˇet, ˇze u protokolu MQTT nefunguje klasick´e pos´ıl´an´ı dat, ale takzvan´y ”publish data”. To znamen´a, ˇze dan´e zaˇr´ızen´ı vyˇsle data vˇsem zaˇr´ızen´ım v s´ıt´ı. Je to patrn´e i z toho, ˇze client, kter´y data vyslal, tyto data tak´e pˇrijal.

Data se pos´ılaj´ı v pˇredem dan´em tvaru. Obsahuj´ı ID zaˇr´ızen´ı, kter´e data vyslalo, t´ema dat, samotn´a data a v tomto pˇr´ıpadˇe i kvalitu pˇrenosu. Dat˚um lze v t´eto knihovnˇe nastavit jeˇstˇe ”retain flag”, coˇz znamen´a, ˇze je server uschov´a a vˇsem client˚um, kteˇr´ı se pˇripoj´ı, je bude poskytovat. Server tyto “retain” data zapisuje do seznamu.

Po odpojen´ı clienta server vyp´ıˇse hl´aˇsku o odpojen´ı (viz Obr´azek 4.2). Pokud je client pˇripojen a server se vypne, zaˇcne opˇetovn´e pˇripojov´an´ı (viz Obr´azek 4.3) a v pˇr´ıpadˇe, ˇze se server opˇet zapne, client se automaticky pˇripoj´ı. Pot´e m˚uˇze znovu prob´ıhat komunikace (viz Obr´azek 4.4).

Obr´azek 4.2: MQTT - odpojen´ı clienta

(33)

Obr´azek 4.3: MQTT- recconecting

Obr´azek 4.4: MQTT - reconnected

V uk´azk´ach lze vidˇet v´yhody protokolu MQTT. Prvn´ı v´yhodou je zas´ıl´an´ı dat bez ohledu na jejich obsah nebo tvar. Veˇsker´a data se pos´ılaj´ı ve tvaru zpr´avy, do kter´e lze zapsat jak´ykoliv datov´y typ. Mnou vytvoˇren´a aplikace pos´ıl´a datum narozen´ı jako typ DateTime (viz Obr´azek4.5).

Obr´azek 4.5: MQTT - tvar dat

References

Related documents

Za pˇ redpokladu ´ uspˇ eˇ sn´ eho otestov´ an´ı by n´ asledovalo vyuˇ zit´ı odhadnut´ eho a verifikovan´ eho modelu pro predikci, nebo bliˇ zˇ s´ı anal´ yzu zkouman´

V t´ eto kapitole se budeme vˇ enovat rozˇ s´ıˇ ren´ı line´ arn´ıho regresn´ıho modelu pro n vysvˇ etluj´ıc promˇ enn´ ych, tedy X 1..

Potlaˇ cov´ an´ı odezvy existuj´ı dva druhy, Network Echo Cancellation (potlaˇ cov´ an´ı odezvy v s´ıt’ov´ ych sign´ alech) a Acoustic Echo Cancellation (potlaˇ cov´

Kromˇ e fin´ aln´ı verze, kter´ a komplexnˇ e zpracov´ av´ a veˇsker´ e dan´ e poˇ zadavky, vzni- kala souˇ casnˇ e i verze, kter´ a fungovala bez pouˇ zit´ı detektoru

Radonova transformace; Zpˇ etn´ a projekce; Filtrovan´ a zpˇ etn´ a pro- jekce; Algebraick´ a rekonstrukˇ cn´ı metoda; Projekˇ cn´ı teor´ em; Kla- sick´ a tomografie;

Ke kaˇ zd´ emu videu pouˇ zit´ emu pˇri testov´ an´ı byly hod- noty poˇ ctu osob, kter´ e proˇsly a poˇ ctu unik´ atn´ıch osob, kter´ e se ve videu objevily tak´ e

Mezi data ukl´ adan´ a do datab´ aze patˇr´ı informace o pool serveru, ke kter´ emu je tˇ eˇ zebn´ı klient aktu´ alnˇ e pˇripojen, informace o dobˇ e tˇ eˇ zby aktu´

- odpověď studenta/ky: srovnávala českou a německou národnost, měla málo dat na to, aby mohla říci závěry - hodnocení odpovědi: