Biztonságtechnika

 

 

PIC16F84A-val megvalósított riasztó

 

 

 

 

 

 

 

 

 

 

 

 

Tartalomjegyzék

 

 

1. Előszó

2. Szerkezeti felépítés

         2.1 A modulrendszer

         2.2 Miért modulrendszer

3. A főmodul, GSM rendszerek

3.1 Irányítás GSM technológiával

                  3.1.1 Irányítási lehetőségek

                  3.1.2 A GSM készülék kiválasztása

         3.2. GSM kódrendszerek

                  3.2.1 A „text üzemmód”

                  3.2.2 PDU kódolás

                  3.2.3 A 7 bites kódolás

         3.3 Az AT parancsok

         3.4. Az üzenet elküldése

                  3.4.1 Az üzenet kódolása teljes PDU kóddá

         3.5. Az SMS fogadása:

                  3.5.1. A fogadott üzenet kiértékelése

                  3.5.2 Az utasítás megkeresése

         3.6. Az üzenet törlése

         3.7. Identifikáció

                  3.7.1. Telefonszám szerinti identifikáció

4. Beléptető modulok

4.1 Billentyűzet mátrix

                  4.1.1 Alternatívák

                  4.1.2 Kódrendszer kiválasztása

                  4.1.3 Hibalehetőségek

                  4.1.4 Pánik üzemmód

         4.2 Chipkártya olvasó

                  4.2.1 A chipkártya működése

                  4.2.2 Az olvasó hardvere

                  4.2.3 Az olvasó szoftvere

         4.3 RF modul

                  4.3.1 Az adóegység

                  4.3.2 Adóegység programja

                  4.3.3 Az RF vevő

                  4.3.4 Az RF vevő szoftvere

         4.4 Passzív kódos modul

5. Környezeti modulok

         5.1 Rezgésérzékelő modul

                  5.1.1 A rezgésérzékelő felépítése

         5.2. Egyéb érzékelők

6. Tápellátás

7. További lehetőségek

 

 

 

 

 

 

 

 

 

 

 

 

 

1. Előszó

 

Napjainkban igen sok féle riasztó kapható. Mi indokolja mégis egy saját egyedi készülék elkészítését? Erre legjobb választ talán egy „illetékes” adhat, vagyis egy olyan személy, aki ellen a különböző riasztóberendezések készülnek. Íme néhány sor egy autótolvajjal készített riportból:

„Melyik az általad vagy általatok tapasztalt legbénább illetve legrafkósabb egyedi lopásvédelmi eszköz?”

Semmi riasztó, csak villogó LED. A legjobb egyébként a gyári bekötési pontok megvariálása, például a vezérlőelektronika áthelyezése fel tudja adni a leckét. Utólagos beszerelésű dolgoknál, riasztóknál, immobilizereknél az, ha eltérnek a leírásoktól. És minden, ami egyedi.”

Mindezek alapján talán nem is kérdéses miért döntöttem egy saját készülék megtervezése és kivitelezése mellett. Célom egy univerzális eszköz elkészítése, ami több területen is megállja a helyét.

2. Szerkezeti felépítés

 

2.1 A modulrendszer

Manapság igen sok területen divatos az úgynevezett modul vagy panel rendszerű építkezés. Ilyenek például a panel épületek de programozásban is előszeretettel alkalmazzák az objektum orientációt. Természetesen ez az elektronikában is megjelent. Számos berendezés készül ezzel a technológiával. Legszemléletesebb eszköz talán a PC, azaz a személyi számítógép. Ebben is minden fontosabb funkciót külön egység lát el. Ilyenek például a képi megjelenítést végző videókártya, a hanghatásokért felelős hangártya és még sorolhatnánk a különböző területek megfelelő eszközeit.

 

2.2 Miért modulrendszer

A modulrendszer elterjedésének számos oka van. Legfontosabb ezek közül talán az egyszerű felépítésük. Minden egyedi feladatot egy-egy modul lát el és ezt fogja össze egy központi egység. Másik nagy előnye a bővíthetőség. Mivel egy univerzális készülék elkészítése volt a célom így ez nagyban megkönnyítette a dolgomat. Hiszen egész más funkciók ellátására van szükség egy autóriasztóban, mint a lakásba telepített változatnál. Gondoljunk csak bele milyen körülményes lenne egy számbillentyűzet elhelyezése gépjárművünkön. Ugyanakkor milyen bosszantó lenne, ha nem engedne be a saját lakásunk, mert elvesztettük a távirányítót és a pótkulcs ugye benn maradt a lakásban. Szintén nem elhanyagolható szempont a javíthatóság is. Lényegesen olcsóbb egy-egy modul javítása illetve pótlása, mint az egész berendezés cseréje. Miután beláttuk miért is optimális a modul rendszerü építés térjünk is rá az egyes modulok ismertetésére.

 

3. A főmodul, GSM rendszerek


A főmodul képezi az egész berendezés lelkét. Ide érkeznek be a célmodulok jelei, parancsai. Ezen egység hardveres felépítése rendkívül egyszerű, mindössze ki és bemenetei vannak. Nem végez semmiféle környezeti érzékelés, csupán az almodulok jeleit fogadja, értelmezi azokat majd a felhasználó  igényei alapján előre definiált parancsokat hajtja végre az egyes kimenetek akitiválásával illetve deaktiválásával.

 

3.1 Irányítás GSM technológiával

Ennek a modulnak a külső perifériákon kívül van egy különleges saját kommunikációs rendszere. Ez nem más, mint egy GSM rendszerű telefon. Ezen keresztül kaphatunk információt a készülek aktuális müködési állapotáról, parancsokat küldhetünk neki, amit a főmodulban futó program fogad.

 

3.1.1 Irányítási lehetőségek

