/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,180

Ocjena: (2.94, glasova 4501)

Glasaj:

Datum: 01-09-2009

English version of this page: Tiny GSM alarm system

666_CallAlarmSystem.rar

Bookmark and Share Komentari (144)

komentar [134]

Zamolio bih vas ako bi mi mogli samo napisati koji pinovi su koji, jer mi je jako tesko razumjeti preko scheme (novak sam u tome).
IP: n/a

komentar [133]

Ne znam sta da ti kazem...Meni su obe verzije radile sa tim telefonima...Spremam se da napravim i ovu SMD varijantu za auto :)
IP: n/a

komentar [132]

Linije nisu zamenjene sve je na mestu, kao što sam već rekao aktiviranje i deaktiviranje putem poziva RADI, kao i CALL BACK prilikom deaktivacije ali alarm nikad ne predje u naoružano stanje. Ako sad treba da kupim još te telefone e onda baš... kupio na limundu 3komada ako je za volju dosta je.
IP: n/a

komentar [131]

Probaj sa starijim modelima C35 ili C45 sa 628 radi :) Da nisi mozda zamenio tx i rx linije?
IP: n/a

komentar [130]

Update: Probano sa M35i i SF62 stari i novi hex sa 0x00 i 0x01 opcijama i jedan i drugi. NE RADI. Totalno identični simptomi Zvanično dižem ruke od 628 verzije dok ne naručim 16f84 pa možda mi se sa njom posreći.
IP: n/a

komentar [129]

Nesto u hexu verovatno zeza, ne šema. Alarm ima svu komunikaciju sa telefonom, ali nikako ne pređe u naoružano stanje iako prijavi preko sirene da je naoružan, ne krene dioda da blinka niti može da se okine preko senzora. Probao sam i varijantu spajanja enable na masu bez dip2 prekidača, ali ni tu ne radi. Uzgred hvala na projektu, verujem da radi ali nešto ostali imaju muku sa 628 da je osposobe
IP: n/a

komentar [128]

Plocicu sam proverio, propratio veze sa seme na samom pcb, i jedini problem koji sam imao je fet za sirenu koji je naopako. Telefon je s35 Komunikaciju izmedju telefona i alarma imam, radi naoružavanje i razoruzavanje putem poziva, pozove me kad ga razoružam, ali ni u jednoj situaciji ne pređe u naoružano stanje tjs ne krene dioda da blinka. Detektuje da telefon nije prisutan kad mu simuliram iskljucenje dugmetom i opet ga ukljuci kao sto treba.
IP: n/a

komentar [127]

Alarm radi DEFINITIVNO, to ti govorim jer sam ga ja projektovao. Sto se tice DIP verzije plocice - nju nisam testirao, ali provjeri da li je sve OK (ako imas neku sumnju u nju). Koji telefon ti koristis za ovaj uredjaj?
IP: n/a

komentar [126]

Okidanje senzora ne pipa, mrtvo, jednom u 40 puta okine pozove i stane, bez obzira na to koji je hex ili telefon zakačen. Opet da napomenem da su svi dipovi na svom mestu i sve je podešeno. Najbolje neka nam neko kaže da se ne zezamo da pravimo ovo jer ne valja to i to i radi samo sa tim i tim, da završimo priču. Jer koliko vidim dip verzija radi samo kod dvojice ljudi a kod ostalih jok.
IP: n/a

komentar [125]

i pločicu i elemente sve je ok i ispravno i neće Alarm se ponaša ovako, zakačim ga na napajanje, upali diodu jednom pa drugi put i to je to nema kratkog (3 puta) blinkanja kao da je naoružan. Pozovem telefonom alarm se deaktivira čujem 3 kratka tona iz sirene, kada je dip na call back položaju onda me pozove. Pozovoem opet čujem jedan kratak ton iz sirene i to je to opet nema blinkanja nakon ponovnog aktiviranja. Okidanje senzora ne pipa, mrtvo, jednom u 40 puta okine pozove i stane, bez obzira
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