/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 [104]

Haha... cuj Stojadin :) I ja sam neku noc uhvatio kako mi obilaze auto :)
IP: n/a

komentar [103]

Pre par meseci oko pola jedanaest mi zvoni. Ja pogledam kroz prozor i vidim dvojicu kako ceprkaju. Pitam ih jel treba pomoc? Bili su totalno zaprepasceni cinjenicom da sam ih uhvatio u delu. Srecom pa su pobegli pre nego sto su ista lose uradili. Uostalom, bili su bar duplo veci od mene :(
IP: 178.148.65.89

komentar [102]

Uh, mog stojadina konstantno drndaju lopovi. Pre ugradnje su mi ukrali autoradio, akumulator i rezervni tocak. Jednom nedeljno pokusavaju da izvade gorivo. Zato sam shok senzore postavio na najosetljivije pa me zove i kad ga neko ruzno pogleda. Otici ce mi vise para za kredit na siemensu nego sto vredi auto :)
IP: 178.148.65.89

komentar [101]

@msb: da, uredjaj ocekuje da se javis na poziv. jedino tako on moze biti siguran da je uspjesno izvrdio dojavu! @ostali: niste podesili dobro DIP prekidace, fakat nemam kad da ovo analiziram pa se morate poigrati sami.
IP: n/a

komentar [100]

... a mozda je i problem sa ovom verzijom za 628?
IP: 178.148.65.89

komentar [99]

Ja sam napravio sa 628 i drzim ga vec par meseci u autu. Imam problem da alarmiran drzi sirenu beskrajno dugo, pa sam je iskljucio i ostavio da me samo zove. Problem je sto ga je 99\% vremena nemoguce deaktivirati pozivom kada je u stanju alarma. Uporno me zove, ja odbacujem poziv i u medjuvremenu pokusavam da ga deaktiviram. Ponekad hoce, ali najcesce nece. Jednom sam merio i drzao je 5 minuta alarm. Posle toga vise nije aktivan a led treperi kao da jeste. Hm. Nije mi jasno, mozda on trazi da se ja javim
IP: 178.148.65.89

komentar [98]

Upravo tako sam uradio, sa brisanjem imenika i bez unosenja imena, citao sam "probleme" koji su ljudi imali i primenjivao resenja ali bez rezultata. Probao sam i sa 16f84 i sa 16f628a ali se identicno ponasa. Pozz
IP: n/a

komentar [97]

Pozdrav drugari Trax je pokushao da vam objasni ali evo ajde i ja cu. Alarm sa dip componentama je i dan danas u funkciji znaci radi sve naoruzavanje/razoruzavanje irfz je dobro postavljen po datasheet-u tako da stvarno neznam gde vam je greshka. Ja sam koristio C35 i ovaj uredjaj RADI 100\% Probajte ovako da pobrishete sve sa SIM kartice znaci sve da kartica bude prazna i da kada unosite br telefona koji ce biti zvan uradite to bez unoshenja imena i sacuvate ga tako znaci samo broj i save to contacts. T
IP: n/a

komentar [96]

Kod mene je isti problem.Pozivi i poruke rade dobro ali razoruzavanje i naoruzavanje nece da radi.Mislio sam do telefona posto koristim siemens m55,a li iz predhodnog posta vidim da i sa drugim telefonom pravi problem. Ranije sam napravio ovaj alarm sa smd komponentama koji je radio bez greske ali za ovaj mislim da ima neki propust na plocici.
IP: n/a

komentar [95]

Ma podesenja su sigurno tacna, hiljadu puta sam proverio, jedino telefon palim rucno, ali to ne bi trebalo da ima veze. Da li u softveru kod uporedjivanja brojeva ima ulogu duzina broja, broj je u formatu +38161xxxxxxx, jos mi jedino to pada na pamet. Probao sam i sa izmenom u EEPROMU ali isto. Sad primecujem da posle dojave izlaz za sirenu ostaje aktivan i posle 45s. A sema je tacna, nego kod rasporeda komponenti mislim da tab od irfz44n treba da gleda na drugu stranu :) Pozdrav
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