A parancsküldésre két út is lehetséges, amennyiben nincs más egyéb direkt input modul, például billentyűzet kezelésre, RF id olvasásra chipkártya vagy mágneskártya olvasásra. Az egyik lehetöség egy aktív hívás folyamán DTMF kódsorozat küldése. Ez a megoldás nem túl optimális, mert viszonylag drága és egyátalán nem felhasználó barát tekintve a számos utasítást. Mivel a berendezés nem szakértő emberek számára készül így nem is várhatjuk el tőlük, hogy megtanulják a készülék összes funkciójához tartozó kódsorozatot. Ez egyrészt nehézkes is másrészt előfordulhat, hogy véletlen más utasítást ad ki a felhasználó, mert felcserélt két kódszámot. Ennél sokkal kényelmesebb és biztonságosabb megoldás, ha az ember által használt kommunikációt, az írást használjuk fel. Nem a felhasználót tanítjuk, hanem a gépet, hiszen ez sosem felejt és nem vét véletlen hibákat sem. Így egy sokkal barátibb parancsfelülethez jutunk. Természetesen azért itt sem lehet ész nélkül parancsokat kitalálni, de sokkal könnyebbek a szabályok és az ügyesen megválasztott kifejezések a hozzá nem értők számára is azonnal világosak lesznek. Ez természetesen másfajta kommunikációs felületet igényel, ami nem más, mint az SMS (Short Message Service) azaz rövid szöveges üzenet. Természetesen ehhez a készüléknek egy saját hívószámmal kell rendelkeznie. A hívószám kiválasztása jelen esetben nem lényeges, szabadon választható szolgáltató, mivel semmiféle különleges szolgáltatást nem veszünk igénybe. Egyetlen szempont az anyagi kiadás, a tarifák és az elérhetőség. Célszerű olyan prepaid tarifacsomagot választani, amelynek viszonylag nagy a rendelkezésre állási ideje ugyanakkor alacsony az üzenetküldés díja, hiszen hívásra egyátalán nem, vagy csak speciális esetben használjuk majd a készüléket. Erre a számra küldhet majd a felhasználó bármilyen más számról, természetesen identifikációt alkalmazva, üzenetet, amely tartalmazza az utasításokat. A kommunikáció a főmodul és a GSM  készülék között úgynevezett AT parancsokkal zajlik.

 

3.1.2 A GSM készülék kiválasztása

Napjainkban a piacon több gyártó is képviselteti magát. Ám e széles palettáról mégsem választhatunk szabadon, mivel a választott eszközünknek ismernie kell az AT parancsoket, vagyis úgynevezett szoftvermodemet kell tartalmaznia. Ugyan a kínálat még így is elég széles és csupán pénztárcánk szabhat határt, hogy melyik készülék mellett döntünk. Természetesen számunkra megfelel a legolcsóbb konfiguráció is, hiszen a telefon beépítésre kerül ezáltal felesleges pénzkidobás lenne nagy értékű készülék vásárlása másrészt nem is használnánk ki a többletszolgáltatásokat. Az ár mellett a másik legfontosabb szempont a készülék frekvencia támogatottsága. Ugyan mindhárom hazai szolgáltató viszonylag jól kiépített hálózattal rendelkezik, de bizonyos helyeken csak az egyik frekvenciasáv van jelen. Ha egy túl öreg modellt választunk előállhat olyan eset is, hogy „lefedettség” nélkül maradunk és elveszítjük a GSM technológia által nyújtott többletszolgáltatásokat. Éppen ezért javasolt mindenféleképp kétsávos készülék kiválasztása. El kell döntenünk azt is melyik cég palettájáról szeretnénk vásárolni, mert ugyan legtöbbjüknek van szoftvermodemet tartalmazó készüléke, de egyes típusokhosz szükség vak kiegészítő elemekre is (adatkábel) amik szintén plussz költségeket jelentenek. Választásom a Siemens termékeire esett, mert a manapság már réginek tartott készülékük igen nagy hányada kétsávos, valamint nincs szükség semmiféle külső illesztőegységre, mindössze a szintillesztésről kell gondoskodnunk. Legideálisabb típus a C35i vagy M35i. Ebben megtalálható a számunkra szükséges szoftvermodem és néhány ezer forintért hozzá is juthatunk. Az utóbbi típus még ráadásul csepp, por és ütésálló, ami szintén előnyt jelenthet az elhelyezés során, amennyiben a berendezésünk nem teljesen védett helyre kerül.

 

3.2. GSM kódrendszerek

 

3.2.1 A „text üzemmód”

A GSM technológiában az üzenet szüvegén kívül többféle státuszbeállításra is szükség van. Két féle kódolási eljárás használatos. A felhasználó számára is könnyen értelmezhető kódolás az úgynevezett „text” üzemmód. Itt az üzenet hagyományos ASCII karakterekből áll. Az összes beállítási lehetőség az alapértelmezett értékeket használja, nincs mód azok parancsokkal való megváltoztatására, ezáltal a szolgáltatások száma is erősen korlátozott. Az üzenet is tömörítetlenül tárolódik. Viszonylag kevés készülék ismeri.

 

3.2.2 PDU kódolás

A PDU ezzel szemben tömörített kód és rengeteg plussz információt tartalmazhat, ami akár speciális üzenetek küldését is lehetővé teszi. Ilyen üzenetek például a készüléket beállító SMS-ek, vagy a „flash” üzenet, ami közvetlenül a készülék kijelzőjén jelenik meg és nem kerül automatikusan a bejövő postafiókba. Természetesen a PDU is egy szabvány, ami az ETSI által definiált. A karaktereket hexa formátumban adjuk meg, de előtte egy speciális algoritmus segítségével kell kódolni őket, amely folyamán a 8 bites értékeket 7 bitesre konvertáljuk, majd ezeket 8 bites oktetekbe rendezzük.

 

3.2.3 A 7 bites kódolás

A kódolás menete a következő: Vesszük az üzenetek karaktereinek ASCII értékét. Ezt felírjuk 7 bites bináris alakban, mégpedig úgy, hogy a bevezető nullákat elhagyjuk. Ezután a következő karaktert alkotó bináris szám végéről ciklusonként egyel több karaktert áthelyezünk a kiinduló karatketsor elejére egészen addig, míg az áthelyezendő karakterlánc el nem fogy, vagyis a ciklus el nem éri a hetes értéket. Ezután kezdjük a ciklust előről. Amennyiben a ciklus vége előtt „elfogynának” a karakterek úgy az utolsó sort kiegészítjük nullákkal 8 bitesre. A könnyebb megértés érdekében vegyünk egy példát. Legyen az üzenet szövege a „hello” szó.

 

1. táblázat

7 bites kódolás

Betű

h

e

l

l

o

ASCII kód (decimálisan)

104

101

108

108

111

Bináris kód

1101000

1100101

1101100

1101100

1101111

Kijelölés

1101000

1100101

1101100

1101100

1101111

Átrendezés

11101000

00110010

10011011

11111101

(00000)110

Hexa érték

E8

32

9B

FD

06

 

A hello szó kódolva: E8329BFD06

3.3 Az AT parancsok

A GSM készülékkel hagyományos soros kommunikáció segítségével történik az adatátvitel. Természetesen gondoskodnunk kell a megfelelő szintillesztésekről is. Az utasításokat szabványos formában, ugynevezett AT parancsok segítségével adjuk ki. A parancsok kezeléséhez ismernünk kell azok szerkezetét. (2. táblázat)

2. táblázat

Az AT parancsok szerkezete

Tesztparancs

AT+CXXX=?

Az ME visszaadja a neki megfelelő beállítási parancs, vagy belső folyamatok által beállított paraméterlistát és értékhatárokat.

Olvasási parancs

AT+CXXX?

Ez a parancs visszaadja a paraméter vagy paraméterek jelenlegi értékét.

Beállítási parancs

AT+CXXX=<…>

Ez a parancs a felhasználó által definiálható paraméterek értékeit állítja be.

