/Projekti/Minijaturni GSM alarmni sistem

Poslije GSM call alarma i GSM SMS alarma kao dva nezavisna modula ovdje je predstavljena integracija ta dva uređaja u jedan. Bitna karakteristika ove nove verzije je u tome što ovaj uređaj može raditi i samostalno i kao modul za već postojeći alarmni sistem. Znači, u prijašnjim verzijama imali smo onaj "enable" pin koji je sistem stavljao u "naoružano" stanje odnosno omogućavao i onemogućavao skeniranje senzora. Pored tog pin-a kojeg i sada imamo, imamo mogućnost i daljinskog "naoružavanja" i "razoružavanja" sistema uz pomoć tel. poziva na broj (SIM) koji se nalazi u uređaju.

UPDATE 3 (2014-04-02): Source-code dostupan na zahtjev, kontaktirajte me putem e-maila.

UPDATE 2: U .rar fajlu je postavljena i verzija pločice sa DIP komponentama, za sve one koji imaju problema sa lemljenjem SMD dijelova. - Hvala [eDo]!

UPDATE 1: Pošto mnogi ne mogu naći PIC16F84A mikrokontroler, rekompajlirao sam kod za PIC16F628A ali nisam testirao uređaj. Ako bude problema - javite!

front4

back

Korišten je popularni mikrokontroler PIC16F84A za koji je program pisan u asembleru. Ovaj put nije korištena eksterna EEPROM memorija već je korištena SIM memorija telefona za smještanje SMS poruka i brojeva za pozivanje prilikom alarmnog stanja.
GSM telefon sa kojim je uređaj testiran je Siemens M35i (19200bps 8-N-1). Uređaj mora raditi i sa ostalim (starijim, jeftinim) Siemens telefonima kao što su: S25, C35(i), A65 i tako dalje (X35, X45)... Telefon je poželjno modifikovati tako da ga alarmni sistem može i uključiti i napajati a to ćemo vidjeti malo kasnije. Naravno, veoma je bitno isključiti zahtjev za PIN kodom na SIM kartici.

Rad uređaja
Prilikom dovođenja napajanja LED će blinknuti jednom. Nakon 2sec, uređaj će uključiti telefon sa impulsom u trajanju od 2sec, nakon čega slijedi pauza od 6sec da se telefon uključi. Tada slijedi inicijalizacija telefona odnosno okidanje AT komandi koje se vide u EEPROM prostoru programa. AT komande su smještene u EEPROM da bi se sačuvala FLASH memorija za program jer PIC16F84A ima samo 1kb FLASH memorije. Ukoliko prilikom komunikacije sa telefonom podaci ne stignu do PIC-a u roku od 3sec, telefon se re-inicijalizuje i posao kreće iz početka. Nakon četvrte neuspjele inicijalizacije slijedi reset telefona, odnosno onaj impuls od 2sec koji će "pritisnuti" PWR dugme od telefona jer PIC misli da je telefon isključen. Isto tako, PIC će i kada ne očekuje podatke od telefona provjeravati da li je telefon živ svakih 5min i ako je telefon slučajno isključen on će ga uključiti i omogućiti primanje poziva i/ili dojavu alarma. U tih 5min telefon će se ipak odmah uključiti ako se desi alarmno stanje tako da dojava može biti izvršena.

Naoružavanje i razoružavanje sistema
Sistem se može naoružati i razoružati uz pomoć poziva ukoliko je tako podešen sa opcijom opt 3, i/ili korištenjem hardverskog "enable" pin-a (moguće je koristiti i jednu i drugu opciju zajedno). Ukoliko se koristi samo opcija sa pozivom potrebno je hardverski "enable" pin spojiti konstantno na masu (GND) što je moguće uraditi sa opcijom opt 7. Ukoliko se ne koristi opcija sa pozivom, tada nam opcije 4 i 5 imaju druge funkcije: odgođeni prelazak u naoružano stanje i odgođeno aktiviranje alarma, respektivno.
Kada se sistem naoružava i razoružava korištenjem opcije pozivom postoje dva načina notifikacije odnosno obavijesti o toj radnji: beep-anje sirene kao u auto-alarmima ili callback-funkcijom, što se podešava sa opcijom opt 5. Callback funkcija je aktivna samo prilikom razoružavanja sistema, da pozove onog korisnika koji ga je razoružao jer je veoma bitno da se izvrši dojava da je sistem razoružan zbog neželjenog slučajnog razoružavanja. Sistem mogu razoružati ili samo prvi snimljeni broj u SIM imeniku ili svi snimljeni brojevi, što se podešava sa opcijom opt 4. Ova opcija ne utiče na broj primaoca dojave alarmnog stanja.

front2

front3

