Ovládání Zabezpečovací Kamery EYE-02 Protokolem
Total Page:16
File Type:pdf, Size:1020Kb
TECHNICKA´ UNIVERZITA V LIBERCI Fakulta mechatroniky, informatiky a mezioborov´ych studi´ı DIPLOMOVA´ PRACE´ V Liberci, 18. kvˇetna2013 Bc. Jakub Ponikelsk´y TECHNICKA´ UNIVERZITA V LIBERCI Fakulta mechatroniky, informatiky a mezioborov´ych studi´ı Studijn´ıprogram: N2612 – Elektronika a informatika Studijn´ıobor: 1802T007 – Informaˇcn´ıtechnologie Ovl´ad´an´ızabezpeˇcovac´ıkamery EYE-02 protokolem XMPP Control of security camera EYE-02 via XMPP protocol Bc. Jakub Ponikelsk´y Vedouc´ıpr´ace: doc. RNDr. Pavel Satrapa, Ph.D. Konzultant: Ing. Jan Halama, JABLOCOM s. r. o. Pracoviˇstˇe: Ustav´ nov´ych technologi´ıa aplikovan´einformatiky Prohl´aˇsen´ı Byl(a) jsem sezn´amen(a)s t´ım,ˇze na mou diplomovou pr´aci se plnˇevztahuje z´akon ˇc.121/2000 Sb., o pr´avuautorsk´em,zejm´ena § 60 – ˇskoln´ıd´ılo. Beru na vˇedom´ı,ˇzeTechnick´auniverzita v Liberci (TUL) nezasahuje do m´ych autorsk´ych pr´avuˇzit´ımm´ediplomov´epr´acepro vnitˇrn´ıpotˇrebuTUL. Uˇziji-lidiplomovou pr´acinebo poskytnu-li licenci k jej´ımu vyuˇzit´ı,jsem si vˇedom povinnosti informovat o t´etoskuteˇcnostiTUL; v tomto pˇr´ıpadˇem´aTUL pr´avo ode mne poˇzadovat ´uhradun´aklad˚u,kter´evynaloˇzilana vytvoˇren´ıd´ıla,aˇzdo jejich skuteˇcn´e v´yˇse. Diplomovou pr´acijsem vypracoval(a) samostatnˇes pouˇzit´ımuveden´eliteratury a na z´akladˇekonzultac´ıs vedouc´ımdiplomov´epr´acea konzultantem. Datum: 18. kvˇetna2013 Podpis: ......................... Bc. Jakub Ponikelsk´y 3 Podˇekov´an´ı Touto cestou bych r´adpodˇekoval vedouc´ımu diplomov´epr´acedoc. RNDr. Pavlu Satrapovi, Ph.D., za jeho cenn´epˇripom´ınkypˇrivytv´aˇren´ıa dokonˇcov´an´ıpr´ace.R´ad bych tak´epodˇekoval spoleˇcnosti JABLOCOM s. r. o. za zprostˇredkov´an´ıpr´acea jme- novitˇepak Ing. Janu Halamovi a Ing. Pavlu Vikovi, Ph.D., za rady a veˇskerou pomoc pˇrikonzultac´ıch. D´alebych velmi r´adpodˇekoval sv´erodinˇeza oporu, kterou mi poskytovala bˇehemcel´ehostudia, konkr´etnˇepak za mor´aln´ı podporu bˇehemkompletov´an´ı t´eto diplomov´epr´acea vytvoˇren´ıpotˇrebn´ehoz´azem´ıpro klidn´estudium na vysok´eˇskole. Pouˇzit´ysoftware Tato pr´acebyla vys´azenapomoc´ısyst´emu LATEX (prosˇred´ıEclipse Juno ve verzi 4.2.1, plugin TeXlipse a s´azec´ı syst´emMiKTeX ve verzi 2.9) a programu Software Ideas Modeler (v´yvojov´ea dalˇs´ıdiagramy) pod operaˇcn´ımsyst´ememMicrosoft Windows 7 Professional 64b. Jako n´astroj pro tvorbu zdrojov´ych k´od˚ubylo pouˇzitoMicrosoft Visual Studio 2010 Ultimate. Kontakt E-mail: [email protected] 4 Abstrakt C´ılemt´etodiplomov´epr´aceje rozˇs´ıˇritmnoˇzinu komunikaˇcn´ıch kan´al˚uslouˇz´ıc´ıch pro ovl´ad´an´ıbezpeˇcnostn´ıkamery EYE-02 o protokol XMPP. V teoretick´eˇc´astije struˇcnˇepˇredstaven zadavatel projektu spoleˇcnostJablocom s. r. o. a z´akladn´ıcha- rakteristick´evlastnosti jej´ıhoproduktu – kamery EYE-02. D´aleje zde sezn´amen´ıse z´akladn´ımimechanismy protokolu XMPP, jejichˇzpochopen´ıje d˚uleˇzit´ek vybudov´an´ı sluˇzby, kter´aby mˇelanahrazovat XMPP klienta pro vybranou kameru. V praktick´eˇc´astije nejdˇr´ıve pops´anv´ybˇerXMPP serveru a jeho nastaven´ı tak, aby byla zaruˇcena maxim´aln´ı ´uroveˇnzabezpeˇcen´ı pˇren´aˇsen´ych dat ale i sa- motn´ehosyst´emu. D´aleje zde navrˇzenapodoba datab´aze, kter´atvoˇr´ıprostˇredn´ıka mezi sluˇzbou a existuj´ıc´ıinfrastrukturou spoleˇcnostiJablocom s. r. o. K t´etodatab´azi je pak navrˇzenaa implementov´anaWCF sluˇzbapro pˇrid´av´an´ıpovel˚udo datab´aze a naopak z´ısk´av´an´ıa filtrov´an´ıpoˇzadavk˚uv datab´azi. N´aslednˇeje zde navrˇzenaa implementov´anasluˇzba,kter´aumoˇzˇnujepˇren´aˇset uˇzivatelsk´ezpr´avy(poplachy, stavov´ezpr´avy, chyby) z kamery na IM klienta uˇzivatele a naopak od nˇejpˇreb´ır´aovl´adac´ıpovely a zobrazuje aktu´aln´ıstav kamery (watch, sleep). Sluˇzbam´atak´eimplementov´any z´akladn´ıpostupy pro pˇrenossoubor˚ua video- hovor˚uprostˇrednictv´ımprotokolu XMPP. D´aleje pak implementov´anahlavn´ısluˇzba, kter´akontroluje spr´avnostchodu jednotliv´ych vl´aken a v periodick´ych intervalech spouˇst´ınebo naopak ukonˇcujevl´aknavybran´ych kamer. Posledn´ıvytvoˇrenouaplikac´ı je pak webov´astr´anka slouˇz´ıc´ık administraci cel´ehosyst´emu. Kl´ıˇcov´aslova: XPPP protokol, bezpeˇcnostn´ıkamera, pˇrenoszpr´av, XMPP server, XMPP sluˇzba 5 Abstract The objective of this thesis is to add XMPP protocol into a set of communi- cation channels used to control security camera EYE-02. The theoretical part presents the project submitter Jablocom ltd. and basic properties of the product – EYE-02. Then there is the introduction to the basic mechanisms of the protocol XMPP, whose understanding is important to build a service that would replace XMPP client for the selected camera. The practical part of the thesis describes selection of the XMPP server and configuration of the XMPP server to ensure the safety of transmitted data as well as the system itself. Then there is a database designed, which is an intermediary be- tween the service and the infrastructure of Jablocom ltd. and WCF Service for adding commands to the database and retrieving and filtering commands from the database. Then there is a service designed and implemented. The service allows to transmit messages (alarms, status messages, errors) from the camera to the IM client of user and to take control command from the user and to display the current status of the camera (watch, sleep). The service has also implemented the basic procedures for transferring files and making video calls via XMPP protocol. There is also main service implemented. Main service checks the runtime of individual fibers in periodic intervals and launches or terminates fibers of selected cameras. Last created application is a webpage that is used to administer the whole system. Keywords: XMPP protocol, security camera, instant messaging, XMPP server, XMPP service 6 Obsah Prohl´aˇsen´ı ................................... 3 Podˇekov´an´ı .................................. 4 Abstrakt.................................... 5 Abstract .................................... 6 Obsah ..................................... 7 Seznam obr´azk˚ua tabulek ......................... 9 Seznam zkratek ............................... 10 1 Uvod´ .................................... 12 2 Sezn´amen´ıs prostˇred´ım ......................... 14 2.1 SpoleˇcnostJablocom a jej´ıprodukty ................... 14 2.1.1 Kamera EYE-02 .......................... 15 2.2 XMP protokol (XMPP) .......................... 17 2.2.1 Vlastnosti XMPP.......................... 18 2.2.2 Adresa XMPP (JID)........................ 20 2.2.3 Princip navazov´an´ırelace...................... 21 2.2.4 Spr´ava kontakt˚uv XMPP ..................... 22 2.2.5 Pˇrenosstavov´einformace v XMPP ................ 25 2.2.6 Spr´ava povolen´ıstavov´einformace v XMPP ........... 26 2.2.7 Pˇrenoszpr´avv XMPP....................... 28 3 Specifikace zad´an´ı ............................ 29 4 Realizace sluˇzby ............................. 31 4.1 V´ybˇerXMPP serveru............................ 32 4.1.1 Openfire............................... 32 4.1.2 Ejabberd............................... 34 4.1.3 Jabberd 2.x............................. 35 4.1.4 Tigase XMPP server........................ 36 4.1.5 Prosody............................... 37 4.1.6 Shrnut´ıa v´ybˇer........................... 38 4.1.7 Nastaven´ı .............................. 40 4.2 Datab´aze .................................. 42 4.2.1 WCF sluˇzba............................. 44 4.3 Vl´aknokamery ............................... 47 4.3.1 Zpracov´av´an´ıpoˇzadavk˚u...................... 49 4.3.2 Odesl´an´ızpr´avyklientovi...................... 50 7 4.3.3 Zabezpeˇcen´ıpˇren´aˇsen´ych zpr´av .................. 51 4.3.4 Zmˇenastavu kamery........................ 54 4.3.5 Pˇrid´an´ıXMPP adresy do kontakt listu.............. 55 4.3.6 Odebr´an´ıXMPP adresy z kontakt listu.............. 57 4.3.7 Odesl´an´ızpr´avyse soubory .................... 58 4.3.8 Pˇrenosvidea protokolem XMPP.................. 61 4.4 Hlavn´ısluˇzba ................................ 65 4.5 Administr´atorsk´erozhran´ı......................... 69 4.6 Uˇzivatelsk´erozhran´ı ............................ 71 5 Z´avˇer .................................... 73 Seznam pouˇzit´eliteratury ......................... 75 Pˇr´ılohaA – Obsah CD ........................... 78 8 Seznam obr´azk˚u Obr´azek1: Princip XMPP pˇrenosu...................... 19 Obr´azek2: Diagram otev´ır´an´ıXMPP relace................. 22 Obr´azek3: Sch´emav´ysledn´eaplikace..................... 31 Obr´azek4: Openfire – admin console – relace s XMPP servery . 33 Obr´azek5: Schema datab´azevyv´ıjen´esluˇzby................. 44 Obr´azek6: Zivotn´ıcyklusˇ vl´aknakamery................... 48 Obr´azek7: Vl´aknokamery – Zpracov´an´ıpoˇzadavk˚u............. 49 Obr´azek8: Vl´aknokamery – Odesl´an´ızpr´avy ................ 50 Obr´azek9: Vl´aknokamery – Zmˇenastavu.................. 55 Obr´azek10: Vl´aknokamery – Pˇrid´an´ıadresy klienta do kontakt listu . 56 Obr´azek11: Vl´aknokamery – Odebr´an´ıadresy klienta z kontakt listu . 57 Obr´azek12: Vl´aknokamery – Odesl´an´ızpr´avyse soubory.......... 58 Obr´azek13: Vl´aknokamery – Vl´aknoodes´ılaj´ıc´ısoubory .......... 59 Obr´azek14: Princip videohovoru........................ 62 Obr´azek15: Vl´aknokamery – Videohovor od kamery............. 63 Obr´azek16: Vl´aknokamery – Videohovor od klienta............. 65 Obr´azek17: Zivotn´ıcyklusˇ hlavn´ıhovl´akna.................. 65 Obr´azek18: Hlavn´ıvl´akno– Inicializace.................... 66 Obr´azek19: Hlavn´ıvl´akno– Kontrola vl´aken................. 67 Obr´azek20: Hlavn´ıvl´akno– Spr´ava vl´aken.................