Végrehajtási parancs

AT+CXXX

A végrehajtási parancs azokat a nem változtatható paramétereket olvassa, amelyeket a GSM berendezés belső folyamatai állítanak be.

(ME - Mobile Equipmnet és TA - terminal Adapter)

 

 

 

3.4. Az üzenet elküldése

Az üzenetküldés parancs: AT+CMGS=hossz<CR>PDU<CTRL-Z/ESC>

Vegyük először a PDU karaktersort, ugyanis ebből számítható majd ki a „hossz” változó is.

Üzenetküldéshez a készüléknek egyetlen karaktersorozatban kell megadnunk az üzenetre vonatkozó összes információt beleértve az üzenetet definiáló speciális kódokat és magát az üzenet szövegét is.

 

3.4.1 Az üzenet kódolása teljes PDU kóddá

Ugyan a PDU szabvány, a gyakorlati tapasztalat mégis az, hogy a különböző gyártók nem használják ki az összes lehetőségét. Egy példán keresztül nézzük meg milyen paraméterek szükségesek egy „tesztsms” szövegű üzenet elküldéséhez a 06-30-42-42-42-1-es számra

 (3. táblázat)

3. táblázat

PDU kód küldésnél

07

Üzenetközpont hossza (oktetek száma)

91

Üznetközpont típusa (91 = nemzetközi formátum, ’+’ jel)

6303898800F0

Üzenetközpont száma (kódolva)

11

Státusz bitek (oktetbe rendezve)

00

Üzenet referencia, "00" érték esetén a készülék maga állítja be

0B

Címzett számának hossza (0B = 11)

91

Üznetközpont típusa (91 = nemzetközi formátum, ’+’ jel)

6303242424F1

Címzett száma (kódolva)

00

Protokoll leíró (standard szöveg, fax stb; 00 alapértelmezett)

00

Adatkódolás típusa (00 alapértelmezett)

AA

Érvényességi idő

08

Üzenet hossza (oktetek száma)

F4F25C4F9FB7E7

Üzenet szövege (kódolva) (tesztsms)

A karaktersor:

07916303898800F011000B916303242424F10000AA08F4F25C4F9FB7E7

A hossz paraméter kiszámításához a karaktersorozat hosszából le kell vonnunk az üzenetközpont hosszát és az arra vonatkozó paramétert majd ezt a számot megfelezzük. Esetünkben 21 adódik a „hossz”-ra. Tehát a teljes parancs:

AT+CMGS=21<CR>07916303898800F011000B916303242424F10000AA08F4F25C4F9FB7E7<CTRL-Z>

 

 

 

Az érvényessségi idő kiszámítása (4. táblázat):

 

4. táblázat

Érvényességi idő kiszámítása

Érték

Érvényeeségi időtartam

0-143

(érték + 1) * 5 perc (5 perces intervallumok 12 óráig)

144-167

12 óra + ((érték - 143) * 30 perc)

168-196

(érték - 166) * 1 nap

197-255

(érték - 192) * 1 hét

 

Tehát az „AA” jelentése: AA decimálisan 170. Azaz (170-166) * 1 nap =  4 nap érvényesség

 

A státusz bitek küldésnél:

 

5. táblázat

Státusz bitek küldésnél    

 Bit

7

6

5

4

3

2

1

0

Szimbólum

TP-RP

TP-UDHI

TP-SRR

TP-VPF

TP-VPF

TP-RD

TP-MTI

TP-MTI

 

 

Szimbólum

Jelentés

TP-RP

Válasz útvonal (Magyarországon nem használt)

TP-UDHI

Felhasználói adat fejléce (Magyarországon nem használatos)

TP-SRR

Jelentés kérés (1, ha van jelentéskérés)

TP-VPF

Érvényességi idő formátuma. Kétbites érték. 10 jelenti a normál egy oktet hosszúságot.

TP-RD

Másolatok detektálása (nem használt – 0)

TP-MTI

 Kétbites érték. Üzenet típus (01 – PDU)

 

 

 

 

 

 

 

Üzenet fogadásánál hasonló szisztéma alapján  épül fel a PDU (6. táblázat)

 

6. táblázat

PDU kód fogadásnál

07

Üzenetközpont hossza (oktetek száma)

91

Üznetközpont típusa (91 = nemzetközi formátum, ’+’ jel)

6303898800F0

Üzenetközpont száma (kódolva)

24

Státusz bitek

0B

Címzett számának hossza (0B = 11)

91

Üznetközpont típusa (91 = nemzetközi formátum, ’+’ jel)

6303242424F1

Küldő száma (kódolva)

00

Protokoll leíró (standard szöveg, fax stb; 00 alapértelmezett)

00

Adatkódolás típusa (00 alapértelmezett)

20506281237408

Időbélyeg (küldés ideje)

08

Üzenet hossza (oktetek száma)

F4F25C4F9FB7E7

Üzenet szövege (kódolva) (tesztsms)

 

A karaktersor: 07916303898800F0240B916303242424F100002050628123740808F4F25C4F9FB7E7

 

A státusz bitek fogadásnál:

 

7. táblázat

Státusz bitek fogadásnál    

 Bit

7

6

5

4

3

2

1

0

Szimbólum

TP-RP

TP-UDHI

TP-SRI

Nem használt

Nem használt

TP-MMS

TP-MTI

TP-MTI

 

 

Szimbólum

Jelentés

TP-RP

Válasz útvonal (Magyarországon nem használt)

TP-UDHI

Felhasználói adat fejléce (Magyarországon nem használatos)

TP-SRI

Jelentéskérés (1, ha van jelentéskérés)

Nem használt

00 értékkel helyettesítve.

TP-MMS

Hosszú üzenet jelzése. (SMS lánc)

TP-MTI

Üzenet típus (01 – PDU)

 

 

 

Az időbélyeg kiszámítása:

 

8. táblázat

Időbélyeg kiszámítása

Oktet neve

Év

Hónap

Nap

Óra

Perc

Másodperc

Időzóna

Oktet hossz

1

1

1

1

1

1

1

Érték

20

50

62

81

23

74

8

Jelentés

2002

május

26

18

32

47

8

 

Az időbélyegben páronként felcserélve találhatóak az adatok.

Nem esett szó a telefonszámok kódolásáról. Itt nem hét bites, hanem decimális oktetekbe csoportosítunk. Egyszerűen páronként felcseréljük a számokat, majd az utolsó számot egy „F” karakterrel egészítjük ki. Nézzük meg a +36304242421-es szám kódolását (7. táblázat).

 

9. táblázat

Telefonszám kódolása

Eredeti

+

36

30

42

42

42

1

Kódolt

*

63

03

24

24

24

F1

 

* - a + nemzetközi formátum jelet nem itt kódoljuk, ezt a szám megadása előtt a PDU sorban kell jeleznünk (91)

A szám kódolva tehát: 6303242424F1

 