Alarmno stanje
Uređaj prelazi u alarmno stanje kada je naoružan i kada se aktivira senzorski ulaz. Nakon toga se uključuje izlaz za sirenu u trajanju od 45sec i počinje dojava alarmnog stanja pozivom ili SMS porukom. Dojava se vrši svim memorisanim korisnicima odnosno svim sms primaocima ili samo prvom broju u imeniku odnosno prvoj snimljenoj SMS poruci, što se podešava sa opcijom opt 2. Dojava alarmnog stanja pozivom se može vršiti ili samo na prvi snimljeni broj u SIM imeniku ili na sve snimljene brojeve, a radi na slijedeći način; Brojevi (ili jedan broj) se zovu "u krug" dok se ne ostvari veza sa bilo kojim od pozivanih korisnika. Nakon uspostavljenog poziva, veza se prekida i dojava je završena. Ukoliko se desi naredni alarm u slijedećih 25sec, sve se ponavlja, samo dojava neće biti izvršena dok ne istekne ta pauza. Ukoliko se desi greška prilikom dojave postoji pauza od 8sec koja služi da se telefon ne preoptereti pozivima. Dojava alarmnog stanja SMS porukama se takođe može izvršiti na samo jednog primaoca (jednu snimljenu SMS poruku u SIM memoriji) ili na sve, a radi na taj način što se pošalju SMS poruke svim primaocima (ili samo jednom). Isto tako, ukoliko se desi greška u slanju, postoji pauza da se telefon ne preoptereti u pokušajima slanja SMS poruka.

Statusna LED
Na uređaju postoji i statusna LE dioda. Kada je uređaj naoružan ova LED blinka u intervalima od 1,8sec. Kada je uređaj razoružan LED se isključi. Neposredno nakon razoružavanja, statusna LED će da obavijesti korisnika o tome šta se dešavalo sa uređajem dok je on bio naoružan, tako što će blinkati:

1. 5 blinkova = sistem je bio u alarmnom stanju od prethodnog razoružavanja
2. 3 blinka = desila se greška prilikom komunikacije PIC-GSM telefon
3. 2 blinka = desila se greška prilikom dojave alarmnog stanja - bilo bi dobro provjeriti kredit na SIM kartici
4. 1 blink = desila se greška prilikom dojave alarma pozivom

Ovo blinkanje će se odraditi tri puta nakon razoružavanja i u tih nekoliko sekundi nije moguće naoružati sistem.

Snimanje imenika i SMS poruka u GSM telefon
Snimanje brojeva u imenik je svima već dobro poznato. Jedino treba obratiti pažnju da unosi u imeniku budu spremljeni na SIM karticu a ne u memoriju telefona. Isto to važi i za SMS poruke. Što se imenika tiče, svaki unos ima svoju "poziciju" odnosno trocifreni broj. Svi brojevi koji će biti pozvani za dojavu alarma ne smiju imati rupu između sebe (nepopunjenu poziciju). Znači, imenik treba da bude popunjen od pozicije 001 nakon čega mora biti popunjena pozicija 002 (ako se koristi više brojeva za dojavu), pa onda 003, itd. SMS poruke su malo drugačije, kod njih nemamo mogućnost definisanja pozicije, nego prva poruka koja se kreira i snimi (a ne pošalje) će biti snimljena na poziciji 1. Predlažem brisanje svih SMS poruka sa SIM kartice prije nego što se počnu kreirati SMS poruke za dojavu.

Pomoćno napajanje uređaju
Na uređaj je moguće spojiti pomoćno napajanje koje može biti dupunjivo (akumulator) ili suho (baterije). Tip spojenog pomoćnog napajanja se podešava sa jumperom JP1 koji omogućuje ili onemogućuje punjenje pomoćnog izvora napajanja iz primarnog izvora.

Senzori
Uređaj podržava oba tipa senzora: sa NO (paralelno spajanje više senzora) i NC (serijsko spajanje više senzora) kontaktima. Tip korištenog senzora (ili njih više) se definiše sa opcijom opt 6.

senzori

Opcije i mogućnosti uređaja
Uređaj je u mogućnosti da dojavi alarmno stanje uz pomoć SMS poruka (na neograničeno mnogo primaoca) ili pozivom na jedan ili neograničeno mnogo memorisanih brojeva u telefonski imenik. Pored dojave, uređaj ima MOSFET tranzistor koji direktno može uključiti vanjsku sirenu i bljeskalicu kada se alarm aktivira.
Podešavanje uređaja se vrši uz pomoć 8 DIP prekidača koji se nalaze na ploči. Opcije su slijedeće:

- opt 1) Tip notifikacije SMS ili CALL (DIP prekidač br. 4)
- opt 2) Notifikacija alarma samo na indeks 1 u SIM imeniku ili svima (DIP prekidač br. 3)
- opt 3) Naoružavanje/razoružavanje uz pomoć poziva omogućeno/onemogućeno (DIP prekidač br. 6)
- opt 4) Naoružavanje/razoružavanje samo sa broja sa indeksa 1 u SIM imeniku kada je opcija 3 omogućena. Ako je opcija 3 onemogućena, ovaj prekidač ima funkciju da omogući/onemogući timer odbrojavanja od 8,5sec za odgođeni prelazak u "naoružano" stanje. (DIP prekidač br. 7)
- opt 5) Notifikacija o naoružanju/razoružanju sistema uz pomoć sirene ili callback funkctionalnosti kada je opcija 3 omogućena. Ako je opcija 3 onemogućena, ovaj prekidač ima funkciju omogućenja/onemogućenja timera odbrojavanja za odgođeno aktiviranje alarma od 5sec. (DIP prekidač br. 5)
- opt 6) Tip korištenog senzora NO ili NC. *Zahtjeva reset uC-a da se promjena aplicira. (DIP prekidač br. 8)
- opt 7) Spajanje hardverskog enable pin-a konstantno na masu (konstantno hardversko "naoružanje"). (DIP prekidač br. 2)
- opt 8) Omogućenje/onemogućenje sirene. (DIP prekidač br. 1)

