Masarykova univerzita Fakulta informatiky
Jednoduché zabezpečovací zařízení
Bakalářská práce
Thanh Tomáš Dang
Brno, podzim 2014
Prohlášení Prohlašuji, že tato diplomová práce je mým původním autorským dílem, které jsem vypracoval samostatně. Všechny zdroje, prameny a literaturu, které jsem při vypracování používal nebo z nich čerpal, v práci řádně cituji s uvedením úplného odkazu na příslušný zdroj. Thanh Tomáš Dang
Vedoucí práce: RNDr. Zdeněk Matěj, Ph.D.
ii
Poděkování Chtěl bych poděkovat svému vedoucímu, RNDr. Zdeňkovi Matějovi, za pomoc při řešení této práce. Dále bych rád poděkoval studentům z laboratoře konstrukce a architektury číslicových systémů za poskytnutí cenných rad.
iii
Shrnutí Cílem této práce je realizace jednoduchého zabezpečovacího zařízení pracujícím s pasivními infračervenými pohybovými detektory a magnetickým nebo kontaktním senzorem s možností vzdálené správy a monitoringu pomocí SMS zpráv a aplikace pro OS Android.
iv
Klíčová slova Arduino, senzor, alarm, zabezpečení, poplašný systém, detekce pohybu, GSM, SMS, Android
v
Obsah 1. Úvod.............................................................................................................................3 2. Současné zabezpečovací systémy.............................................................................4 2.1. Ústředna..........................................................................................................5 2.2. Senzory............................................................................................................6 2.2.1. Magnetické senzory...........................................................................7 2.2.2. Pasivní infračervené senzory...........................................................7 2.2.3. Mikrovlnné senzory..........................................................................8 2.2.4. Duální pohybové senzory.................................................................8 2.2.5. Senzory tříštění skla..........................................................................9 2.2.6. Kouřové senzory................................................................................9 2.2.7. Senzory v existujících řešeních......................................................10 2.3. Ohlašovací zařízení......................................................................................12 2.4. Zapojení částí systému................................................................................12 3. Použité technologie..................................................................................................13 3.1. Arduino platforma.......................................................................................13 3.2. Arduino IDE..................................................................................................14 3.3. Programovací jazyk Arduina......................................................................14 3.4. Příkazová sada Hayes..................................................................................15 4. Realizace.....................................................................................................................15 4.1. Požadavky.....................................................................................................15 4.1.1. Iniciální požadavky.........................................................................15 4.1.2. Dodatečné požadavky.....................................................................16
1
4.2. Návrh řešení..................................................................................................16 4.2.1. Hardwarová část..............................................................................16 4.2.2. Aplikace pro OS Android...............................................................18 4.3. Hardwarová implementace........................................................................20 4.3.1. Arduino Mega 2560.........................................................................21 4.3.2. GSM Shield.......................................................................................22 4.3.3. Deska s osazenými součástkami....................................................23 4.3.4. Senzory..............................................................................................24 4.3.5. Další periferie...................................................................................25 4.3.6. Napájení............................................................................................29 4.4. Firmware zařízení........................................................................................31 4.5. Aplikace pro OS Android............................................................................32 5. Sestavení a zprovoznění zařízení...........................................................................32 5.1. Použité komponenty....................................................................................32 5.2. Zapojení komponent....................................................................................33 5.3. Zprovoznění zařízení...................................................................................33 6. Závěr...........................................................................................................................34 A. Přílohy.........................................................................................................................38 A.1. Obsah CD.......................................................................................................38 A.2. Použité součástky...........................................................................................38 A.3. Schémata zapojení součástek zařízení............................................................41 A.4. Popis nákresů firmwaru zařízení....................................................................44 A.5. Popis rozhraní aplikace pro OS Android........................................................48 A.6. Návod k obsluze zařízení...............................................................................49
2
1. Úvod
1. Úvod Zabezpečovací zařízení se v současnosti staly standardním vybavením v obchodech, kancelářích a dalších komerčních a průmyslových objektech. Stále častěji se s nimi můžeme setkat i v domech, bytech, nebo garážích. Tato zařízení poskytují ochranu majetku a osob. Mnoho z nich lze také vzdáleně monitorovat a spravovat. Existuje mnoho druhů zabezpečovacích zařízení lišících se od sebe množstvím podporovaných funkcí, kvalitou zpracování, nebo maximálním počtem připojených detektorů. Některé mohou být modulární a lze k nim přikoupit rozšiřující moduly, jiné mohou mít sadu funkcí pevně danou. Cílem této bakalářské práce je vytvořit jednoduché zabezpečovací zařízení reagující na podněty z pasivních infračervených pohybových detektorů a magnetických nebo kontaktních čidel. Toto zařízení bude možno vzdáleně spravovat a monitorovat jednak pomocí SMS zpráv, jednak pomocí aplikace pro operační systém Android. Kapitola 2 se věnuje obecnému popisu zabezpečovacích zařízení a rozboru vybraných komerčních produktů. Kapitola 3 pak pojednává o klíčových technologiích použitých v realizaci zařízení, které je popsáno v kapitole 4. V kapitole 5 je nakonec popsán způsob sestavení a zprovoznění zařízení.
3
2. Současné zabezpečovací systémy
2. Současné zabezpečovací systémy Poplašná zabezpečovací zařízení jsou zařízení určené k detekci a hlášení nežádoucích vniknutí do chráněných prostorů – ať již budov či celých území. Využívají se jak v bydlištích, tak v komerčních a průmyslových objektech a upravená zařízení jsou užívána i v automobilech. Zabezpečovací zařízení se zpravidla skládají z následujících prvků: ústředna, senzory, ovládací jednotka a ohlašovací zařízení. Dále mohou být, v závislosti na komplexnosti systému, napojeny na různé kamerové systémy, ovládat osvětlení objektu nebo mohou komunikovat se vzdáleným serverem či bezpečnostní službou, která zajišťuje adekvátní reakci na vniknutí (např. kontaktování majitele, policie, nebo zkontrolování objektu). V následujících sekcích jsou popsány jednotlivé části zabezpečovacího zařízení a způsoby řešení těchto částí ve vybraných produktech. Výrobci byli vybráni jednak na základě dostupnosti jejich produktů na cenovém srovnávacím serveru Heureka1, jednak na základě jejich členství v občanském sdružení Gremium alarm 2, které sdružuje subjekty vyvíjející činnost v oblasti technických služeb a zařízení sloužících k ochraně majetku a osob[1]. Z výše uvedených zdrojů byli vybráni následující výrobci: Trade FIDES, a.s., JABLOTRON, s.r.o., Abacus Electric, s.r.o., Selax Electronics, s.r.o., ELDES, LTD. a INTELEK, s.r.o.[2][3].
1.http://domovni-alarmy.heureka.cz/ 2.http://www.gremiumalarm.cz/
4
2. Současné zabezpečovací systémy
2.1. Ústředna Ústředna současných zabezpečovacích zařízení slouží jako hlavní výpočetní jednotka celého systému. Spravuje stav zajištění alarmů, vyhodnocuje signály odesílané senzory a na jejich základě rozhoduje, zda vyhlásit poplach, případně jak narušení ohlásit. Protože je ústředna hlavní výpočetní jednotkou, která zajišťuje funkcionalitu celého systému, může být žádoucí ji nevystavovat možnému kontaktu s vetřelcem. V závislosti na typu ústředny tedy mohou být ovládací prvky (maticová, či jiná klávesnice, LCD displej, dotykový displej nebo čtečka RFID čipů aj.) umístěny buď přímo na ústředně, nebo mohou být umístěny do samotného ovládacího celku. S první variantou se lze setkat především u jednodušších modelů. V Tab. 2.1 je uveden seznam produktů od vybraných výrobců a jejich způsob řešení ovládání. Výrobce
Produkt
Ovládání bez kontaktu s ústřednou
JABLOTRON, s.r.o.
JABLOTRON 80
Ano[4]
JABLOTRON, s.r.o.
JABLOTRON 100
Ano[5]
JABLOTRON, s.r.o.
Azor
Ano[6]
Trade FIDES, a.s.
Asset
Ano[7]
Abacus Electric, s.r.o.
Alarmex
Ano[8]
Abacus Electric, s.r.o.
Sonix
Ano[9]
Selax Electronics, s.r.o.
SE200
Ano[10]
ELDES, LTD.
EPIR3
Volitelné[11]
INTELEK, s.r.o.
iGET SECURITY M2B
Ne[12]
Tab. 2.1: Seznam produktů od vybraných výrobců a jejich možnosti ovládání bez kontaktu s ústřednou
5
2. Současné zabezpečovací systémy
2.2. Senzory Senzory jsou zařízení, které detekují narušení. Mohou být umístěny vně chráněného objektu, uvnitř chráněného objektu, případně na obou místech zároveň a s ústřednou mohou komunikovat drátově nebo bezdrátově. Mohou být napájeny baterií, z elektrické sítě nebo nemusí napájení potřebovat vůbec. Senzory mají 2 vývody, pomocí kterých signalizují narušení. Způsob signalizace se liší v závislosti na typu senzoru: •
„Normal closed“ senzory mají tyto 2 vývody sepnuté/spojené, když není detekováno žádné narušení. Při narušení senzory reagují rozpojením těchto vývodů.
•
U „Normal open“ senzorů jsou vývody rozpojené, při detekci narušení se tyto spojí (tj. teče mezi nimi proud). „Normal closed“ metody mají výhodu v tom, že lze velmi jednodu-
še detekovat přerušení kabelu – na vstupu do ústředny totiž pak lze detekovat výpadek proudu ze senzoru stejně, jako kdyby došlo k samotné detekci narušení senzorem. Případný vetřelec tak nemůže senzor deaktivovat odstřižením od ústředny. Některé senzory mohou mít krom vývodů pro napájení a signalizaci narušení třetí pár vývodů, které signalizují vnější zásah do senzoru samotného. Tyto vývody mívají označení „Tamper“ a jsou zpravidla spínány mechanickým tlačítkem či spínačem, který je díky návrhu pouzdra senzoru stlačen při zavření pouzdra. Při otevření pouzdra dojde k povolení tlaku na spínači, čímž dojde ke změně jeho stavu a signalizaci narušení senzoru. Tamper vývody bývají přítomny například v PIR čidlech. 6
2. Současné zabezpečovací systémy 2.2.1. Magnetické senzory Magnetické senzory se skládají ze dvou částí – z kontaktu a permanentního magnetu. Tyto senzory reagují na přítomnost magnetu v blízkosti kontaktu. Stav „normal closed“, nebo „normal open“ udržují, když je magnet umístěn v těsné blízkosti a působí na kontakt. Ke změně tohoto stavu dochází při oddálení magnetu od kontaktu. Vzdálenost oddálení, které se detekuje, závisí na konkrétním modelu kontaktu, zpravidla bývá ale v řádech desítek milimetrů. Tyto senzory můžeme často nalézt u dveří a oken (obvykle bývá kontakt umístěn na rámu dveří nebo oken a magnet přímo na dveřích, respektive na okně), kde detekují jejich otevření. 2.2.2. Pasivní infračervené senzory Pasivní infračervené (PIR) senzory jsou užívány jako detektory pohybu na základě změny infračerveného záření ve sledované oblasti. V momentě, kdy vetřelec vkročí do oblasti sledované senzorem, dojde ke změně detekovaného infračerveného záření a na tuto změnu senzor reaguje ohlášením narušení. PIR senzory samy nevysílají žádné vlny či záření, proto jsou nazývány pasivními. PIR senzory jsou jedny z nejpoužívanějších senzorů v domácnostech a kancelářích, zejména díky své nízké ceně a vysoké spolehlivosti. Existují různé PIR senzory – některé mohou být upevněny na stěnu, jiné na strop. Liší se také zorným polem – senzor může mít zorný úhel od 15° až do 360°. Tyto senzory potřebují kromě zapojení vývodů pro ohlašování narušení také zdroj energie. Jako zdroj může sloužit buď integrovaná baterie, nebo externí zdroj. Jak již bylo řečeno v sekci 2.2, PIR senzory mívají 7
2. Současné zabezpečovací systémy krom vývodů pro napájení a samotnou signalizaci také vývod tamper, který signalizuje vnější zásah do pouzdra senzoru. Jedna z nevýhod PIR senzorů je citlivost na teplo a světlo. Jedním z velice častých zdrojů falešných poplachů vyvolaných PIR senzory jsou plochy zahřáté slunečním svitem. 2.2.3. Mikrovlnné senzory Dalším detektorem pohybu jsou mikrovlnné senzory. Tyto senzory do prostoru vysílají mikrovlny, které se od objektů v prostoru odrážejí. Odražené vlny pak senzor přijímá a v případě, že dojde k narušení člověkem, dojde také ke změně v přijímaných vlnách. Na tuto změnu senzor reaguje sepnutím či rozpojením výstupu. Mikrovlnné senzory jsou náchylné na jakýkoliv pohyb ve sledované oblasti. Toto s sebou nese riziko falešného poplachu při detekci nechtěného pohybu (např. stromy a listí, zvířata venku). 2.2.4. Duální pohybové senzory Poslední dva zmiňované typy senzorů s sebou nesou riziko falešného poplachu. Toto řeší duální pohybové senzory, které kombinují technologie pasivních infračervených a mikrovlnných senzorů. Spolu s PIR senzorem je v jednom pouzdře umístěn také mikrovlnný senzor. Narušení je pak signalizováno pouze v případě, že jej detekují oba senzory.
8
2. Současné zabezpečovací systémy 2.2.5. Senzory tříštění skla Senzory tříštění skla detekují rozbití skla. Bývají používány ve výlohách, ale i v domácnosti. Existují tři typy těchto senzorů: • Akustické senzory detekují zvukové frekvence tříštění skla. Montu•
jí se proto v blízkosti skla. Seismické senzory se osazují přímo na sklo. Tyto senzory reagují na
•
frekvence otřesů, které se vytvářejí při tříštění skla. Foliové senzory – již nepoužívané senzory. Na sklo je nalepena tenká vodivá folie, která se při rozbití skla s vysokou pravděpodobností přetrhne. Tím se přeruší vodivé spojení, které senzor detekuje.
2.2.6. Kouřové senzory Mezi senzory zapojované do zabezpečovacích systémů patří i kouřové senzory a senzory na oxid uhelnatý. Tyto patří mezi senzory, které se nevypínají – nereagují totiž na narušení člověkem, ale na přítomnost kouře či plynů a slouží čistě k ochraně majetku a osob. Kouřové detektory jsou ionizační nebo fotoelektrické. Hlavní komponentou ionizačních kouřových detektorů jsou dvě plochy, mezi kterými je ionizovaný vzduch – ten je vodivý a mezi plochami teče proud. V momentě, kdy se kouř dostane mezi zmíněné plochy, dojde k přerušení toku iontů a tím k přerušení proudu. Toto spustí signalizaci přítomnosti kouře. Ionizační detektory tak velmi dobře detekují malé množství kouře u požárů, které se velmi rychle rozšíří. Fotoelektrické kouřové detektory se skládají ze zdroje světla a z čidla citlivého na světlo, které je umístěno v 90° úhlu ke zdroji světla. V momentě, kdy se kouř dostane do detektoru, jsou paprsky světla ze 9
2. Současné zabezpečovací systémy zmiňovaného zdroje rozptýleny a dopadnou na čidlo. To pak signalizuje přítomnost kouře a posléze požáru. Tyto detektory reagují rychleji na požár ve stavu doutnání. Existují duální kouřové senzory, které využívají obou technologií podobně jako duální pohybové senzory. Tyto senzory využívají výhod obou způsobů detekce kouře. 2.2.7. Senzory v existujících řešeních Níže v Tab. 2.2 jsou uvedeny použité senzory, jejich způsoby připojení k ústředně a jejich způsoby napájení. Z tabulky je patrné, že pohybové PIR detektory a magnetické dveřní senzory jsou standardem, zatímco kouřové detektory a různé optické závory jsou dodávány méně často.
10
2. Současné zabezpečovací systémy Produkt
Použité senzory
Způsob komunikace s ústřednou
Způsob napájení
JABLOTRON 80
PIR, magnetický Bezdrátové i drátové[4] Baterie[4] senzor, senzor tříštění skla, optická závora[4]
JABLOTRON 100
PIR, magnetický, kouřový, teplotní senzor, optické a infračervené závory, záplavový senzor, detektor plynu[5]
Bezdrátové i drátové[5] Baterie[5]
Azor
PIR, magnetický senzor[6]
Bezdrátové[6]
Baterie[6]
Asset
Různé1[7]
Drátové[7]
Informace není k dispozici1[ 7]
Alarmex
PIR, magnetický senzor[8]
Bezdrátové i drátové[8] Baterie, externí[8]
Sonix
PIR, magnetický senzor[9]
Bezdrátové i drátové[9] Baterie, externí[9]
SE200
PIR, magnetický senzor[10]
Bezdrátové i drátové[10]
Baterie, externí[10]
EPIR3
PIR detektor[11]
Čidlo v pouzdře ústředny[11]
Baterie, externí[11]
iGET SECURITY M2B
PIR, magnetický senzor[12]
Bezdrátové i drátové[12]
Baterie, externí[12]
Tab. 2.2: Použité senzory, jejich způsob zapojení a napájení vybraných produktů 1.
Firma Fides, s.r.o. neposkytuje na svých webových stránkách výpis konkrétních podporovaných detektorů 11
2. Současné zabezpečovací systémy
2.3. Ohlašovací zařízení Systém pomocí ohlašovacích zařízení reaguje na podněty od senzorů. Ohlášení slouží jednak jako odstrašující prostředek, jednak se snaží spustit následnou reakci na narušení – může upozornit majitele nebo osoby pohybující se v okolí. Ti pak mohou zareagovat např. kontaktováním policie nebo majitele. Základní způsob ohlašování je pomocí zvuku. Využívá se k tomu zvonků, sirén, reproduktorů aj. Přes tyto je vydáván hlasitý zvuk v bezprostředním okolí objektu. Další, sofistikovanější, způsoby jsou ohlášení oznamovací SMS zprávou, telefonním hovorem, zpřístupnění ohlášení přes webový server a nebo kontaktování bezpečnostní služby. Poslední zmíněný způsob je nabízen zejména bezpečnostními společnostmi, které kromě zabezpečovacího zařízení nabízejí i doplňkové služby k nim. Mezi tyto patří zejména monitoring z webového serveru, výjezdy bezpečnostních týmů, kontaktování policie aj. Všechny dosud zmíněné zabezpečovací zařízení podporují jak zvukové hlášení poplachu, tak hlášení prostřednictvím SMS zpráv a voláním[4][5][6][7][8][9][10][11][12].
2.4. Zapojení částí systému Části zabezpečovacího systému jsou zapojeny buď drátově, nebo bezdrátově, případně umožňuje systém využít oba způsoby. V případě bezdrátového zapojení musí mít jednotlivé části systému lokální napájení – ať již vlastním síťovým adaptérem, nebo baterií, u drátového zapojení je pak možno využít centrálního napájení z ústředny. Přehled možných způsobů zapojení součástí zařízení je uveden v Tab. 2.2 v sekci 2.2.7. 12
3. Použité technologie
3. Použité technologie 3.1. Arduino platforma Arduino je open-source platforma založená na open-source plošných spojích osazených mikrokontroléry ATMega od firmy Atmel a na vývojovém prostředí Arduino IDE. Platforma vznikla z původního projektu založeného v roce 2005 Massimem Banzim a Davidem Cuartiellessem, jehož cílem bylo vytvořit jednoduchou prototypovací platformu. Desky Arduino mívají další podpůrné obvody, mezi které patří ICSP (In Circuit Serial Programming) konektory, obvody pro komunikaci přes USB rozhraní, napájecí konektor s napěťovým regulátorem, a zpřístupňují většinu I/O pinů mikrokontroléru pomocí precizních patic, do kterých se připojují další, rozšiřující desky, kterým se říká Shieldy. Shieldy jsou hotové plošné spoje, které rozšiřují základní desku o různé funkce. Mezi tyto patří např. GSM, Ethernet a Wi-Fi konektivita. Tyto desky a Shieldy, jak již bylo řečeno, jsou open-source hardware a veškeré nákresy a návrhy potřebné k výrobě plošného spoje lze nalézt na příslušných stránkách. Mimo to je lze zakoupit již vyrobené a osazené.
13
3. Použité technologie
3.2. Arduino IDE Arduino IDE je multiplatformní aplikace napsaná v Javě a vychází z grafického prostředí Processing. Její součástí je jednoduchý textový editor podporující zvýraznění syntaxe a automatické odsazování. Dále umožňuje aplikace napsaný kód zkompilovat a naprogramovat jakoukoliv desku Arduino. Ke zmíněné kompilaci používá nástroje GNU Toolchain a AVR libc, k naprogramování desky pak nástroj avrdude[13][14].
3.3. Programovací jazyk Arduina Arduino desky se programují v jazycích C nebo C++. Pro další zjednodušení programování využívá Arduino IDE knihoven Wiring ze stejnojmenného projektu, ze kterého projekt Arduino vychází. Tato knihovna zjednodušuje mnoho operací s mikrokontrolérem a uživatelé Arduina tak potřebují naprogramovat jen dvě funkce: setup() a loop(). Funkce setup() se spouští vždy jen jednou po spuštění desky. Bývají v ní inicializace nastavení desky a různých periferií a obecně kód, který je spouštěn pouze jednou po startu desky. Funkce loop() je naopak po zavolání funkce setup() volána opakovaně, dokud není deska vypnuta. V této funkci bývá hlavní logika celého zařízení. Soubory se zdrojovými kódy Arduina jsou tzv. „nákresy“ (z anglického názvu „sketch“)[15].
14
3. Použité technologie
3.4. Příkazová sada Hayes Příkazová sada Hayes je sada příkazů používaná ke komunikaci s modemy a bezdrátovými moduly přes sériové rozhraní. Tato sada je založena na původní sadě vytvořené pro model Smartmodem od firmy Hayes v roce 1981. Příkazy z této sady typicky začínají řetězcem „AT“, který pochází z anglického slova „attention“. V souvislosti s GSM moduly se tyto příkazy využívají pro veškerou komunikaci mezi mikrokontrolérem a samotným modulem včetně iniciálního měření baudratu a navázání sériového spojení.
4. Realizace 4.1. Požadavky 4.1.1. Iniciální požadavky Ze zadání práce vyplývají následující požadavky pro zabezpečovací systém: •
Zařízení musí podporovat připojení PIR a magnetických nebo kontaktních čidel
•
Zařízení musí mít k dispozici zdroj zvuku pro hlášení zvukového
• •
poplachu Zařízení musí umět posílat, přijímat a zpracovávat SMS zprávy Zařízení musí mít k dispozici záložní napájení pro případ výpadku hlavního zdroje napájení
15
4. Realizace Dále musí být možno zařízení ovládat prostřednictvím SMS zpráv a musí být vytvořena aplikace na OS android, která bude prostřednictvím SMS zpráv komunikovat se zařízením. 4.1.2. Dodatečné požadavky V průběhu řešení práce byl v rámci feedbacku přidán dodatečný požadavek na možnosti zamezení falešných poplachů u PIR čidel.
4.2. Návrh řešení 4.2.1. Hardwarová část Na základě požadavků byl pro zařízení vytvořen use case diagram znázorňující funkcionality, které by měl daný uživatel moct využít.
16
4. Realizace
Obr. 4.1: Use case diagram zabezpečovacího systému
Z diagramu na obrázku 4.1 vyplývá, že hardwarové řešení bude krom výpočetní jednotky vyžadovat přítomnost GSM modulu, který umožní vzdálené ovládání a monitoring prostřednictvím SMS zpráv. Dále musí mít rozhraní pro připojení senzorů a zvukový výstup. Zařízení také musí mít možnost uživatelského vstupu pro zakódování a odkódování systému a paměť, do které si bude moct ukládat PIN kód a telefonní čísla. Toto je zobrazeno na obrázku 4.2.
17
4. Realizace
Obr. 4.2: Blokový diagram návrhu
4.2.2. Aplikace pro OS Android Je nutné vytvořit aplikaci pro OS Android umožňující vzdálenou správu a monitoring pomocí zařízení se zmíněným operačním systémem. Use case pro tuto aplikaci je uveden na obrázku 4.3. Vzhledem k tomu, že zabezpečovací zařízení již musí umět komunikovat s mobilním telefonem prostřednictvím SMS zpráv, byly zvoleny SMS zprávy jako způsob komunikace mezi aplikací pro OS Android a samotným zařízením. SMS zprávy byly vybrány také kvůli cenové náročnosti mobilních datových tarifů. Přístup pomocí webového rozhraní vyžaduje jednak 18
4. Realizace ethernetový modul, jednak stálé internetové připojení jak hlavního modulu, tak uživatele. Mobilní připojení k internetu k 5. listopadu 2014 od operátora Vodafone stojí 178,48 Kč/měsíc [16], 50,00 Kč/týden u operátora O2 [17], 149 Kč/měsíc u operátora T-Mobile [18]. Všechny tyto částky převyšují částku potřebnou k odeslání dvou SMS zpráv denně.[16][17] [18] Přístup pomocí rozhraní Bluetooth není použit kvůli jeho omezenému dosahu. Dosah desítky metrů neumožňuje ovládat zařízení například z domova, naopak je jednodušší k zařízení přijít a spravovat ho pomocí klávesnice.
19
4. Realizace
Obr. 4.3: Use case pro aplikaci pro OS Android
4.3. Hardwarová implementace V hardwarové implementaci se používá deska Arduino Mega 2560 jako hlavní výpočetní jednotka a GSM Shield od vývojářů Arduina nasazený přímo na desku jako GSM modul. Na tomto celku je pak osazena deska s řešením spojů pro hlavní a záložní napájení zařízení, rozhraní pro čidla, klávesnici, displej a další periferie. 20
4. Realizace V ústředně je pak umístěna deska Mega spolu s GSM Shieldem a deskou spojů. Deska spojů poskytuje výstupní piny pro zapojení LCD displeje a klávesnice pomocí datových kabelů. Dále je osazena svorkovnicemi pro zapojení senzorů a jsou na ní umístěny i další součástky. Komunikace mezi ústřednou a senzory probíhá drátově a senzory jsou napájeny z ústředny, kde je k dispozici svorkovnice s 12 V a 750 mA. 4.3.1. Arduino Mega 2560 Deska Arduino Mega 2560 (dále jen „deska Mega“) slouží jako výpočetní jednotka celého systému. Platforma Arduino byla vybrána kvůli kompatibilitě s mnohými periferiemi, mezi které patří i GSM Shield. Deska Mega pak byla vybrána pro svůj vysoký počet digitálních I/O pinů potřebných pro komunikaci s mnoha periferiemi (senzory, LCD displej a klávesnice, siréna aj.) a vyšší frekvenci mikrokontroléru[19]. Velké množství I/O pinů umístěné mimo přesné patice využívané různými Shieldy pak umožňuje rozšíření systému o funkcionalitu dalších Shieldů. Deska má následující parametry: •
Mikrokontrolér ATmega2560
•
Operační napětí 5 V
•
Absolutní limity vstupního napětí 6 až 20 V
•
Doporučený rozsah vstupního napětí 7 až 12 V
•
54 digitálních I/O pinů
•
16 analogových vstupních pinů
•
8 KB SRAM
•
Operační frekvence 16 MHz
•
4 KB EEPROM[20] 21
4. Realizace 4.3.2. GSM Shield Jak bylo řečeno v sekci 4.3.1, kombinace platformy Arduino a GSM Shieldu byla vybrána kvůli kompatibilitě Shieldů a desek Arduino. Pro nasazení GSM Shieldu na desku Mega je však nutno udělat následující modifikace na Shieldu: •
Vývod pinu 2 je nutno ohnout tak, aby nebyla nasazena na desku Mega
•
Piny 2 a 10 je nutno propojit.
Důvodem je fakt, že deska Mega nepodporuje na rozdíl od většiny jiných desek přerušení na pinu 2. Knihovna GSM tak využívá pin 10 pro komunikaci s GSM Shieldem, zatímco Shield očekává sériovou komunikaci na pinu 2, a proto je nutno tyto dva piny přepojit[ 21]. Níže jsou uvedeny parametry GSM Shieldu: •
GSM modul M10 od firmy Quectel
•
Operační napětí 5 V
•
Podpora
GSM850MHz,
GSM900MHz,
DCS1800Mhz
a
PCS1900MHz •
Podpora TCP/UDP a HTTP protokolů přes GPRS připojení
•
Maximální přenosová rychlost přes GPRS 85,6 kb/s[22]
Na obrázku 4.4 je pak uvedeno schéma zapojení Shieldu a desky, ze kterého je patrné propojení pinů 2 a 10. Shield je napájen z 5 V pinu desky Mega.
22
4. Realizace
Obr. 4.4: Schéma zapojení GSM Shieldu a desky Mega
4.3.3. Deska s osazenými součástkami Na celek tvoření deskou Mega a GSM Shieldu se nasazuje deska s dalšími součástkami. Na desce jsou osazeny součástky a spoje pro napájecí a nabíjecí obvod dle schématu na obrázku 1 a 2 v příloze. Dále jsou na ní osazeny spoje a konektory určené k zapojení LCD displeje a klávesnice. K zapojení senzorů a piezosirény jsou určeny svorkovnice s příslušnými spoji. Celá deska je vytvořena na základě univerzálního plošného spoje, který poskytuje možnost změnit zapojení v případě změn požadavků na zařízení, je však možné vytvořit plošný spoj navržený na míru. 23
4. Realizace 4.3.4. Senzory Ze zadání vyplývá požadavek na podporu PIR a magnetických nebo kontaktních čidel. Tyto jsou připojeny k ústředně drátově. Drátové připojení s sebou nese výhodu jednoduchosti komunikace mezi senzorem a ústřednou – není potřeba zapojovat bezdrátové moduly a řešit komunikaci mezi nimi a ústřednou, také není potřeba řešit externí napájení pro senzory. PIR senzory Pro systém byl vybrán model pasivního infračerveného detektoru LH-930A, který má následující parametry: •
Operační napětí 9 až 16 V
•
Detekovaná vzdálenost 12 m ve wide-angle módu, 20 m v curtain módu
•
Zorný úhel 90° ve wide-angle módu, 15° v curtain módu
•
Operační teploty -10° C ~ +50° C
•
Nastavitelnost NC (Normal closed) a NO (Normal open) výstupů
•
Vývody pro „Tamper“ signál[23]
K zamezení falešným poplachům detektorů popisovaných v sekci 2.2.2 jsou použity dva detektory naproti sobě. Párovým vyhodnocováním těchto senzorů lze pak dosáhnout snížení četnosti falešných poplachů.
24
4. Realizace Magnetické čidlo V systému je použit kontakt P1-1A15 od firmy COSMO ELECTRONICS CORPORATION a s ním magnet P010. Čidlo má následující parametry: • Rozpínací (NC) čidlo • Hranice detekce magnetu ~5 mm •
Operační teploty -5° C ~ +70° C[24]
Toto čidlo lze využít k detekci otevření dveří či oken v hlídaném objektu. Další čidla Hardwarové řešení umožňuje zapojení jakéhokoliv senzoru bez napájení. Mimo to má k dispozici svorkovnice s napětím 12 V, které lze využít k napájení dalších periferií a detektorů. Celkem je k dispozici pět párů svorkovnic, do kterých lze zapojit celkem až pět detektorů. 4.3.5. Další periferie Klávesnice Jako vstupní periferii pro zabezpečovací systém byla vybrána pro jednoduchou obsluhu maticová klávesnice MCAK304NBWB s klávesami pro čísla 1 až 9 a znaky „#“ a „*“. Tato klávesnice nevyžaduje žádné další podpůrné obvody, jelikož signalizuje stisk klávesy spínáním spojů mezi řádky a sloupci klávesnice. Klávesnice má 7 pinů: 3 pro sloupce a 4 pro řádky. Detekci stisku kláves pak mikrokontrolér provádí postupnou aplikací proudu na piny řádků a čtením logické hodnoty na pinech sloupců. Při stisku klávesy dojde k sepnutí spínače řádku a sloupce klávesy a 25
4. Realizace mikrokontrolér tak může detekovat logickou hodnotu 1. Na obrázku 4.5 je uvedeno schéma zapojení pinů klávesnice a pinů desky Mega.
Obr. 4.5: Schéma zapojení pinů klávesnice a Arduina Mega
Displej Jako výstupní zařízení pro uživatele byl vybrán znakový LCD displej PC1602ARU od firmy Powertip. Lze ale použít jakýkoliv jiný dvouřádkový 16 znakový displej, který používá kontrolér Hitachi HD44780, a který používá záporné napětí na Vo pinu k nastavení kontrastu displeje. Znakový displej má k dispozici již připravenou sadu znaků, lze však využít i vlastní definice znaků. Ke snížení počtu využívaných pinů na desce Mega komunikuje deska s displejem pouze prostřednictvím 4 bitového rozhraní (tj. využíva26
4. Realizace jí se pouze piny D4 až D7 pro přenos dat). Napájení displeje je řešeno pomocí DC-DC měniče DCW05A-05. Ten mění vstupní napětí 9 až 18 V na výstupní napětí 5 V, a -5 V a výstupní proud 500 mA. Záporné napětí se zde používá k nastavení kontrastu displeje. Na obrázku 4.6 je uvedeno schéma zapojení pinů displeje a pinů desky Mega. Stejně tak je znázorněné zapojení výstupních napětí DC-DC měniče.
27
4. Realizace
Obr. 4.6: Schéma zapojení LCD displeje a desky Mega
Zvukový výstup Jako zařízení sloužící k hlášení zvukového poplachu byla vybrána piezosiréna PS-580Q od firmy Mallory s následujícími parametry: 28
4. Realizace •
Vstupní napětí 5 ~ 12 V
•
Hladina akustického tlaku 100 dB ze vzdálenosti 100 cm[25]
Tamper switch Na zařízení je osazen tzv. „tamper switch“ – přepínač, který je schopen indikovat zásah do pouzdra systému. Tamper switch funguje tak, že je stlačen, když je pouzdro uzavřené. Při otevření pouzdra dojde k uvolnění switche. Na toto je pak zařízení schopno reagovat. Cílem switche je schopnost reagovat na přímý zásah do systému. 4.3.6. Napájení Požadavky Vstupní napětí systému je zvoleno tak, aby bylo dostatečné pro všechny dílčí části systému. Níže v Tab. 4.1 je přehled dílčích zařízení, která potřebují externí napájení a jejich vyžadované napětí.
Zařízení
Vyžadované napětí [V]
Arduino Mega
7 ~ 12[20]
Arduino GSM Shield
5[22]
LH-930A
9 ~ 16[23]
PC1602ARU
5 V, -5 V pro nastavení kontrastu displeje[26]
Tab. 4.1 Přehled zařízení a jejich požadavků na napájecí napětí
29
4. Realizace Arduino GSM Shield sice vyžaduje napětí 5 V, je však napájen z desky Mega přes 5 V pin. Také vyžaduje dostatečně velký proud, jelikož je schopen při zátěži odebírat až 1000 mA. Toto je řešeno tantalovým kondenzátorem přímo na Shieldu, a proto nemusíme zajišťovat zmíněný proud. Dále je nutno zajistit náhradní napájení v případě, že není k dispozici hlavní napájení tak, aby nedošlo k žádnému výpadku (tj. nedošlo k restartu součástek). Realizace Jako hlavní napájecí zdroj byl na základě Tab. 4.1 zvolen síťový adaptér s výstupem 12 V a 2 A. Tento výstup lze využít jak pro desku Mega, tak pro PIR senzor LH-930A. Pro PC1602ARU je použit DC-DC měnič DCW05A-05 od firmy Meanwell s těmito parametry: •
Vstupní napětí 9 ~ 16 V
•
Výstupní napětí +5 V a -5 V
•
Výstupní proud 500 mA[27]
Tyto výstupní hodnoty jsou dostatečné jak pro napájení LCD displeje, tak pro nastavení kontrastu displeje za použití odporů. Pro záložní napájení byly použity tři články Li-Ion akumulátoru PL 503040 od firmy NEXcell zapojené v sérii. Parametry akumulátoru jsou následující: •
Výstupní napětí 3,7 V
•
Kapacita 600 mAh[28]
Pro tyto články se používá nabíjecí obvod, jehož základem je nabíjecí ovladač LTC4009 od firmy Linear Technology. Výstup napětí ze síťového adaptéru a výstup z baterie se pak automaticky přepínají pomocí 30
4. Realizace Shottkyho diod dle schématu uvedeného v příloze. Tyto diody mají dostatečnou rychlost zavírání a otevírání – mohou tak zaručit, že nedojde k restartování modulů.
4.4. Firmware zařízení Firmware zařízení byl vytvořen ve vývojovém prostředí Arduino IDE a skládá se z instalačního projektu a runtime projektu. Instalační projekt inicializuje EEPROM paměť Arduina Mega defaultními hodnotami. Runtime projekt představuje samotný firmware, který obsluhuje signály ze senzorů a komunikuje s periferiemi. Vývoj firmware probíhal ve vývojovém prostředí Arduino IDE verze 1.5.8 BETA v programovacím jazyce Arduino. Firmware zařízení pro práci s různými periferiemi využívá následující knihovny: LiquidCrystal pro práci s LCD displejem, EEPROM pro zapisování a čtení z paměti a Keypad pro komunikaci s maticovou klávesnicí. První dvě zmíněné knihovny jsou dostupné v základní instalaci vývojového prostředí Arduino IDE, knihovnu Keypad lze stáhnout z Arduino Playground[29]. Zařízení po nahrání runtime projektu a nastartování inicializuje LCD displej, GSM Shield, maticovou klávesnici a senzory a načte uložená data z paměti EEPROM. Průběh celé inicializace je možné sledovat přes sériové rozhraní pomocí Arduino IDE. Po skončení této inicializace pak zařízení přechází do stavu pravidelného kontrolování senzorů a uživatelských vstupů pomocí maticové klávesnice a SMS zpráv, na základě kterých pak zařízení reaguje vypisováním příslušných řetězců na LCD displej či ohlašováním poplachu.
31
4. Realizace
4.5. Aplikace pro OS Android Aplikace pro OS Android je implementována tak, aby byla kompatibilní s většinou zařízení dostupných v době vývoje aplikace. Cílová zařízení jsou ta s programovým rozhraním API level 19, podporovány jsou však i zařízení s API level 8. Aplikace vyžaduje povolení k zasílání SMS zpráv. Aplikace umožňuje vzdáleně zakódovat a odkódovat systém, vypnout poplach a dotázat se na stav systému. Níže na Obr. 5.1 je diagram tříd aplikace.
Obr. 5.1: Diagram tříd backendu aplikace pro OS Android
5. Sestavení a zprovoznění zařízení 5.1. Použité komponenty Krom desky Mega, Shieldu, detektorů a dalších periferií zmíněných
32
5. Sestavení a zprovoznění zařízení v sekci 4.3 bylo nutné použít i množství rezistorů, kondenzátoru, diod a cívek. Seznam použitých modulů, periferií a dalších součástek je uveden v příloze A.2.
5.2. Zapojení komponent Konečné zařízení se skládá krom detektorů ze tří hlavních částí: deska Arduino Mega 2560, Arduino GSM Shield a deska osazená součástkami. Ke složení zařízení je nutno provést následující úkony: • Vývod pinu 2 na GSM Shieldu ohneme směrem ven od středu Shieldu tak, aby po nasazení Shieldu na desku Mega pin 2 nebyl • • •
zapojen Nasadíme Shield na desku Mega Desku s osazenými součástkami nasadíme na GSM Shield Napájecí kabel z vrchní desky zapojíme do napájecího konektoru na desce Mega Výše zmíněnými kroky jsou složeny hlavní části ústředny. Zbývá
již jen zapojit LCD displej do dvouřadých kolíků označených „LCD“ a maticovou klávesnici do kolíků označených „KEY“ pomocí datových kabelů. Konkrétní návod k použití zařízení je uveden v příloze.
5.3. Zprovoznění zařízení Ke zprovoznění zařízení je nutno nejdříve prostřednictvím Arduino IDE naprogramovat desku Mega instalačním projektem. Tento projekt inicializuje EEPROM paměť desky iniciálními hodnotami. Poté je nutno nahrát runtime projekt, který představuje vlastní firmware zabezpečovacího zařízení. Zařízení je zapnuto ihned po nahrání nebo zapojením napájecího kabelu do konektoru umístěného na univerzální zkušební desce. 33
6. Závěr
6. Závěr Výsledkem této bakalářské práce je realizace plně funkčního zabezpečovacího zařízení na platformě Arduino reagujícího na podněty z PIR, magnetických a kontaktních senzorů. Na tyto podněty je zařízení schopno upozorňovat prostřednictvím SMS zpráv. Navíc je možné zařízení spravovat a monitorovat jednak pomocí SMS zpráv, jednak použitím vytvořené aplikace pro OS Android. Pro případ výpadku hlavního napájení je možno do zařízení zapojit záložní akumulátor. Uplatnění vytvořeného zařízení vidím v zabezpečení menších vzdálených objektů vzhledem k nižšímu počtu detektorů, které lze k zařízení připojit. V závislosti na jejich umístění však lze zařízení použít i pro zabezpečení bytů, domů, nebo jiných objektů. Díky využití platformy Arduino je možno zařízení velmi jednoduše rozšiřovat o další funkcionality připojením přídavných modulů. Možný prostor pro rozvoj zařízení vidím především ve zvýšení počtu podporovaných detektorů, v přidání dalších možností vzdálené správy a monitoringu a v propojení se systémem automatizace zařízení v domě.
34
Seznam literatury [1]
O ASOCIACI. Asociace Grémium Alarm. [online] 2014 [cit. 2014-12-09]. Dostupné z: http://www.gremiumalarm.cz/o-asociaci
[2]
Domovní alarmy. Heureka [online]. 2014 [cit. 2014-12-09]. Dostupné z: http://domovni-alarmy.heureka.cz/
[3]
Seznam členů. Asociace Grémium Alarm [online]. 2014 [cit. 2015-01-02]. Dostupné z: http://www.gremiumalarm.cz/seznam-clenu
[4]
Jablotron 80. Jablotron [online]. 2014 [cit. 2014-11-15]. Dostupné z: http://www.jablotron.com/cz/katalog-produktu/alarmy/ oasis/
[5]
JA-100 bezdrát. Jablotron [online]. 2014 [cit. 2014-11-15]. Dostupné z: http://www.jablotron.com/cz/katalog-produktu/alarmy/ ja-100-bezdrat/
[6]
AZK START. Jablotron [online]. 2014 [cit. 2014-11-15]. Dostupné z: http://www.jablotron.com/cz/katalog-produktu/alarmy/ azor/prednastavene-sady/azk-start.aspx
[7]
PŘÍPOJITELNÁ ZAŘÍZENÍ. FIDES [online]. 2014 [cit. 2014-11-15]. Dostupné z: https://www.fides.cz/technologicke-prostredk y/asset-pripojitelna-zarizeni.html
[8]
Evolveo Alarmex. Evolveo [online]. 2014 [cit. 2014-11-15]. Dostupné z: http://www.evolveo.eu/cz/alarmex
[9]
Evolveo Sonix. Evolveo [online]. 2014 [cit. z: http://www.evolveo.eu/cz/sonix
[10]
GSM alarm SE200 s LCD displejem. Selax Electronics, s.r.o. [online]. 2014 [cit. 2014-11-15]. Dostupné z: http://www.selax.cz/selax/eshop/10-1-Levne-GSM-alarm y/0/5/69-GSM-alarm-SE200-s-LCD-displejem-velmi-kvalit ni-alarm-za-dobrou-cenu-cerny
[11]
Standalone
GSM
alarm
system
2014-11-15].
EPIR3. eldes [online].
Dostupné
2014
[cit. 35
2014-11-15]. Dostupné z: http://www.eldes.lt/products-andservices/gsm-remote-control-and-alarmsystems/Standalone-GSM-alarm-system-EPIR3/ [12]
IGET SECURITY M2B. iGet [online]. 2014 [cit. 2014-11-15]. Dostupné z: http://www.iget.eu/cs/security-m2b
[13]
Introduction. Arduino [online]. 2014 [cit. 2014-10-19]. z: http://www.arduino.cc/en/Guide/Introduction
[14]
Download the Arduino Software. Arduino [online]. 2014 [cit. 2014-10-19]. Dostupné z: http://arduino.cc/en/Main/Software
[15]
MONK, Simon. Programming Arduino: Getting Started with Sketches. 1. vydání. New York: McGraw-Hill, 2011. ISBN 978-007-1784-221
[16]
Vodafone. Přehled tarifů a služeb. [online]. Verze: 1. listopadu 2013, 17:20 UTC [cit. 2013-11-05]. Dostupné z: http://www.vodafone.cz/_sys_/FileStorage/download/1/ 174/cenik.pdf
[17]
O2 Telefónica. Ceník služeb [online]. Verze: 1. listopadu 2013, 17:33 UTC [cit. 2013-11-05]. Dostupné z: http://www.o2.cz/_pub/51/b5/15/17773_851556_Cenik_Pr epaid_01112013.pdf
[18]
T-Mobile. CENÍK TARIFŮ A SLUŽEB PRO TARIFNÍ A TWIST ZÁKAZNÍKY T-MOBILE [online]. Verze: 1. listopadu 2013, 17:48 UTC [cit. 2013-11-05]. Dostupné z: https://www.t-mobile.cz/dcpublic /Cenik_sluzeb_T-Mobile.pdf
[19]
Compare board specs. Arduino [online]. 2014 [cit. 2014-10-19]. Dostupné z: http://arduino.cc/en/Products.Compare
[20]
Arduino Mega. Arduino [online]. 2014 [cit. 2014-12-04]. Dostupné z: http://arduino.cc/en/Main/arduinoBoardMega
[21]
How to use the Arduino GSM Shield with Arduino Leonardo, Arduino Yun, and Arduino Mega. Arduino [online]. 2014 [cit. 2014-12-04]. Dostupné z: http://arduino.cc/en/Guide/GSMShieldLeonardo Mega
[22]
Arduino GSM Shield. Arduino [online]. 2014 [cit. 2014-12-04]. Dostupné z: http://arduino.cc/en/Guide/ArduinoGSMShield
Dostupné
36
[23]
LH-930A Data Sheet [online] [s.a.]. [cit. 2014-10-09]. Dostupné z: http://www.gme.cz/img/cache/doc/754/008/f-pir-cidlolh-930a-ii-orignavod-1.pdf
[24]
P1-1A15 Data Sheet [online] 2006 [cit. 2014-10-10]. Dostupné z: http://www.cosmo-ic.com/object/products/P1-1A15P010.pdf
[25]
PS-580Q Data Sheet [online] [s.a.] [cit. 2014-10-11]. Dostupné z: http://www.mallory-sonalert.com/specifications/PS580Q.pdf
[26]
PC1602ARU Specifications [online] 2006 [cit. 2014-10-20] z: http://www.farnell.com/datasheets/40247.pdf
[27]
5W DC-DC Regulated Dual Output Converter [online] 2012 [cit. 2014-10-20] Dostupné z: http://www.farnell.com/datasheets/4 0247.pdf
[28]
Product Specification [online]. 2012 [cit. 2014-10-25]. z: http://www.farnell.com/datasheets/40247.pdf
[29]
Keypad Library. Arduino Playground [online]. [cit. 2014-11-29]. Dostupné z: http://playground.arduino.cc/code/Keypad
Dostupné
Dostupné
37
A. Přílohy A.1. Obsah CD Přiložené CD obsahuje kompletní zdrojové kódy zařízení, zdrojové kódy aplikace pro OS Android a schémata zapojení jednotlivých součástek zařízení. Dále obsahuje dokumentaci k některým použitým součástkám. CD má následující strukturu: • /Docs – Dokumentace použitých součástek • /Firmware – Zdrojové kódy firmwaru zabezpečovacího zařízení • /Android_src – Zdrojové kódy aplikace pro OS Android • /Schemas – Schémata zapojení, use case diagramy, diagramy tříd
A.2. Použité součástky Níže je v tabulkách seznam použitých součástek při hardwarové realizaci zařízení. V tabulce 6.1 je uveden seznam použitých modulů, periferií a baterií, v tabulce 6.2 a 6.3 je pak uveden seznam rezistorů a kondenzátorů použitých v hardwarové realizaci. Tabulka 6.4 nakonec uvádí seznam zbylých součástek.
38
Součástka
Počet ks
Arduino Mega 2560
1
Arduino GSM Shield
1
PIR detektor LH-930A
2
Magnetický kontakt MK04-1A66B-500W
1
Magnet M04
1
Maticová klávesnice MCAK304NBWB
1
LCD displej PC1602ARU
1
Piezosiréna PS-580Q
1
DC-DC měnič DCW05A-05
1
Nabíjecí kontrolér LTC4009
1
3,6 V 600 mAh Li-Ion akumulátor
3
Síťový adaptér 12 V/750 mA
1
Tab. 6.1: Seznam použitých modulů a periferií
39
Odpor
Počet ks
50 mΩ
2
2,43 kΩ
1
3 kΩ
1
3,01 kΩ
2
5,1 kΩ
1
6,04 kΩ
1
10 kΩ
6
22,1 kΩ
1
26,7 kΩ
1
31,2 kΩ
1
53,6 kΩ
1
294 kΩ
1
Tab. 6.2: Seznam použitých rezistorů
Kapacita
Počet ks
10 pF
4
0,1 μF
2
2 μF
1
10 μF
1
4,7 nF
1
Tab. 6.3: Seznam použitých kondenzátorů
40
Součástka
Počet ks
MBR230LSFT1
2
CMDSH-3
1
Si4816BDY
1
IHLP-2525CZER100M11
1
Červená LED
3
DC konektor
1
Tab. 6.4: Další použité součástky
A.3. Schémata zapojení součástek zařízení Níže jsou uvedena schémata zapojení součástek zařízení. Na obrázku 1 je uvedeno schéma zapojení celého nabíjecího a napájecího obvodu. Využití zmíněného nabíjecího a napájecího obvodu k napájení LCD displeje, desky Mega a senzorů je znázorněno na obrázku 2, na obr. 3 je pak uvedeno kompletní schéma zapojení součástek.
41
Obrázek 1: Schéma nabíjecího obvodu Zdroj: Dokumentace LTC4009
42
Obrázek 2: Schéma zapojení napájení pro zařízení
Obrázek 3: Kompletní schéma zapojení součástek 43
A.4. Popis nákresů firmwaru zařízení
A.4.1. Instalační projekt Instalační projekt se skládá z jednoho jediného nákresu install.ino. install.ino Jediný nákres tohoto projektu je aplikace, která ve funkci setup() zapisuje základní nastavení do paměti EEPROM Arduina Mega. Pro správné fungování systému musí být paměť inicializována, při nahrání runtime projektu bez předchozí inicializace může dojít k načtení předem nedefinovaných dat z paměti a systém nemusí fungovat správně.
A.4.2. Runtime projekt Runtime projekt je rozdělen do následujících nákresů: app.ino, gsm.ino, keypad.ino, lcd.ino, memory.ino, menu.ino a sensor.ino. Krom výše uvedených nákresů jsou dále vytvořeny hlavičkové soubory types.h a pitches.h. app.ino Nákres app.ino je základním nákresem v celém Runtime projektu. Krom pinů pro klávesnici, LCD displej, sirénu a senzory 1 až 5 definuje také hlavní funkce setup() a loop(). Funkce setup() inicializuje periferie zabezpečovacího systému a načítá informace z paměti EEPROM do SRAM paměti. Funkce loop() pak obsahuje vlastní rutiny kontroly senzorů a reakce na podněty jak z nich, tak z dalších vstupních periferií. Dále definuje funkci sound(int soundType), která produkuje na 44
pinu zvukového výstupu zvolenou melodii. Funkce startAlarmSound() pak zajišťuje produkci zvuku pro poplach. Funkce turnAlarmOn() a turnAlarmOff() nastavují poplachový stav zabezpečovacího zařízení. memory.ino Nákres memory.ino spravuje veškerý zápis a čtení z a do paměti EEPROM a
definuje
funkce
loadSettings(),
loadPin(),
loadPhoneNumbers(),
setNewPin(String pin), setPhoneNumber(int index, String phoneNumber), switchPhoneNumber(int index) a dumpEEPROM(). Funkce loadSettings() načítá všechna dostupná data z EEPROM do SRAM paměti, zatímco funkce loadPin() a loadPhoneNumbers() načítají pouze pin kód, respektive uložená telefonní čísla. Funkce setNewPin(String pin) pak ukládá nový pin kód do paměti EEPROM, funkce setPhoneNumber(int index, String phoneNumber) pak ukládá zadané telefonní číslo na daný index v paměti. switchPhoneNumber(int index) povoluje, respektive zakazuje zasílání SMS na dané telefonní číslo. Funkce dumpEEPROM() slouží pouze pro vývoj – vypisuje obsah paměti na sériovou linku. keypad.ino Tento nákres zajišťuje veškeré reakce na stisk kláves na maticové klávesnici. Definuje funkce keypadInit(), která pouze inicializuje event handler klávesnice a vlastní event handler keypadEvent(KeypadEvent key). Poslední zmíněná funkce spouští reakce na veškeré stisky, podržení a uvolnění kláves.
45
sensor.ino Nákres sensor.ino obsahuje rutiny pro inicializaci a kontrolu senzorů. Definuje tři funkce: sensorsInit(), isSensorTriggered() a getTriggeredSensorsString(). Funkce sensorsInit() inicializuje senzory na rozhraní senzorů. V závislosti na stavu senzorových pinů určuje, zda daný senzor považovat za NC či NO senzor. Funkce isSensorTriggered() kontroluje, zda nějaký senzor detekoval narušení, a dle toho vrací hodnotu true, nebo false. Jedním z problémů týkající se poplašných systémů a senzorů jsou falešné poplachy. Tyto jsou řešeny párováním senzorů 4 a 5, tj. poplach není ohlašován v případě, že je zaznamenáno narušení pouze senzorem zapojeným na pin senzoru 4, nebo 5. Poplach je naopak ohlašován, jestliže je zaznamenáno narušení na obou zmiňovaných pinech zároveň. Toto pak zamezuje falešným poplachům způsobeným např. špatnou reakcí PIR čidla kvůli zahřátí plochy v zorném poli čidla slunečním svitem. Funkce getTriggeredSensorsString() sestavuje řetězec skládající se z čísla senzorů, které detekovaly narušení, oddělené čárkou. Tato funkce se využívá např. při sestavování poplašné SMS zprávy. lcd.ino Nákres lcd.ino definuje funkce obsluhující LCD displej. Funkce lcdInit() inicializuje samotný LCD displej, zatímco lcdPrintsFirstLine(), lcdPrintsSecondLine(), lcdPrints() vypisují informace na příslušné pozice displeje. Dále nákres definuje funkce lcdClearFirstLine(), lcdClearSecondLine() a lcdClear(), které odstraňují znaky z prvního řádku, druhého řádku, respektive celého displeje.
46
gsm.ino Tento nákres definuje funkce používané k obsluze GSM Shieldu. gsmInit() inicializuje samotný GSM Shield tím, že po zapnutí odešle tři příkazy „AT“ a připojuje se do sítě. Příkazy „AT“ zaručují, že Shield je schopen přizpůsobit se baud ratu, kterou používá deska Arduino Mega. Funkce SendBreachNotification() pak řeší samotné zasílání poplašných SMS zpráv na uložená telefonní čísla, funkce sendStatusSMS() pak zasílá na uvedené číslo zprávu SMS se stavem zařízení. K příjmu a zpracování přijatých SMS zpráv pak slouží funkce receiveSMS(). Dále nákres definuje pomocné funkce connectToGSM(), která je volána funkcí gsmInit(), a pomocí které se lze připojit do GSM sítě a isValidNumber(), která kontroluje, zda zadané číslo je uložené v paměti desky Mega. menu.ino menu.ino definuje důležité funkce updateMenu() a hideMenu(). updateMenu() mění řetězce zobracené na LCD displeji v závislosti na tom, ve které části menu se uživatel nachází, hideMenu() pak menu zavírá. Krom těchto funkcí definuje také getPhoneNumberOptionsString() – pomocnou funkci k sestavení menu pro telefonní číslo v závislosti na jeho stavu (číslo může být zapnuté, nebo vypnuté). types.h Soubor types.h definuje strukturu pro senzory. Tato struktura obsahuje proměnné pro číslo pinu senzoru, stav senzoru a stav, který mikrokontrolér považuje za signalizaci narušení. pitches.h Soubor pitches.h definuje frekvence mnoha not, z nichž některé se využívají ve firmwaru pro hlášení poplachu a další zvuky. 47
A.5. Popis rozhraní aplikace pro OS Android
A.5.1. MessageInterface Rozhraní MessageInterface definuje funkci sendSms(), která slouží k odesílání SMS zpráv.
A.5.2. StorageInterface Toto rozhraní definuje funkce, které ukládají, čtou a mažou data z paměti. K těmto operacím slouží funkce saveProperty(), readProperty() a deleteProperty().
A.5.3. AlarmSystemService Rozhraní AlarmSystemService představuje rozhraní mezi GUI vrstvou a rozhraními MessageInterface a StorageInterface. Definuje funkce, které již přímo zasílají příkazové či dotazové SMS zprávy na uložené telefonní číslo.
48
A.6. Návod k obsluze zařízení
A.6.1. Základní informace Zabezpečovací zařízení je možno ovládat pomocí maticové klávesnice, prostřednictvím SMS zpráv nebo prostřednictvím aplikace pro OS Android. Zařízení je schopno informovat až 5 telefonních čísel uložených v EEPROM paměti. Po inicializaci zařízení nahráním instalačního projektu je v zařízení nastavený pin kód „1234“, všechna telefonní čísla jsou nastavena na „00000000000000“ a jsou zakázána.
A.6.2. Zapojování senzorů Senzory jsou zapojovány do párů svorkovnic označené oranžovou a modrou barvou. Zařízení podporuje až 5 senzorů, přičemž svorkovnice označené písmenem „P“ jsou párové a vyhodnocují se spolu.
A.6.3. Ovládání prostřednictvím klávesnice Zajištění a odjištění Zařízení lze ovládat prostřednictvím maticové klávesnice. Po spuštění zařízení je na LCD displeji zobrazen stav „Alarm armed“, nebo „Alarm disarmed“ v závislosti na tom, zda je zařízení zajištěno, nebo odjištěno. Zajištění a odjištění se provádí zadáním PIN kódu a stisknutím klávesy „#“. Při pokusu o odjištění zařízení špatným PIN kódem dojde ke spuštění poplachu. Vyhlášený poplach lze vypnout odjištěním systému.
49
Nastavení Pomocí klávesnice lze zařízení nastavovat. V nezajištěném stavu se po zadání PIN kódu a podržení klávesy „#“ zobrazí menu. Pomocí kláves „5“ a „6“ lze přepínat mezi různými možnostmi v menu, klávesa „#“ slouží k potvrzení výběru a klávesa „*“ posune menu o úroveň zpět. Pomocí menu „Change PIN“ lze po zadání současného PIN kódu nastavit nový PIN kód. Nový PIN kód je nutno zadat dvakrát k předejití nechtěného nastavení špatného PIN kódu. V menu „Change phone no.“ lze měnit uložená telefonní čísla a zapínat nebo vypínat notifikaci na tato čísla a ovládání prostřednictvím těchto čísel. Pro editaci telefonního čísla slouží číselné klávesy k zadávání čísla, klávesa „*“ ke smazání čísla a klávesa „#“ k uložení čísla. Čísla je nutno zadávat včetně mezinárodní telefonní předvolby (např. „00420“). Je nutno věnovat pozornost nastavení telefonního čísla, při zadání špatného telefonního čísla může dojít ke zbytečnému zpomalení systému při notifikaci SMS zprávou.
A.6.4. Ovládání prostřednictvím SMS zpráv Zařízení lze spravovat pomocí SMS zpráv z telefonních čísel uložených v paměti zařízení. Příkazy odeslané z čísel, které nejsou uloženy v paměti zařízení, jsou zahozeny. V Tab. 6.5 je uveden seznam SMS příkazů a jejich funkcionalita.
50
Příkaz
Funkcionalita
STOP ALARM
Vypíná poplach, nemění stav zajištění
LOCK SYSTEM
Zajišťuje zařízení
UNLOCK SYSTEM
Odjišťuje zařízení, zároveň vypíná poplach
STATUS
Žádá o zaslání SMS zprávy se stavem zařízení
Tab. 6.5: Seznam SMS příkazů a jejich funkcionalita
A.6.5. Ovládání prostřednictvím aplikace pro OS Android Po spuštění aplikace lze pomocí položek v menu ovládat zabezpečovací zařízení. V Tab. 6.6 je uveden seznam voleb v menu a jejich funkcionalita Volba
Funkcionalita
Get status
Žádá o zaslání SMS zprávy se stavem zařízení
Enable Alarm
Zajišťuje zařízení
Disable Alarm
Odjišťuje zařízení, zároveň vypíná poplach
Clear Alarm
Vypíná poplach, nemění stav zajištění
Tab. 6.6: Seznam položek menu v aplikaci pro OS Android a jejich funkcionalita
51