3.5. Az SMS fogadása:

Természetesen a készüléknek nem csak küldeni kell tudnia az üzenetet, hanem fogadnia is kell azokat. Az SMS fogadás szintén AT parancs segítségével történik. A parancs: AT+CMGR=<index> ahol „index” egy egész típusú érték az adott memória tárolóhelyeinek megfelelő értéktartományban. (SIM függő). A kódolás itt is a már ismertetett PDU szerinti. Az üzenet azonban itt nem a címzett telefonszámát tartalmazza, hanem az üzenet feladó azonosítója szerepel benne.

 

 

 

 

3.5.1. A fogadott üzenet kiértékelése

Alaphelyzetben a főprogram bizonyos időközönként megpróbálja beolvasni a mobilra esetlegesen érkezett üzenet(ek)et. Amennyiben nem talál, úgy folytatja futását az éppen aktuális szintnek megfelelően. Ha azonban eredményes volt a lekérdezés, úgy az üzenettörzs megkeresése után több lehetőség is áll előttünk. Dekódolhatjuk az üzenetet és ennek megfelelően irányítjuk a programot a megfelelő szubrutinhoz. Ez viszonylag bonyolult algoritmussal lehetséges csak és szükségtelen is. Sokkal egyszerűbb megoldás, ha csak összehasonlítanunk kell egy már előre definiált, vagyis kódolt karaktersorral. Ez lényegesen gyorsabb is és nagyban lecsökkenti a program memóriaigényét. Ez igen fontos szempont, hiszen a mikrovezérlőnk nem rendelkezik túl gazdag felhasználható memóriaterülettel, csupán néhány bájt áll rendelkezésünkre. Viszont az előre átkonvertált karaktersort akár be is fordíthatjuk programunkba. Az így megadott üzenet nem a memóriában tárolódik, hanem a PIC program tárterületébe kerül, ami azért jóval nagyobb, mint picinyke memóriája és néhány egyszerű utasítással hivatkozhatunk is rá.

 

3.5.2 Az utasítás megkeresése

Miután a mobil visszajelzett, hogy van értelmezhető üzenet számunkra, először is be kell olvasnunk azt. Alapesetben ez az első pozíción helyezkedik majd el. Ismerve a PDU eljárást a számunkra hasznos információk majd a karaktersor végén helyezkednek el. Először is tehát oda kell pozicionálnunk. Ehhez ismételten több megoldás jöhet szóba. A legegyszerűbb, ha adott hosszúságúnak tekintjük az „inicializáló” paraméterlistát. Beolvasás után ezt átugorva azonnal a számunkra értékes üzenettörzshöz jutunk és ezt már értelmezhetjük is. Ez a megoldás ugyan gyors és nagyon egyszerű, viszont eléggé leszűkíti a piaci lehetőségeket, hiszen csak abban az esetben alkalmazható, ahol a telefonszámok 11 jegyűek, mint Magyarországon. Ez azért sem célszerű megoldás, mert így eleve kiesik a vezetékes telefonhálózat is. Ugyan jelenleg még nem túl elterjedt a vezetékes üzenetküldés, de nagyon praktikus megoldás, ha az otthoni számunkról is fogadhatunk üzenetet. Kicsit bonyolultabb mgoldás, ha az inicializáló sorokat is némileg értelmezzük. Tulajdonképp itt is csak 2 byte-ot kell megvizsgálnunk, mégpedig a 2 változó hosszúságú paramétert (üzenetközpont és a feladó telefonszáma) leíró változókat kell kiértékelnünk. A karaktersor első byte-ja rögtön egy ilyen szám. Ezt beolvassuk, majd az értékének megfelelően ugrunk a karaktersorban néhány byte-ot. Ezt követi újabb néhány számunkra most nem értelmezett adat, amit szintén átugorva eljutunk a feladó számának hosszát leíró byte-hoz. Ezt kiértékelve ismét egy ugrás következik. Innen már csak 20 byte választ el minket a számunkra értékes adatoktól. Miután ezeket is átugrottuk kezdhetjük is az adathalmaz kiértékelését. Így a két fix hosszúságú ugrás ellenére is univerzálisabb a készülék, hiszen már nem számít a telefonszám, illetve üzenetközpont hossza.

 

3.6. Az üzenet törlése

Természetesen az értelmezett üzenetet törölnünk kell, nehogy megteljen a készülékünk üzenet tárolója, netalántán ismét olyan SMS kerüljön végrehajtásra, amelyet egyszer már lekezeltünk. Az üzenetek törlésére az AT+CMGD=<index> utasítás szolgál. Az „index” változó ugyanaz, mit az olvasásnál, azaz az üzenet pozíciószáma. A parancs visszatérési értéke mindössze egy „OK”, amit ha megkaptunk léphetünk is tovább a programunkban.

Gyakorlati tapasztalatok alapján egyetlenegyszer sem fordult elő hogy az üzenetek feltorlódtak volna. Egyidejű küldés esetén is a PIC-ben futó program futásideje sokkal gyorsabban kiolvasta és feldolgozta majd törölte az üzenetet, még mielőtt egy második SMS is befutott volna. Az sem jelent problémát, ha az üzenet megérkezését pont akkor jelezné a telefon, miután a beolvasó cikluson továbbhaladott a programunk, hiszen néhány egyéb ciklus lefutása után ismét üzenet beolvasás következik. A két olvasási ciklus ideje számszakilag sokkal kevesebb ideig tart, mint amennyi idő alatt a mobil egy második SMS-t fogadna, hiszen neki még a központnak is vissza kell jeleznie, hogy a fogadás sikeresen megtörtént és csak ez után kerül az üzenet tárolásra a SIM kártyán.

 

3.7. Identifikáció

Természetesen szükség van a felhasználó azonosítására is, hiszen SMS-t bárki tud küldeni, így elméletileg bármely készüléket ki lehetne kapcsolni vagy egyéb feladat végrehajtására utasítani. Legegyszerűbb megoldás, ha a felhasználót telefonszáma alapján azonosítjuk. Így teljes mértékben biztosítottuk, hogy illetéktelenek ne tudják befolyásolni a berendezés működését. Legkézenfekvőbb megoldás, ha ezt az adatot a SIM kártya tárolja. Így nem kell minden egyes készülékhez a gyártónak beprogramoznia a számokat és egy esetleges számcsere esetén a felhasználó is könnyedén átállíthatja az új számát.

 

3.7.1. Telefonszám szerinti identifikáció