EEPROM podešenja
Pored navedenih podešenja preko prekidača, možda bude potrebno podesiti neke parametre u EEPROM memoriji prilikom programiranja mikrokontrolera. Na zadnjoj EEPROM lokaciji se nalazi bajt koji može imati vrijednost 0x01 ili 0x00. HEX fajl koji ste downloadovali već ima upisanu vrijednost 0x01 a ona je bitna prilikom dojave alarmnog stanja pozivom. Ukoliko budete imali problema prilikom dojave alarmnog stanja pozivom ovu vrijednost treba promjeniti na 0x00. Vrijednost ovog bajta zavisi od GSM telefona koji se koristi. Naprimjer, za Siemens S25 ovdje treba da bude 0x00, dok za Siemens M35i ovdje treba da bude 0x01.

DIPswitches

Modifikacija GSM telefona
Telefon se napaja iz uređaja što znači da je potrebno izvući dvije žice iz GSM telefona na koje se inače spaja baterija. Neki telefoni ipak neće raditi na taj način jer u stvari očekuju bateriju na tim terminalima. U tom slučaju treba otvoriti bateriju, izvaditi njenu elektroniku i nju spojiti na telefon, a umjesto bateriskih ćelija izvući dvije žice za eksterno napajanje uređaja.
Pored ovoga, poželjno je izvući još jednu žicu iz telefona koja se zalemi na tastaturu telefona na mjesto tipke za uključenje (crvena tipka na tastaturi). Ta tipka naravno ima dva kontakta od kojih je jedan GND što znači da treba zalemiti žicu samo na onaj drugi kontakt. Da li je to unutrašnji kontakt kao na slici ili vanjski - to morate sami ispitati.

keypad

Video


senzor okinut - pokrenuta dojava


"razoružavanje" sistema uz pomoć poziva i status LED reportiranje

Autor (poslao): Trax

Broj download-a: 10,181

Ocjena: (2.94, glasova 4521)

Glasaj:

Datum: 01-09-2009

English version of this page: Tiny GSM alarm system

666_CallAlarmSystem.rar

Bookmark and Share Komentari (144)

komentar [144]

Check your email :)
IP: n/a

komentar [143]

Hello! Can I get the program code on asm? The address is -dima_krichino@mail.ru. Thank you.
IP: 178.124.175.18

komentar [142]

I have not tried it with A75 yet, sorry.
IP: n/a

komentar [141]

A75 при включении телефона он просит подтверждение включения.Как быть в этом случае?
IP: 195.16.110.2

komentar [140]

A75 при включении телефона он просит подтверждение включения.Как быть в этом случае?
IP: 195.16.110.2

komentar [139]

I did this alarm.But when it's awake itself turn on. and nobody this not turn. What is the problem?. Sorry for my English
IP: 91.193.161.42

komentar [138]

Hvala na odgovorima. Zadnja stvar koja mi je ostala je pwr button. dal samo pwr signal treba spojiti na + od gumba ili treba dovesti i gnd. na slici mi nije jasno jer se tamo i gnd pokazuje.
IP: 93.139.178.238

komentar [137]

Mobitel M35i ti radi ispravno, dok taj drugi bas i ne odgovara ovom alarmu - Vjerovatno ima nekih razlika u komunikaciji pa alarm ne moze da parsira podatke pravilno.
IP: n/a

komentar [136]

Uspio sam sloziti i testirao na m35i i radi sve ali me malo zbunjuje led dioda. Kada prvi put okine alarm i nakon javljanja na telefon, ledica se iskljuci i ostane iskljucena. No nakon 25s mogu okinuti opet alarm i sve radi, jedino sto nakon prvi puta ledica vise ne blinka. Malo me to zbunjivalo. Jeli to default ponasanje ledice ili sam nesto krivo slozio? Testirao sam i na mt50 mobitelu. Kod njega se desava nesto drugo. Alarm radi ali ne radi aktivacija/deaktivacija putem poziva. Dal mozda treba staviti dr
IP: n/a

komentar [135]

A da malo pregledash forum :) Ili da otkucash u google "siemenns c35 pinouts" ?
IP: n/a


Stranica komentara: 12345678...>


dodaj komentar

ime

e-mail (neće biti objavljen)

web

Koliko je = takođe dodaj slovo "a" na kraj rezultata! Npr.: 7a

Ulogiraj se!

To možeš uraditi na forumu: Login stranica. Kada se ulogiraš, vrati se na ovu stranicu i uradi refresh.

prijatelji sajta

sponzorirani linkovi

reklame