Kazalo po Svet elektronike forumu Svet elektronike
Revija za prave elektronike
 
AlbumAlbum   Pomoč pogostih vprašanjPomoč pogostih vprašanj   IščiIšči   Seznam članovSeznam članov   Skupine uporabnikovSkupine uporabnikov   Registriraj seRegistriraj se 
 Tvoj profilTvoj profil   Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil   PrijavaPrijava 

pomoč pri komunikaciji
Pojdi na stran 1, 2, 3, 4, 5  Naslednja
 
Objavi novo temo   Odgovori na to temo    Kazalo po Svet elektronike forumu -> Digitalna elektronika
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
Žičkar
Profesionalec


Pridružen/-a: Sre Dec 2004 23:06
Prispevkov: 83

PrispevekObjavljeno: Ned Jan 29, 2006 5:43 pm    Naslov sporočila: pomoč pri komunikaciji Odgovori s citatom

Lep pozdrav!

Skratka, rad bi si izdelal napravo, s katero bi lahko vključil ključavnico prek gsm aparata.Za izvedbo bi uporabil atmel8051, siemensev GSM, ki podpira ATD ukaze.Napravi sem med sabo že povezal,Tx na Rx ter Rx na Tx in GND oz. maso.
Sedaj me zanima, kako bi zadevo programsko rešil.Imam nabor vseh ATD ukazov za omenjeni GSM, vendar ne vem točno kako bi jih uporabil.
Pomoč bi rabil samo pri delu, kjer gsm prepozna npr. mojo številko iz katere bi rad aktiviral ključavnico, nato pa bi se postavila zastavica ali kako to izgleda...
Upam,da ste razumeli v čem je moj problem.

Hvala za pomoč!
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
bray
Profesionalec


Pridružen/-a: Čet Jun 2004 15:42
Prispevkov: 63

PrispevekObjavljeno: Ned Jan 29, 2006 6:06 pm    Naslov sporočila: Odgovori s citatom