A SIM telefonkönyvét kezelő utasítás az AT+CPBR=<pozíció> A telefonszámokat a kártya első pár tárolóhelyére kell elhelyezni. Ezt a legtöbb GSM készülékkel könnyedén elvégezhetjük. Amennyiben egy üzenet érkezik, a szoftver dekódolja a küldő számát, majd a tárolt adatokkal összehasonlítja azt. Egyezés esetén végrehajtja az utasítást. A kiolvasás menete a következő: kiküldjük a megfelelő pozíciószámmal az AT+CPBR parancsot, majd a beérkező karaktersorozatból kiválasztjuk az idézőjelek közé helyezett számsorozatot. Ezt összehasonlítjuk az SMS-ből dekódolt telefonszámmal. Amennyiben nincs egyezés úgy a ciklust újból végrehajtjuk eggyel növelve a pozíció számot. Így gyakorlatilag SIM kártyától függően akár 250 felhasználó is kezelheti a készüléket, de természetesen nem kötelező kitölteni az összes memóriahelyet. Természetesen amennyiben a GSM készülék rendelkezik saját memóriával, úgy abban is elhelyezhetnénk a telefonszámokat, de ez a funkció kompatibilitási problémák erkelülése érdekében nem használatos. A fentebb leírt pozícionálás annyiban módosul, hogy mikor a küldő számához érünk, nem ugorjuk át ezt, hanem beolvassuk egy változóba, amit már felhasználhatunk az összehasonlításokhoz. A többi ugrás természetesen nem változik, hiszen az inicializáló karakterek továbbra is jelen vannak.

 

4. Beléptető modulok

 

4.1 Billentyűzet mátrix

Amennyiben a készülék lakásban illetve egyéb fix objektumban kerül elhelyezésre célszerű azt egy lokális beléptető egységgel ellátni. Erre szintén több megoldás is szóba jöhet. Legkézenfekvőbb, ha egy számot kell beütni és máris aktiváltuk, illetve deaktiváltuk a készüléket.

 

4.1.1 Alternatívák

Viszonylag egyszerű megoldás egy sorrendi hálózat, de ez nem javasolt, hiszen így csak egy kódszó lehetséges és ennek megváltoztatása sem egyszerű feladat, hiszen szét kell szedni a készüléket minden egyes módosításhoz. Ez pedig az élettartam rovására megy nem beszélve a laikus felhasználó által felmerülő hibalehetőségeket. A legpraktikusabb megoldás egy billenytűzetmátrix. (1sz. melléklet) Előnye, hogy olcsó, viszonylag egyszerű a felépítése, ami által a hibalehetőségek száma is csökken. Mindösszesen néhány nyomógombra és egy mikrovezérlőre van szükségünk. Célszerű kiegészíteni valamilyen audio vagy vizuális megjelenítővel is kiegészíteni, hogy a felhasználó egyértelműen észlelhesse a készülék működését. Ez lehet akár egy egyszerű LED vagy egy piezo zümmer is, amely felvillanásokkal illetve csipogással jelzi egy billentyű lenyomását. Ennél azért szemléletesebb megoldást is választhatunk. Néhány hétszegmenses kijelző vagy egy LCD is látványos lehet.

 

4.1.2 Kódrendszer kiválasztása

A felhasználó azonosításra többféle lehetőség is van. Legegyszerűbb megoldás, ha mindenkinek van egy egyedi kódja. Ez azonban nem túl tökéletes megoldás, hiszen ha például négy byte szóhosszúságú kódot alkalmazunk, akkor a kódszavak száma decimális számok esetén 10000. Minél több a felhasználó annál könnyebb eltalálni egy jó kódot. Természetesen néhány felhasználós rendszereknél jól működik ez az alternatíva. Félmegoldásként szóba jöhet a kódszó hosszának növelése vagy a hibás kódbevitelek számolása. Statisztikai adat, hogy az emberek legnagyobb része a négyszámjegyű kódokat jegyzi meg legkönnyebben éppen ezért a kódszó hosszának változtatása nem célszerű. A hibás bevitelek figyelése sem ad elfogadható megoldást, mert a nem szándékos hibát nem lehet megkülönböztetni a szabotációtól. Praktikusabb megoldás, ha először a felhasználót egy publikus kóddal azonosítjuk, majd bekérjük a titkos kódját. Így nagy számú felhasználó mellett is tarthatjuk a 4 byte hosszúságú kódszavakat, hiszen ezáltal minden egyes publikus kódhoz 10000 variáció tartozik. A publikus kód meghatározása szintén felhasználástól függhet. Amennyiben egy lakóház beléptető rendszereként üzemel a berendezés, úgy választhatjuk a lakás sorszámát publikus kódnak. Az egyéni kódot természetesen a felhasználó adja meg továbbra is. A kivitelezés egy 3x4-es mátrixnál rendkívül egyszerűen megoldható, hiszen a 10 számjegyen kívül rendelkezésre áll még kettő további szabad billentyű. Az egyiket vehetjük a bevitel végét jelző „enter” billentyűnek, a másikat felhasználhatjuk törlésre hibás bevitel esetén.

 

4.1.3 Hibalehetőségek

Mivel ez a modul a felhasználó által hozzáférhető, így számolnunk kell bizonyos hibalehetőségekkel is. Ha a szándékos rongálástól eltekintünk mindössze két dologra kell odafigyelni. Az egyik hibalehetőség a nyomógombok működéséből adódó prellezés. Megoldhatjuk minden egyes billentyű egyedi pergésmentesítését is, de ez amellett, hogy drága csak újabb hibalehetőségeket rejt magában. Célszerűbb megoldás szoftveresen kezelni a problémát. Minden egyes leütés után várunk néhány millisecundumot és csak ezután vizsgáljuk az újabb bevitelt. Másik hibalehetőség, ha egyszerre több nyomógomb kerül aktív állapotba. Erre valamelyest megoldás a fentebbi módszer, hiszen szinte lehetetlen tökéletesen egyszerre lenyomni több gombot egy időben. Amennyiben a felhasználó a prellezési várakozás letelte után is tovább nyomja a billenytűket úgy természetesen valamelyik beolvasásra kerül sortól és oszloptól függően. Mivel ez nem rendeltetésszerű használat így a program előbb-utóbb hibát generál a túl sok bevitel miatt, melynek eredményeképp a felhasználó nem kapja meg a belépésre az engedélyt.

 

4.1.4 Pánik üzemmód

Számolnunk kell a szabotázs egy speciális formájával is, amikor a felhasználót kényszerítik a kód beütésére. Meg kell oldani, hogy a bejutás engedélyezve legyen ugyanakkor riasztást kell küldeni a központi egységnek is. Erre is több megoldás lehetséges. Létrehozunk egy úgynevezett szabotázs kódot és ezt minden felhasználónak megadjuk. Ez a megoldás nem célszerű, mert ha csak egy pillanatra akar valaki belépni könnyedén megteheti. Célszerűbb, ha ez a speciális kód is egyedi mindenki számára. Tartva az előző kódbeviteli szabályt kap minden felhasználó egy egyedi szabotázs kódot is. Ez lehet teljesen új privát kód, vagy az aktuális privát kód számjegyei fordított sorrendben. Természetesen definiálhatunk egy általános risztás kódot is, ami belépésre nem jogosít fel, de a központnak riasztást jelez.

 

