komponente prodaja cdovi projekti info KIT kompleti download forumi knjige
Home

GSM projekti: GSM-4IO

GSM 4IO sklop GC u kutiji

Potražnja za GSM kontrolerima je svakim danom sve veća tako da Vam sada nudimo i još jednu verziju, sa daleko većim mogućnostima od dosad uobičajenih.

Za potrebe ovog sklopa GSM 4IO upotrebljen je mikrokontroler: PIC16F88 (18 pinasko kućište sa 4K flash memorije i 386 bajta RAM-a) koji radi na 4MHz. U ovaj, još uvijek "mali", kontroler stalo je jako puno funkcija, a prostora u flash memoriji ima i za daljnja proširenja!
Kako se vidi i iz samog naziva, ima 4 ulaza i 4 izlaza. Omogućava Vam da sami definišete poruke koje će Vam GC slati, da setujete do 4 master-a koji jedini mogu upravljati, da koristite pripejd karticu te vršite provjeru stanja na kartici i dopunu kredita i još par funkcija koje nisu viđene do sada na ovakvim uređajima. Sve komande počinju sa "Gc." što označava da se obraćamo GSM kontroleru, pri čemu se mogu koristiti mala ili velika slova po želji.

Objasnićemo detaljno svaku komandu:

  • - Provjera rada GC-a: Gc.V?
    Komanda V? samo vraća verziju softvera na kojoj GC trenutno radi, ali to je ujedno i provjera da je sve u redu i da GC regularno prima i šalje poruke.

  • - Upravljanje sa izlaznim relejima: GC.[A/B/C/D][0/1/R]
    Izlazni releji su oznečena slovima A,B,C i D, a sljedeći simbol iza slova može biti: 0 (nula) , 1 ili slovo "R". Logično, 0 označava da rele želimo isključiti, a 1 da ga želimo uključiti. Slovo R će izazvati preklapanje releja u suprotno stanje od trenutnog, zadržavanje tog stanja 5 sekundi a zatim povratak u prvobitno stanje. Ovo je namijenjeno za potrebe resetovanja nekog uređaja, pa je zbog toga i uvedeno baš slovo "R".
    Primjer:
    Gc.A1C0Dr - rele A će biti uključen, rele B će ostati u istom stanju, rele C će biti isključen a rele D resetovan na 5 sek. (ako je bio isključen, komanda će ga uključiti na 5 sek. a zatim ponovo isključiti, i obrnuto, ako je bio uključen komanda "Dr" će ga isključiti na 5 sek. i ponovo uključiti). Kao što se vidi i iz ovog primjera, možete navesti jedan ili više releja kojima želite mijenjati stanje.
    Stanje svih releja se pamti u EEPROM-u i u slučaju nestanka napajanja biće vraćeno na zadnje setovano stanje. Komanda R za reset nema utjecaja na pamćenje stanja releja, te ako za vrijeme njenog izvršavanja nestane napajanja, to neće izazvati pogrešno setovanje releja na startu.

  • - Setovanje poruka: Gc.P[1-4][0/1/#][*]tekst_poruke
    Za svaki od 4 ulaza, na kojima se nalaze optokapleri, možete definisati po dvije poruke koje će automatski biti poslane prilikom promjene stanja na ulazu. Svaki otvoren ulaz se nalazi na logičkoj jedinici, a spajanjem na masu dovodi se u stanje logičke nule. Obe ove promjene mogu dovesti do slanja sms poruke.
    Komanda "p" označava setovanje poruke, prvi broj nakon slova p je broj ulaza 0 do 4, a drugi broj (0 ili 1) je logičko stanje ulaza. Simbol "#" označava brisanje poruke na zadatoj poziciji. Simbol "*" ako se unese kao prvi znak u poruci oznacava da ce poruka biti poslana direktno na displej telefona, a ne kao obična sms poruka!
    Primjeri:
    Gc.p10 Ulaz 1 je zatvoren.
    Setovanje poruke koja se šalje kada ulaz 1 bude zatvoren (spojen na masu).
    Gc.p31 Ulaz 3 je otvoren.
    Setovanje poruke koja se šalje kada ulaz 3 bude otvoren (vise nije spojen na masu).
    Gc.p20#
    Brisanje poruke koja se slala u slučaju da ulaz 2 bude zatvoren.
    Gc.p1#
    Brisanje OBE poruke vezane za ulaz 1. Bilo kakva promjena na ulazu 1 više neće dovoditi do slanja sms poruke.
    Gc.p11*Ulaz1 je otvoren.
    Kada ulaz 1 postane otvoren poruka "Ulaz 1 je otvoren" će biti poslana direktno na displej a ne kao obična sms poruka!

    Treba još napomenuti da će poruke o promjenama na ulazima biti poslane na SVE master brojeve koji su upisani u GC, a u slučaju da nijedan master broj nije setovan, biće upućene na broj koji se zadnji obratio GC-u sa bilo kojom komandom! Maksimalna dužina poruke je 20 znakova. Ako se pošalje duža, biće odsječen višak znakova.

  • - Setovanje master brojeva: Gc.M[1-4][+xxxxxxxxxxx]
    GC.M1 - Setuje MASTER broj na pošiljaoca poruke, tako da nadalje samo taj broj može upravljati sa GC-om. Nakon ove komande, samo se sa master broja može upravljati GC-om. Ako nema ni jednog setovanog mastera u GC-u, dovoljno je samo zadati master komandu M1 (ili M2, M3, M4) i broj posiljaoca će biti upisan kao master broj na zadatoj poziciji. Nakon ovoga, samo master može dodati još neki broj u master listu, navođenjem kompletnog broja kao parametra komande. Preporučuje se unošenje kompletnog broja a to znači obavezno i znaka '+' prije broja (oblik 00387... nije podržan za sada i ne može se koristiti!).
    Primjeri:
    GC.M2 Ako je ova komanda poslana sa broja +38765001002, taj broj se automatski upisuje kao master 2 i od tog trenutka samo taj broj moze upravljati sa GC-om. To znači i da samo taj broj može dodati još nekog u listu master brojeva! Npr. komadom GC.M3+38766123456 - za mastera 3 se setuje telefon sa brojem +387-66-123-456 Nakon ovoga imamo situaciju da su kao masteri setovani brojevi: +387-65-001-002 na poziciji M2 i +387-66-123-456 na poziciji M3. Master brojevi M1 i M4 su još uvijek slobodni i bilo ko od postojećih mastera može da ih popuni sa nekim novim brojevima.
    GC.M2# - Izvršenje ove komande će obrisati mastera 2 i on više nema pravo da upravlja sa GC-om.
    GC.M# - Briše sve master brojeve, tako da bilo ko može upravljati GC-om.
    GC.M? - Ovom komadom od GC-a ćete dobiti izvještaj o svim setovanim master brojevima u obliku: M1:#, M2:+38765001002, M3:+38766123456, M4:#

  • - Izvjestaj o stanju svih ulaza i izlaza: Gc.R?
    Izvršenjem ove komande, GC Vam šalje sms poruku sa izvještajem u sljedećem obliku:
    Stanje ulaza [1-4]:1111 Stanje releja [ABCD]: 0000  GC4IO v2.0

  • - Izvjestaj o stanju kredita (ako je u GC-u pripejd kartica): Gc.K?
    GC će u toku izvršavanja ove komande poslati upit mobilnoj mreži u obliku poziva "*101#" i kada dobije odgovor, spakovaće ga u sms poruku i proslijediti na broj koji je poslao komandu.

  • - Dopuna kredita (ako je u GC-u pripejd kartica) : Gc.Kxxxxxxxxxxxxxxxx
    Slanjem ove komande, sa važećim brojem vaučera iza slova K, GC će izvršiti dopunu kredita i kada primi izvještaj o tome, poslaće Vam ga u obliku sms poruke da vidite da li je dopuna uspjela i do kada važi kartica. Za komande "K" ne morate imati master privilegiju, što znači da svako može provjeriti stanje na kartici GC-a i svako može poslati broj za dopunu (što može biti vrlo važno u slučaju da je master odsutan i/ili nedostupan a GC-u istekne pripejd kartica).

  • - CALL BACK funkcija: Gc.CB
    GC će nazvati broj sa kojeg je dobio ovu poruku i ukoliko je spojen eksterni mikrofon na GC, moći ćete slušati sve šta se dešava o okolini GC-a sve dok ne prekinete vezu. Sobzirom da vise ne koristimo telefone nego GSM module, ne ugradjujemo mikrofonasko pojacalo u standardnoj izvedbi, tako da se ova funkcija moze koristiti samo ako nam naznacite da zelite i audio ulaz za mikrofon, koji onda moramo dodatno ugraditi !
To je, barem za sada, lista komandi koje poznaje naš GSM kontroler, ali to još nije sve! Šlag na torti je mogućnost da u jednoj poruci kombinujete više komandi, koje se odvajaju zarezom. Iza zareza može se ostaviti jedan blanko simbol (razmak), radi preglednosti, ali nije obavezan. Svi blanko simboli se zanemaruju, osim onih u porukama. Ukupna duižina poruke sa komandama ne smije prelaziti 70 znakova. Ukoliko je poruka duža biće obrisana bez ikakve obrade komandi. Pogledajte sljedeće primjere i sve će Vam biti jasno.

Primjeri:
Gc.p10Nema napajanja, p11Napajanje OK, M1, M?
Ovom jednom porukom smo praktično izvršili kompletno konfigurisanje GC-a. Setovane su dvije poruke na ulazu 1 (za stanje 0 i 1), setovan je master broj na broj posiljaoca (pretpostavlja se da nijedan master nije bio setovan) i zatražen master izvještaj. Npr. kada nestane napajanja na nekom uređaju i rele zatvori kontakte na ulazu 1 dobićete prvu poruku. Kada se napajanje ponovo uspostavi i rele otvori kontakte, dobićete drugu poruku. (Pretpostavlja se da imate riješeno rezervno napajanje u obliku akumulatora ili UPS-a, koje napaja GC)

Gc.M1, M2+387xxxbroj, M3+387xxxbroj, M?
Ovom komandom smo setovali svoj broj kao master 1 i jos dva broja kao mastere 2 i 3, te zatražili master izvještaj da se uvjerimo da je sve ispravno "leglo" na svoje mjesto.

Gc.M#, P2#, A1BrC0, R?
Ovdje smo obrisali sve mastere, isključili slanje svih poruka sa ulaza 2, uključili rele A, resetovali rele B na 5 sek., isključili rele C te zatražili izvještaj o stanju svih ulaza i izlaza.

Svaka komanda je aktivna odmah nakon izvršavanja, o čemu treba voditi računa. Npr. u situaciji da zadate sljedeći niz komandi:
Gc.M1#, B1, R?
Ukoliko je setovano više mastera, a vaš master broj je master 1, nakon prve komande M1# taj master broj je onemogućen i više nemate pravo da upravljate sa GC-om, tako da ostale komande, u ovom slučaju "B1" i "R?" nemate pravo da izvršavate, i one neće imati nikakvog efekta.
Međutim, ukoliko je master 1 bio jedini setovani master broj, nakon komande M1#, svi dobijaju pravo upravljanja sa GC-om, tako da se i ostale komande izvršavaju normalno.

Puštanje GC-a u rad

Za napajanje GSM kontrolera se preporučuje napon 12V/1A, mada će raditi i sa bilo kojim naponom od 8 do 15 V / 1A. Polaritet dovedenog napona na priključnim klemama je označen ali postoji i zaštitna dioda koja će spriječiti havariju i u slučaju pogrešnog priključenja napajanja.

Nakon priključenja na napajanje modulu treba oko 20 sek. da se aktivira i nadje mrežu. Crvena LED će da se ugasi i nakon toga je GSM kontroler spreman za prijem komandi. Na pločici kontrolera treba samo da treperi zelena LED otprilike svake 2 sek. To znači da je GC spreman i da sve radi normalno.

Napajanje mora biti dovoljno snažno jer GSM modul može u momentu (vrlo kratko) kada traži mrežu ili nešto prima/šalje, povući i dosta struje. Baterije to daju bez problema, ali ovdje nema baterije i ako izvor nije dovoljno snažan, napon padne u djeliću sekunde ispod dozvoljene granice a kontrolna logika u GSM modulu ga ugasi ! Mikrokontroler ce detektovati da GSM modul ne odgovara na upite i resetovaće cijeli sklop, uključiti ponovo modul (zasasvijetliće crvena LED na 2 sek.) i sve kreće ispočetka...

Mikrokontroler će nakon uključivanja provjeriti da li je modul aktivan, sačekati da pronađe mrežu, a nakon toga će početi da isčitava pristigle sms poruke, da ih dekodira i izvršava komande koje su njemu namijenjene. Nakon obrade poruka se briše, kao i sve ostale poruke koje nisu namijenjene GC-u. To mogu biti poruke od mobilne mreže, slučajno poslane na taj broj i slično. One ne smiju ni na koji način utjecati na rad GC-a.

U softveru mikrokontrolera je preduzeto jako puno stvari da bi se obezbijedila maksimalna pouzdanost rada uređaja. Npr. za razliku od svih drugih uređaja ovog tipa, koji koriste komandu AT+CGM=0 čitajući tako samo nove poruke, ovdje koristimo komandu AT+CMGL=4 i čitamo sve poruke, koje se zatim obrađuju i brišu jedna po jedna, vodeći računa o memorijskim lokacijama na kojima se nalaze.
Ovo može biti vrlo važno u nekim situacijama, npr. ako poruka bude primljena i GC počne njeno dekodiranje ili izvršavanje a u tom trenutku dođe do nestanka napajanja ili gašenja tel. zbog lošeg napajanja, neke jake smetnje i slično. GC će ponovo pokrenuti modul, uspostaviti komunikaciju, pročitati istu poruku, izvršiti komandu i obrisati poruku. Ako se koristi varijanta +CGM=0 za čitanje, ta poruka se više ne može pročitati jer je već pročitana i nije više NOVA poruka, pa će zadata komanda ostati neizvršena!

Čitav uređaj je napravljen sa ciljem da maksimalno pouzdano obavlja svoju funkciju i u najtežim mogućim uslovima.
Aktiviran je i interni watch-dog u mikrokontroleru, tako da se GC neće zablokirati u slučaju neke jake smetnje (koje su sasvim očekivane na antenskim stubovima punim najrazličitijih antena i uređaja). Tačnije, ako do toga i dođe, watch-dog će izazvati automatski reset i dalje sve nastavlja normalno da radi.

Iz našeg iskustva znamo da se najčešće koristi kao alarmni uređaj ili za udaljeni nadzor, upravljanje i dojave sa raznim drugim uređajima koji se nalaze na nepristupačnim terenima (vrhovi planina i sl.). Potrebno je i malo mašte pa ćete se i sami iznenaditi šta se sa ovakvim uređajem može dobiti. Sa jednim releom na ulazu možete dobiti informaciju o tome da je nestalo napajanje i uređaji vam sada rade na UPS-u (ovakva konfguracija se često sreće kod nadzora čvorova za wireless internet).
Takođe, ako na nekom vašem uređaju imate LED koja signalizira grešku, neispravnost nekog linka i sl. dovoljno je da u jednu cjevčicu ubacite foto tranzistor koji spojite na ulaz GC-a i pričvrstite cjevčicu na tu signalnu LED. Sve dalje je jasno... treba samo setovati komandu GC npr. ovako:
Gc.P30Greska na W.linku, P31Link radi OK
i imaćete vrlo bitnu informaciju u roku od nekoliko sekundi.

Treba napomenuti i da je u sklopu GC-a urađen i jedan strujni izvor namijenjen za aktiviranje ulaznih optokaplera. Anode svih dioda iz optokaplera su spojene zajedno i preko jednog jumpera (koji je dostupan na štampanoj ploči) se mogu spojiti na ovaj strujni izvor (što je označeno i na kutiji uređaja). Ako je udaljenost između GC-a i nekog vašeg releja ili prekidača koji zatvara ulaz i par desetina metara, sve će i dalje da radi bez greške. Na ovaj način možete napraviti od ovog GC-a alarmni uređaj spajajuću direktno PIR senzore na ulaze - ništa Vam više nije potrebno! Zadrška nakon uključenja, dok se modul aktivira i nađe mrežu, taman je dovoljna da napustite prostor prije nego se ovaj alarmni uređaj aktivira...

Teško je i zamisliti sve moguće primjene, a često i sami kupci imaju zanimljivih ideja. Skoro je jedan kupac ovog GC-a pitao da li je moguće da dva ovakva uređaja komuniciraju između sebe? Poslije par sekundi razmišljanja, odgovor je bio - "naravno da mogu"! Dovoljno je da poruka koju prvi šalje bude validna komanda za drugi GC. Treba samo poslati nešto u stilu "Gc.P10GC.A1, P11A0". Znači kada se neki uslov ispuni na prvom GC-u (ulaz 1 dodje na nulu), poslaće poruku drugom GC-u da uključi rele A. Ako ulaz 1 dodje na logičku jedinicu, poslaće poruku da se isključi rele A na drugom GC-u. Kakve sve kombinacije se mogu izvesti i šta se sve možete ostvariti sa ovakvim uređajima ostaje Vam da sami smišljate i kombinujete...

Novo: GSM-4IO v2.3

U najnovijoj verziji GC-a omogućili smo i još jednu, za neke primjene vrlo značajnu funkciju! Ako GC želite da spojite na alarmni sistem i koristite za dojavu alarma, vrlo je važno da ta informacija stigne do Vas što je prije moguće i da ne ostane neprimjećena. SMS poruke mogu ponekad dosta kasniti, ako je centrala mobilnog operatera preopterećena, što smo se svi uvjerili npr. u novogodišnjoj noći kada se šalje ogroman broj poruka u vrlo krtkom vremenu, ili ako ste u romingu.

U takvim primjenama GC-a, puno je bolje rješenje POZIV umjesto SMS poruke, jer će biti uspostavljen sigurno puno brže i teže će ostati neprimjećen. Iz tih razloga smo omogućili da se za svaki master broj odredi da li želi da primi i POZIV i SMS ili samo SMS poruku. Postojeca komanda M[1-4] je dobila jos slovo "C" iza broja mastera, koje označava da se na taj broj upućuje i poziv i sms. Slanje sms poruke smo ostavili u svakom slučaju i ono se ne može isključiti, jer ako broj trenutno nije dostupan pa poziv ne bude ostvaren, poslana sms poruka će čekati kod mobilnog operatera neko vrijeme i biće poslana čim broj postane dostupan, što takođe može biti od koristi jer će informacija ipak biti primljena pa makar i sa kašnjenjem.

- Setovanje master brojeva, sada ima oblik: Gc.M[1-4][C][+xxxxxxxxxxx]
Primjer:
Gc.M1C, M2C+387xxxbroj
Ovom komandom smo setovali svoj broj kao master 1 i drugi master na neki broj, a pri tom se u oba slučaja zahtijeva i POZIV i SMS poruka kod aktiviranja nekog ulaza.

Kao i uvijek, sve vaše kritike, predlozi i ideje su dobrodošli na mail: info@elektronika.rs.ba

Prodaja Prodaja

GSM-4IO : GSM kontroler sa 4 ulaza i 2 releja, GSM modul SIM900, u kutiji
260 KM

GSM-4IO_v2 : GSM kontroler sa 4 ulaza, 4 releja i senzorom temperature, GSM SIM900, u kutiji
300 KM

Narudžbe na mail: narudzbe@elektronika.rs.ba



home | o nama | katalog | cdovi | prodaja | projekti | linkovi | download | forumi | kontakt | alfanet

Hosted by www.poen.net