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!
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.
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.
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.
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.
Video
senzor okinut - pokrenuta dojava
"razoružavanje" sistema uz pomoć poziva i status LED reportiranje
Ako mu gejt ide na masu, onda vjerovatno nisi uzeo dobar tranzistor. Shema je tacna i plocica
je tacna. Jedino je moguce da si ti nesto zeznuo ili pogresno okrenuo tranzistor. Sto se tice
razoruzavanja pozivom, nisi dobro podesio DIP prekidace. Detaljnije procitaj sta koji DIP radi
pa ih nastimaj i proraditi ce :) IP: n/a
Uradio sam uredjaj, salje poruke, zove ali ne radi naoruzavanje/razoruzavanje pozivom. Broj je
na SIM kartici na prvom mestu (jedini je) i identican je pozivnom broju.Probano sa C45,M55.
Uzgred, mislim da je na plocici sa DIP komponentama tranzistor pogresno spojen jer mu gejt ide
na masu. Pozdrav i molim za pomoc! IP: n/a
Just before clicking the BURN icon in your programmer, uncheck the "CP" checkbox.
Then you should be able to read your IC after programming. Try it... IP: n/a
trax, when i loaded the hex file to PIC16F84A, i can't read the loaded file.
0000 0000 0000 0000
0000 0000 0000 0000
There was an error upon loading. IP: 121.54.32.153
I am using LM317 and there isn`t any kind of temperature problems. Just listen a trax advice
use passive aluminium cooler. LM317 is heat when Siemens calling... IP: n/a
You don't need any cooling except when the Siemens phone is ringing or calling. Simply put an
Aluminum cooler just like I did in the picture (it is very small under the LM stabilizer). The
box doesn't have to be ventilated... don't worry. IP: n/a