4.2 Chipkártya olvasó

Másik hardverkulcsos azonosítási mód a chipkártyával való azonosítás. Méretét tekintve praktikusabb, mint az előbbi eszközök, mivel rendkívül vékony, viszonylag kis helyen elfér. Több féle típus van forgalomban a legegyszerűbb EPROMos változattól kezdve a processzorral, valamint memóriával ellátott változatig. Beszerzési áruk is tudásuk függvényében változik. A választásom a MATÁV által forgalmazott régi telefonkártyákra esett, mivel ez nagyon olcsón beszerezhető.

 

 

4.2.1 A chipkártya működése

A kártya (50 és 120 egységes egyformán) egy 256 bites tárolóeszközt és az olvasáshoz valamint a programozáshoz szükséges logikai áramkört rejt magában. A tárolóterület első 96 bitje (0.-tól 95.-ig) csak olvasható (szériaszám, egyéb adatok). A további 160 bit (96.- 255.) égethető. Itt az elejétől a bitek 0 állapota jelzi a meglévő egységet, amely 1-be égethető. Ezen a részen az egységek száma, mint információ egy bizonyos algoritmus alapján van tárolva. A tárolóterületet a címszámláló címzi meg, amely a CK órajel, -RE reset engedélyező és WE programozás engedélyező bemenetek állapotától függően vagy resetelődik (0. címre áll), vagy növeli egyel a címet, vagy nem változtat a címen. A programozó logika feladata az égető impulzus engedélyezése a címszámláló állásának megfelelô címen.

A chipkártya bekötése a 2. sz. mellékletben látható.

1-es láb: (NC) nincs bekötve a chip-be.

2-es láb: (OUT) a kimenet. Az adott címen a bit állapota jelenik meg, ha a CK órajel bemenet L szintű. A CK bemenet H, akkor az OUT is általában H szintet vesz fel.

3-mas láb: (VPP) az égető feszültség bemenete. A kártya olvasásakor +5V-ot kell a VPP-re kapcsolni, ellenkező esetben nem működik a kimeneti áramkör. Égetéshez 21-25V pozitív feszültség kell.

4-es láb: (GND) a tápfeszültség testpontja.

5-ös láb: (VCC) +5V tápfeszültség.

6-os láb: (WE) égetést engedélyező bemenet. Ha a WE=H szintű és VPP=21V, akkor a CK bemenet 50mS ideig tartó H impulzusa hatására elég a bit L-ből H-ba. Olvasás során WE=L kell.

7-es láb: (CK) órajel bemenet. H impulzus hatására a WE, a -RE és a VPP állapotától függően lép, vagy marad eredeti állapotában, vagy nullázódik a címszámláló, vagy égetés történik.

8-as láb: (-RE) reset engedélyező bemenet. L szintje esetén a CK órajel bemeneten H-ból L-be lefutó él nullázza (RESET), H szintje esetén pedig lépteti a címszámlálót, ha ez alatt WE=L szintű volt. A CK, WE ás -RE bemenetek egyes kombinációira a címszámláló reakciója, vagyis, hogy mi történik a kártyában, VPP=5V esetén:

 

 

 

10. táblázat

Működési ciklusok

A

B

C

D

Címszámláló

WE­ RE

WE­ CK

CK WE

CK RE

X

X

0

1

Lép egyet

X

X

0

0

Reset

1

1

1

X

Lép egyet

0

1

1

X

Reset

X

0

1

X

Nem változik

 

Az A oszlop a WE bemenet felfutó élénél a RE bemenet, a B oszlop a WE bemenet felfutó élénél a CK bemenet, a C oszlop a CK bemenet lefutó élénél a WE bemenet, a D oszlop a CK bemenet lefutó élénél a -RE bemenet állapotát mutatja.

 

4.2.2 Az olvasó hardvere

A fenti ki- és bemenetek L illetve H szintje a TTL szinteknek megfelelőek, ezért nincs szükség semmilyen illesztő ezközre. A készülék dobozán mindössze néhány LED található, melyek a kártya behelyezését illetve az olvasás státuszát jelzik. A kártya érzékelése optikai úton történik. Így kiküszöbölhetjük egy esetleges kapcsoló használatából eredő zavarokat, valamint a nagy számú használat miatti elhasználódást is megoldottnak tekinthetjük. Egy hagyományos infra sorompó teljes mértékben alkalmas a feladatra. A készülék tápfeszültség ellátásáról a főmodul gondoskodik. Teljes kapcsolási rajzot a 2. sz. mellékelt tartalmazza.

 

4.2.3 Az olvasó szoftvere

Miután az olvasóra rákapcsoljuk alaphelyzetbe áll az összes kimenet. 0-ra állítódik a chipkártya minden bemenete, valamit a visszajelző LEDek. Ha kártyát helyezünk a készülékre a B0 bemenet alacsony szintre esik. Felkapcsoljuk a kártya meglétét jelző LEDet, majd megtörténik a chip reset, azaz 0. címre pozicionálunk. Eután következik az adatok kiolvasása, amit szintén egy LED jelez a felhasználó számára. Ezután ezt a kiolvasott számsorozatot kell összehasonlítanuk az előre megadott számsorozatokkal, amiket előre definiálni kell már. Amennyiben valamelyikkel egyezik, úgy egy jelzést küldd a főmodulnak. Természetesen figyelni kell a hibás beviteleket is. Egy előre definiált maximum érték után riasztást kell küldeni, illetve pánik esetén is meg kell tenni a megfelelő intézkedéseket.

 

4.3 RF modul

Amennyiben a készülék valamilyen mobil eszközben kerül elhelyezésre nem biztos, hogy biztosítanu tudjuk valamilyen mindenki által hozzáférhető kezelőezköz telepítését. Részben a környezeti hatások másrészt esztétikai szempontok alapján is rengeteg problémába ütközhetünk. Ilyenkor válik szükségessé egy olyan kezelői felület megvalósítása, amely semmiféle galvanikus kapcsolatban nem áll a központi egységgel. Több megoldás is szóba jöhet. Legelterjetteb az optikai valamit a rádiófrekvenciás adatátvitel. Mindkét módszernek megvannak a maga előnyei és hátrányai is természetesen. Az optikai átvitelnél ugyan pontosan ismerni kell a vevő helyzetét. Ez kivitelezés szempontjából elég nehézkes, hiszen úgy kell elhelyezni a vevőt, hogy jól látható legyen, nem beszélve arról, hogy látószögtől függően nem minden pozícióból tudjuk irányítani a működést. Lehallgathatóság szempontjából ugyan rendkívül biztonságosnak mondható emiatt, hiszen minél szűkebbre vesszük a látószöget annál nehezebb egy második külső vevőegységet elhelyezni. Ez a bizonytalanság alapesetben csak kényelmi szempontból kellemetlen, de speciális esetekben, vészhelyzetekben beláthatatlan következményei lehetnek. Szükség van olyan megoldásra, ami bizonyos távolságon belül, de pozíciótól függetlenül tudja írányítani a működést. Erre a legalkalmasabb a fádiófrekvenciás jelátvitel. Ugyan ez bárki számára hozzáférhető, a hatósugáron belül, de jól kódolt átvitellel, ugrókóddal nagy biztonságot lehet elérni.

 