Tole bo bol teoreticno, toliko, da ti malo nakazem kako bi lahko resil zadevo.
Najprej bos potreboval rutine za delo z UARTom (asm ali C ni pomembno). Sprejemni del UARTa postavis v interruptni nacin in "lovis" posamezne znake, ki ji GSM posilja nazaj in jih zlagas v buffer. Ukazi, ki jih posiljas in sprejemas so zakljuceni z znakom CR. In ta CR znak (ascii koda 0x0D oz. #13) ti potem pove (postavis zastavico), da si sprejel celoten odgovor in ga lahko v neki drugi rutini, ki jo klices glede na zastavico, obdelas. Tako imas reseno komunikacijo.
Ko potem klices na stevilko GSMa/modema ta zacne posiljati string "RING"+#13 in to pomeni da "zvoni". Kako bos pa izvedel stevilko klicocega pa je verjetno odvisno od AT nabora ukazov. Vem pa da meni na enem ericssonu to ni uspelo.

lp

_________________
"I didn't know it was impossible when I did it."
http://bray.velenje.cx/avr/terminal
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
vilko
Profesionalec


Pridružen/-a: Pon Jan 2004 11:54
Prispevkov: 805
Kraj: Ljubljana

PrispevekObjavljeno: Ned Jan 29, 2006 6:30 pm    Naslov sporočila: Ravno sem poslal uredniku Odgovori s citatom

Pred nekaj dnevi sem poslal uredniku Sveta elektronike, ing. Juretu Mikelnu, ki tudi redno bere in upravlja ta forum, članek, kako programirati z SMS vodeni avtomat. Zraven sem poslal kar nekaj v basicu8051 izvirnih programov za vzorec. Je prebral in rekel, da bo objavil in dal programe na strežnik, seveda pa ne vem kdaj bo to. Verjetno enkrat v sledečih treh številkah, razen, če ne pritisneš malo nanj, da objavi vse skupaj že v sledeči številki.
Zadevo sem preizkusil in dela, seveda pa ima vsak svoje potrebe in želje, zado sem dal programe v izvirni kodi, da jih vsak po svoji potrebi predela.

_________________
Sliši se paradoksalno, a je vendarle res:
Nekateri ljudje imajo vedno vse prav. No, včasih.
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
Vlado
Profesionalec


Pridružen/-a: Ned Jan 2004 16:11
Prispevkov: 555
Kraj: Ljubljana

PrispevekObjavljeno: Pon Jan 30, 2006 11:57 am    Naslov sporočila: pomoč pri komunikaciji Odgovori s citatom

Mislim da je samples za to dan na MCS-ovi domaci strani Poglej pod App. Tam se nahaja pod imenom (mislim da VKLOP GRETJA V AVTOMOBILU). To je prav to kar ti rabiš.
Vlado
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
Žičkar
Profesionalec


Pridružen/-a: Sre Dec 2004 23:06
Prispevkov: 83

PrispevekObjavljeno: Tor Jan 31, 2006 9:45 pm    Naslov sporočila: Odgovori s citatom

Hvala za pomoč!

Vlado, tale zadeva je napisana v bascomu...Ali mogoče veste za podoben
program, ki bi bil napisan v zbirniku?
Mimogrede, zanima me še če sem prav razumel, kako naj bi ta stvar teoretično delovala.
Ko bom jaz poklical številko sim kartice, ki bo v vezju, bo telefon preko
tx linije poslal neko kodo na rx linijo krmilnika.Zanima me,ali pošlje kakšen ATD ukaz ali številko klicočega?Zanima me tudi, kako narediti, da bo stvar funkcionirala samo na mojo številko?
Predvidevam, da nato v programu primerjam neko vrednost z vrednostjo,
ki mi jo bo poslal telefon in če sta ti dve vrednosti enaki, potem pač nadaljujem program za vklop releja,itd.

Ali sem pravilno razumel princip omenjene komunikacije?

Prosim, če je že kdo stvar izdelal da mi malo bolj razloži, ker še nikoli nisem delal s tem.

Hvala za odgovore!
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
Gustav
Profesionalec


Pridružen/-a: Pon Jun 2005 17:19
Prispevkov: 768

PrispevekObjavljeno: Tor Jan 31, 2006 10:18 pm    Naslov sporočila: Odgovori s citatom

Telefon (modem) prikljuci preko MAX232 na serijski vmesnik PCja, pozeni terminalski program, nastavi parametre komunikacije in opazuj kaj se zgodi, ko poklices svoj modem. Isto se bo zgodilo, ko bo poslusal mikrokontroler. Nemogoce je, da bi kdo kar uganil kako se tocno tvoj modem obnasa, brez da bi ga vsaj videl od blizu (ce ze ne prebral navodil zanj).

Najverjetneje se bo odzval z "RING" ali "RINGING" (odvisno od nastavitev), na kar bo cakal mikrokontroler. Kako dobiti stevilko od modema je zagotovo stvar nastavitev (moj ISDN TA jo recimo izpise samo, ce je tako nastavljen, sicer pa jo izpusti). Vrednost torej ne bo stevilka (en bajt), ampak niz bajtov v cloveku razumljivi obliki. Klasicni modemi so imeli tudi moznost odziva z numericnimi kodami (a se vedno zapisanimi kot tekst, torej za "0" je bila vrednost ASCII znaka 0 in ne 0x00), ce si jih tako nastavil - preberi navodila. Sicer si pa precej tocno opisal kako stvar izgleda.
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
Vlado
Profesionalec


Pridružen/-a: Ned Jan 2004 16:11
Prispevkov: 555
Kraj: Ljubljana

PrispevekObjavljeno: Sre Feb 01, 2006 8:53 am    Naslov sporočila: pomoc prikomunikaciji Odgovori s citatom

Ja, ce bi preberal program bi ti bilo bolj jasno, saj so komentarji zraven. Kot pravi Gustav vse to lahko preizkusiš z terminal programom. Kot sem jaz zastopil ti bi rad da procesor prepozna številko klicatelja. Za to ne rabiš ukaz ADT. ATD je ukaz za klic.
Ko priklopiš telefon na terminal pošlji v telefon ukaz AT+CLIP=1 (telefon bo odgovoril z OK) s tem bos dopovedal telefonu naj ob klicu izpiše telefonsko številko klicatelja.
Mislim da procedura potem ko pokličeš izgleda takole:
RING -odgovor telefona
CR
LF
CR
+CLIP: 041xxxxxxx -številka klicatelja
CR
LF CR

V tistem primeru ki sem ga omenil je pokazano kako iz tega izločiti številko klicatelja in jo primerjati z številko ki je vpisana v eeprom.
Vlado
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
vilko
Profesionalec


Pridružen/-a: Pon Jan 2004 11:54
Prispevkov: 805
Kraj: Ljubljana

PrispevekObjavljeno: Čet Feb 02, 2006 6:21 am    Naslov sporočila: Hmm Odgovori s citatom

Hm, ne vem, toda morda imam prav. Po dosedanjih izkušnjah z GSM aparatom naprava uporablja mednarodni sistem telefonskih številk kot

386 41 666666 ozirom 38641666666

(386 Slovenija, 41 kao omrežna skupina)

No, morda je pri Clip ukazu drugače. Vsekakor velja preveriti tako, da se gsm aparat poveže s PC-em, na katerem poženemo terminal emulator.

Pozdrav

_________________
Sliši se paradoksalno, a je vendarle res:
Nekateri ljudje imajo vedno vse prav. No, včasih.
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
Vlado
Profesionalec


Pridružen/-a: Ned Jan 2004 16:11
Prispevkov: 555
Kraj: Ljubljana

PrispevekObjavljeno: Čet Feb 02, 2006 9:57 am    Naslov sporočila: pomoc pri komunikaciji Odgovori s citatom

Koliko se spomnim telefon odgovaraj z +CLIP: "041xxxxx", tako de je potrebno izlociti samo karakterje ki se nahajajo znotraj narekovajev.To pa nam veliko pomaga. + ali 00 je pomemben samo pri mednarodnih klich in to ce se mi nahajamo v romingu, v primeru da klicemo nekoga ki se nahaja v tujini nam ni potrebno vpisati + ali 00 ker centrala ve kje se nahaja klicani.
Vlado
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
vilko
Profesionalec


Pridružen/-a: Pon Jan 2004 11:54
Prispevkov: 805
Kraj: Ljubljana

PrispevekObjavljeno: Čet Feb 02, 2006 10:35 am    Naslov sporočila: Morda nisem prav razumel Odgovori s citatom

Morda nisem prav razumel. Razumel sem to tako, da pri zvonenju, se pravi, ko GSM aparat sprejme klic in o tem obvešča mikroprocesor, ne da samo RING, temveč zraven tudi številko klicočega.

Pri SMS sporočili je GSM številka partnerja na drugi strani GSM zveze vedno 'internacionalna'. Pa sem tako posplošil, morda tudi prehitro sklepal, da je tudi tukaj tako. A sem prelen, da bi šel sprobat ..

Vsekakor je potrebno pri nalogi, ki si jo je zadal Žičkar vgraditi neko preverjanje, da ne bi vsak naključni klic odprl garažna vrata. Samo detekcija RING ni dovolj varna. No morda se da GSM aparat krmiliti tako, da avtomatsko sprejme samo klic iz seznama izbranih številk, ostale pa ignorira.


Pozdrav

_________________
Sliši se paradoksalno, a je vendarle res:
Nekateri ljudje imajo vedno vse prav. No, včasih.
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
bray
Profesionalec


Pridružen/-a: Čet Jun 2004 15:42
Prispevkov: 63

PrispevekObjavljeno: Čet Feb 02, 2006 3:06 pm    Naslov sporočila: Re: pomoc pri komunikaciji Odgovori s citatom

Vlado je napisal/a:
Koliko se spomnim telefon odgovaraj z +CLIP: "041xxxxx", tako de je potrebno izlociti samo karakterje ki se nahajajo znotraj narekovajev.To pa nam veliko pomaga. + ali 00 je pomemben samo pri mednarodnih klich in to ce se mi nahajamo v romingu, v primeru da klicemo nekoga ki se nahaja v tujini nam ni potrebno vpisati + ali 00 ker centrala ve kje se nahaja klicani.
Vlado


Ukaz za prikaz stevilke klicicega ni standardni AT ukaz in je pri razlicnih GSM telefonih oziroma modulih razlicen. Nekateri ga pa celo nimajo.

_________________
"I didn't know it was impossible when I did it."
http://bray.velenje.cx/avr/terminal
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Vlado
Profesionalec


Pridružen/-a: Ned Jan 2004 16:11
Prispevkov: 555
Kraj: Ljubljana

PrispevekObjavljeno: Čet Feb 02, 2006 6:48 pm    Naslov sporočila: pomoč pri komunikaciji Odgovori s citatom

Braj,
Žičkar ni navedel z katerim telefonom bo delal, jaz sem do zdaj to zadevo preizkusil z različnimi telefoni (nekaj različnih Ericsson-ov, Simensi, GM47 (modul Ericsson), TWIST (Siemens modem) in TC35i prav tako Siemens modul. Moram povedati da je pri nekaterih aparatih Ericsson ukaz (mislim da so ta prvi 628) AT+CLIP=1 potrebno vpisati po vsakem klicu drugače deluje samo za prvi klic. Strinjam se da AT+CLIP ni standarden ukaz, saj jih GSM-i imajo veliko več kot navadni modemi (saj tudi nudijo veliko več).
Vlado
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
Žičkar
Profesionalec


Pridružen/-a: Sre Dec 2004 23:06
Prispevkov: 83

PrispevekObjavljeno: Ned Feb 12, 2006 7:30 pm    Naslov sporočila: Odgovori s citatom

Lep pozdrav!

Uporabljal bom siemens c45.Kot ste mi svetovali, sem najprej gsm priključil na računalnik in malo eksperimentiral.V hyper-terminalu sem preveril, kaj se zgodi, ko pokličem številko.Začne se izpisovati RING.
Zanima me, ali sem pravilno razumel, kako nastaviti gsm aparat na funkcijo, da poleg RING izpiše tudi številko klicatelja?No, razumel sem tako, da moram poslati kar iz računalnika v GSM preko HyperTerminala ukaz AT+CLIP=1.Nato bo telefon odgovoril z OK in stvar je nastavljena?
Za začetek imam v mislih zadevo rešiti kar tako, da bom preverjal samo črko R...in če bo delovalo, se bom stvari lotil tudi iz strani varnosti(da bi preveril tudi številko klicatelja).Nisem dobro razumel,tistega v zvezi z znakom CR.Ali moram poleg testiranja npr. ASCII kode črke R,testirat tudi CR ali je dovolj če preverim samo R?

Upam,da ste me razumeli.

Hvala za odgovore!
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
vilko
Profesionalec


Pridružen/-a: Pon Jan 2004 11:54
Prispevkov: 805
Kraj: Ljubljana

PrispevekObjavljeno: Ned Feb 12, 2006 8:05 pm    Naslov sporočila: Treba bo probat. Odgovori s citatom

Jaz nisem eksperimentiral z ukazom AT+CLIP, a vladovo sugestijo je lahko razumeti tako, da potem, ko zaznaš Ring, (črka R morda bo dovolj, če je ta črka na prvem mestu, ) pošlješ ukaz AT+CLIP=1 in boš dobil odgovor, kdo ravnokar kliče.
Če si uspel povezati Siemensa z PC-jem, terminalemulatorjem, boš nahitreje ugotovil, če probaš.

_________________
Sliši se paradoksalno, a je vendarle res:
Nekateri ljudje imajo vedno vse prav. No, včasih.
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
Gustav
Profesionalec


Pridružen/-a: Pon Jun 2005 17:19
Prispevkov: 768

PrispevekObjavljeno: Ned Feb 12, 2006 10:01 pm    Naslov sporočila: Odgovori s citatom

CR (carriage return) je znak za konec vrstice v komunikaciji (oz. pri teleprinterjih), dolocena oprema pa mu doda se LF (line feed). Vsak odziv iz naprave (v tvojem primeru GSM) bo terminiran ali z CR ali z CR/LF. Ce bos uredil parsanje celih nizov odziva in ne le prvega znaka, bos to naredil tako, da znak po znak preberes in ko dobis CR (ali CR/LF) niz zakljucis in sele potem primerjas z dolocenimi vrednostmi (recimo z "RING" ali s tvojo stevilko). Kako so terminirani odzivi tvojega telefona bos najlazje videl, ce ga prikljucis na PC beres vrednosti v ne-ASCII obliki (torej trecimo kot hex ali decimalno); CR je 13, LF pa 10 decimalno. Spodaj iams link do Atabele ASCII vrednosti, ki ti bo poenostavila delo.

Ker bos tako ali tako moral preverjati tvojo stevilko v celoti in ne le prvi znak (ki bo v vecini primerov '0'), je povsem nesmiselno, da naredis parser za stevilko, predtem pa cakas samo na 'R', ostale znake pa meces v smeti (sploh ker se 'R' morda lahko pojavi znotraj kaksnega drugega odziva tvojega GSMa).

Na vse AT ukaze, ki so vneseni pravilno, se DCE odzove z "OK". Ce bi bil ukaz neznan ali pa sintaksa nepravilna, bi bil odziv drugacen. Kaj pocne tvoj GSM, ko mu posljes ukaz AT+CLIP=1 in ga poklices, lahko ugotovis le ti sam (enako kot si ugotovil kaj naredi brez tega).

http://jimprice.com/jim-asc.htm
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo    Kazalo po Svet elektronike forumu -> Digitalna elektronika Časovni pas GMT + 1 ura, srednjeevropski - zimski čas
Pojdi na stran 1, 2, 3, 4, 5  Naslednja
Stran 1 od 5

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
You cannot attach files in this forum
You cannot download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group