4.3.1 Az adóegység

Mivel az adóegységnek mobilnak kell lennie, ezért fontos, hogy minél kisebb méretű legyen. Fogyasztás tekintetében szintén minél alacsonyabb áramfelvételű alkatrészeket kell alkalmaznunk. A rádiófrekvenciás adót egy egytranzisztoros oszcillátor kapcsolás biztosítja, amely a 108MHz-es frekvencián üzemel. Természetesen egy végleges változathosz meg kell vennünk valamilyen frekvenciát. A szerkezet lényege itt is a mikrovezérlő programjában van, de ezt majd egy későbbi pontban tárgyaljuk. Mivel igen fontos a készülék áramfelvétele, ezért ahol csak lehet korlátozni kell az áramfelvételt. Üzem közben nem célszerű túl nagy korlátok bevezetése mivel nagymértékben csökkenne az adó hatósugara, ezért a készenliti állapotnál kell a lehető legkisebbre csökkentenünk a fogyasztást. Legoptimálisabb eset, ha készenlétben egyátalán nincs áramfelvétel. Ezt könnyen megvalósíthatjuk, ha a tápellátást az egyetlen kezelőszervként elhelyezett kapcsolóval vezéreljük. Ezáltal áramfelvétel csak addig van, ameddig a készüléket üzemeltetjük.

 

4.3.2 Adóegység programja

Mint azt feljebb említettem, az adó lényegi része itt is a szoftverben rejtőzik. Alapjában véve két feladatot kell az adónak ellátnia. Normál körülmények között ki-be kapcsoltatni a riasztási állapotot, valamit veszély esetén pánik jelzést küldeni a központnak. Mivel egyetlen nyomógomb áll csak rendelkezésre megoldhatnánk úgy is, hogy egyszeri lenyomás normál működést eredményez, míg adott időn belüli többszöri jeladásra pánikjelzést küldd a központi egységnek. Bővíthetnénk is a kezelőfelületet, de van ennél egyszerűbb megoldás is. Mivel a nyomógomb nem a mikrovezérlő bemenetét kapcsolja, hanem a tápfeszültség ellátást, így csak egyetlen információ alapján tudjuk eldönteni a megfelelő működési állapotot.

Normál üzemhez 1-2 másodperces idő elég egy jelzés küldésére. Pánik funkcióhoz hosszab működtetés szükséges. A program rendkívül egyszerű, mindössze néhány sor:

void main()

{

delay_ms(500);

puts("onoff");

delay_ms(3500);

puts("panic");

}

Az 500millisekundumos idő a bekapcsolás után azért szükséges, hogy a rádiófrekvenciás adó biztosan be tudjon indulni, illetve stabilizálódjon. Ezután soros adatátviteli protokollt használva elküldjük a normál kapcsoláshoz szükséges üzenetet. Amennyiben továbbra is üzemeltetjük az adót, úgy 3.5 másodperc elteltével az küldd egy pánik jelzést is. A vészhelyzet lekezelése természetesen a főmodul feladata.

 

 

 

4.3.3 Az RF vevő

Természetesen az adó jeleit valamivel venni kell. Erre legalkalmasabb egy FM vevő. Választhatunk egyszerű felépítésű néhány tranzisztoros modellt is, de természetesen a precízebb megoldás valamilyen erre a célra készült integrált áramkör használata. Bármilyen megoldást is választunk, két dologra kell figyelnünk. Az vevő érzékenységére, mivel az adó relatíve kis teljesítménnyel üzemel, valamint a jel-zaj viszonyra, hiszen egy zajos készülékkel nehézkes az adatátvitel. Választásom a TDA7000-es integrált áramkörre esett, mert néhány külső alkatrész szükséges csak hozzá és megfelelő az érzékenysége is (V(RF-3dB)=1.5mV). Az építésre, élesztésre nem térnék ki, mivel az áramkör pontos leírása, valamint az elkészítéshez szükséges információk a gyártó honlapján hozzáférhetőek.

 

4.3.4 Az RF vevő szoftvere

A szoftvernek itt mindössze három dologgal kell foglalkoznia. Fel kell dolgoznia a TDA7000 áramkörtől érkező jeleket, értelmezni azt, hogy ki illetve bekapcsolási jel érkezett, vagy pánik jelzés, valamint a központi egységnek kell elküldenie a megfelelő utasítást. A fogadott adatot egy egyszerű sztringösszehasonlítással véhethetjük el, majd az eredménytől függően elküldjük a megfelelő utasítást a főmodul felé.

 

gets(adat); //adatbekérés

 if(stricmp(adat,onoff))      {

         puts(f1);      }

 if(stricmp(adat,panic))      {

         puts(f2);      }

(Az adó és a vevő teljes kapcsolási rajzát a 3. sz. melléklet tartalmazza)

 

4.4  Passzív kódos modul

Másik alternatívaként szóba jöhet egy speciális azonosítási mód is. Itt ugyanúgy egyéni kóddal rendelkezik minden felhasználó, de ezt a kódot nem ismeri, egy speciális eszköz segítségével juttatja be a feldolgozó egységhez. Legegyszerűbb esetben valamilyen soros EEPROMot adunk minden felhasználónak, melyet valamilyen illesztési felületen keresztül csatlakoztathat a készülékhez ez által azonosítva magát. Ez a technológia használatos a szerencsejáték gépek körében is. Itt általában egy Jack dugóba rejtik az elektronika egyedi részeit, ami egyetlen diódából is állhat, de fejlettebb rendszerekben akár egy mikrovezérlőt is rejthet magában. Ilyen többek között az iButton technológia. Mivel a teljes dokumentáció megtalálható a gyártó honlapján ezért nem is térnék ki rá. Valamivel ötletesebb megoldás, ha egy mikrovezérlőt rejtünk a csatlakozóba. Így akár még számításokat is végeztethetünk vele, ami még biztonságosabbá teszi az azonosítást, hiszen eleve egy adatsort kell kiküldeni a mikrovezérlőnek, amiből valamilyen algoritmus alapján az visszaküld egy számot. Ezáltal igen nagymértékben megnehezítjük a hamisítását is. Ha belső EEPROM-os modellt választunk, tovább fokozhatjuk a biztonságot, mert így akár a tárolt adatoktól függöen befolyásolhatjuk az algoritmus lefutását. Természetesen lehetőség van a billentyűzet mátrix modult kombinálni ezzel az intelligens kulcsunkkal is ez által még tovább növelve a biztonságot.

Legtöbb esetben nincs szükség ilyen magas szintű biztonságra. Elegendő csupán valamilyen egyedi azonosítószámmal rendelkező ezközöket létrehozni. Célszerű valamilyen kis méretű mikrovezérlőt választani. Ideális választás a PIC12F629. Rendelkezik saját belső oszcillátorral, ezáltal semmilyen külső eszközt nem kell csatlakoztatnunk hozzá. Egy jack dugóba építve könnyedén megoldható a mikrovezértlő tápellátása is. Ha az egység megkapja az áramellátást, némi biztonsági idő elteltével sugározni kezdi a beégetett azonosítóját, melyet a dekódoló egység ellenőriz, majd a főmodulnak soros kommunikáció segítségével jelzi az állapotát.

 

 

5. Környezeti modulok

 

Eddig megismerhettünk többféle lehetőséget is a központi egység vezérlésére, azonban még nem esett szó a környezeti érzékelésről, azaz hogy éles helyzetben történt-e illetéktelen beavatkozás, betörés. Több gyártó is foglalkozik különféle mozgásérzékelők gyártásával, ezért ezekre nem térnék most ki. Egy ilyen érzékelő leírása meghaladná a szakdolgozat kereteit.

 

 

 

 

5.1 Rezgésérzékelő modul

A most következő modul egy speciális érzékelő, mert több területen is alkalmazható bármiféle átalakítás nélkül. Alkalmazható gépjárművekben rongálás ellen és különböző objektumok üvegfelületeinél törés érzékelésére egyaránt.

 

5.1.1 A rezgésérzékelő felépítése

A környezetből a jeleket egy piezo lapka segítségével foghatjuk fel. Természetesen ezt a jelet még nem tudjuk felhasználni, hiszen nagyon kis feszültséget generál csak. Az erősítést két fokozatban végezzük el, ezáltal elkerülve egy esetleges gerjedést. Első lépcsőben a piezo lap által felfogott jeleket negatív visszacsatolásban üzemelő műveleti erősítővel mintegy százszorosára erősítjük. A visszacsatoló ágban elhelyezésre került egy 1nF kapacitású kondenzátor is, melynek zavarszűrő szerepe van. Ezt követi egy szintén negatív visszacsatolású erősítő, mely újabb tízszeres erősítést végez. Az így előállított jelet már csak digitalizálnunk kell, amit egy egyszerű komparátor végez számunkra. Az invertáló bemenetet 1.5V körüli értékre előfeszítjük a jelet pedig a neminvertáló bemenetre vezetjük. A kimenetet egy 150nF-os kondenzátorral visszacsatoljuk, ezáltal megszüntettük a prellezést is.

(4. sz. melléklet) Természetesen több ilyen érzékelőt is elhelyezhetünk. Ilyenkor egy több bemenetű vagy kaput kell alkalmaznunk. Ennek az egységnek nincs szüksége külön szoftveres feldolgozásra, közvetlenül a főmodulba érkeznek a jelei.

 

5.2. Egyéb érzékelők

Természetesen használhatunk egyéb érzékelőket is, mint például feszültségesés figyelőt, mozgásérzékelőket, optikai kapukat. Ezek ismertetésével nem foglalkozom, mivel kereskedelemben kaphatóak, minden dokumentációjuk hozzáférhető. Mindössze azt kell eldöntenünk, hogy milyen típusú riasztást kell kiváltaniuk, mindössze egy figyelmeztető jezést kell adniuk, avagy hosszan tartó éles riasztást.

 

 

 

6. Tápellátás

 

A főmudul alaplapján került elhelyezésre az összes modul illetve érzékelő tápellátását biztosító egység. Erre azért volt szükség, mert így nem kell az almodulok tápellátásáról külön gondoskodnunk. Bizonyos esetekben a hálózati feszültség nem is áll közvetlenül rendelkezésre. Esetlegesen a környezeti viszonyok, mint például a páratartalom illetve egyéb csapadék miatt veszélyes is lehetne a használata vagy csak nagyon körülményesen tudnánk megoldani az erről való táplálást minden modulban vagy érzékelőben. A főmodul viszont rendszerint biztonságos helyen kerül elhelyezésre, ahol nem okoz problámát a hálózatról való tápellátás. Külön egyséb biztosítja a beléptető modulok, az érzékelők valamint a főegység áramellátását. Erre azért van szükség, mert előfordulhat, hogy a szabotőr az áramkör rövidrezárásával próbálja meg kiiktatni a riasztót. Így csak az aktuális modul vagy érzékelő esik ki a rendszerből. Mivel a stabilizátor áramkörök rendelkeznek rövidzár és hővédelemmel, így erre sem kell további védelmi ezközöket felhasználnunk. Egyetlen egység kapja közvetlenül a főmodullal közös áramforrásról a tápfeszültséget, ez pedig a GSM készülék. Szerencsére a telefon rendelkezik saját töltőáramkörrel. A modul teljes kapcsolási rajzát az 5. sz. melléklet tartalmazza.

 

 

 

7. További lehetőségek

 

A leírt modulok nagy része önálló egységként is megállja a helyét. Némelyikük más területeken is alkalmazható. A különféle kódolvasó modulok biztonsági szinjte fokozható a szoftverük által, de egymással kombinálva is alkalmazhatjuk őket. A rádiós egységnél célszerű ugrókódos kódolást alkalmazni. Természetesen ezek az eljárások már más által dokumentáltak ezért a leírt modulokban nem alkalmaztam semmiféle speciális kódolást. A szoftverek fejlesztésével azonban ez a hardver megváltoztatása nélkül kivitelezhető lenne.

 

 

 

Irodalom

 

[1]  http://www.mikrochip.com

[2]  http://www.hobby-elec.org/

[3]  http://totalcar.hu/tukor/autotolvaj

[4]  http://www.boondog.com/%5Ctutorials%5Cpic16F84%5Cpic16f84.html

[5]  http://www.kmitl.ac.th/~kswichit/f84/f84.htm

[6]  http://www.dreamfabric.com/sms

[7]  http://jap.hu/electronic/

[8]  http://www.arabtronics.com

[9]  http://home.sch.bme.hu/~arnold/elektronika.html

[10] http://www.ccsinfo.com/picc.shtml

[11] Dr. Madarász László: A PIC16C Mikrovezérlők, Kecskemét, 2000.

 

 

 Főmodul

 Billentyűzet mátrix

 Chipkártya olvasó

 RF adó

 RF vevő

 Program

 fomodul.c

 matrix.c

 chip.c

 ado.c

vevo.c 

 HEX

 fomodul.hex

 matrix.hex

 chip.hex

ado.hex 

 vevo.hex

 SCH

 fomodul.sch

 matrix.sch

 chip.sch

 

adovevo.sch