|
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
ljudsko Član
Pridružen-a: Pon 31 Mar 2008 8:19 Prispevkov: 1184 Aktiv.: 6.05 Kraj: Koroška-Mežica
|
Objavljeno: Sre Jun 01, 2011 12:50 pm Naslov sporočila: GSM modem in PIC |
|
|
Lep pozdrav!
Napisal sem program za sprejemanje SMS sporočil in upravljanje naprav in ga trenutno testiram s povezavo PC->PIC, tako da s PC-ja pošljem sporočilo mikrokrmilniku, kot bi prišel SMS. Deluje mi vse super. Tudi, če priklopim GSM modem na računalnik na COM port, se odziva normalno. Zakaj pri hudiču, se noče odzivat na komande, poslane z mikrokrmilnika? Povezano imam RX-TX TX-RX ter maso... je ob priklopu na računalnik povezano še kaj drugega? _________________ return;
brake; |
|
Nazaj na vrh |
|
|
drVrh Član
Pridružen-a: Sre 20 Feb 2008 20:17 Prispevkov: 918 Aktiv.: 4.66 Kraj: Slovenija-Koroska-Prevalje-Lese
|
Objavljeno: Sre Jun 01, 2011 1:01 pm Naslov sporočila: |
|
|
Si preveril kakšne nivoje ima GSM modul?
namreč na računalnik gredo nivoji RS232, mikroprocesor nevem katerega imaš, pa ima nivoje TTL, posledično to pomeni da moraš dodati pretvornik nivojev (MAX232) med modulu in mikroprocesorju.
kateri uC? Kateri modul predvidevam da MC35i? MAX232 sem dal med ta dva na 89C4051, ker ima TTL nivoje. _________________ Iz dneva v dan sem se spraševal kaj je to elektrika, vendar nisem našel odgovora ... in še vedno si postavljam to vprašanje
LP
Grega |
|
Nazaj na vrh |
|
|
ljudsko Član
Pridružen-a: Pon 31 Mar 2008 8:19 Prispevkov: 1184 Aktiv.: 6.05 Kraj: Koroška-Mežica
|
Objavljeno: Sre Jun 01, 2011 1:18 pm Naslov sporočila: |
|
|
Imam MAX232 vmes. Saj pravim, komunikacija med PIC in PC poteka super, med GSM in PIC pa ne. _________________ return;
brake; |
|
Nazaj na vrh |
|
|
matjazkariz Član
Pridružen-a: Sre 03 Nov 2004 18:09 Prispevkov: 1026 Aktiv.: 4.60
|
|
Nazaj na vrh |
|
|
ljudsko Član
Pridružen-a: Pon 31 Mar 2008 8:19 Prispevkov: 1184 Aktiv.: 6.05 Kraj: Koroška-Mežica
|
Objavljeno: Čet Jun 02, 2011 12:37 am Naslov sporočila: |
|
|
Pravim, da imam povezano križno TX-RX ter maso..Tukaj napake ni. Poleg tega se mi je pa zdaj začelo dogajati, da modem niti več ne sprejema SMS-ov...ko pošljem SMS na številko, se nič ne zgodi, prav tako če ga želim prebrati (AT+CMGR=1) je prazna lokacija. Kličem pa ga lahko..Prav tako, če SMS pošljem iz modula, ga ne dobim, na hyperterminalu pa mi napiše, da je bil poslan.. _________________ return;
brake; |
|
Nazaj na vrh |
|
|
bungee Član
Pridružen-a: Pon 07 Mar 2005 18:49 Prispevkov: 1479 Aktiv.: 6.63 Kraj: Ljubljana
|
Objavljeno: Čet Jun 02, 2011 1:17 am Naslov sporočila: |
|
|
Sim kartica je aktivna?
Oziroma kaj si vmes spremenil?
Pa še namig, ali si poizkusil namesto GSM modema priključit PC na tvoje vezje in simulirat modem? |
|
Nazaj na vrh |
|
|
ljudsko Član
Pridružen-a: Pon 31 Mar 2008 8:19 Prispevkov: 1184 Aktiv.: 6.05 Kraj: Koroška-Mežica
|
Objavljeno: Čet Jun 02, 2011 2:19 pm Naslov sporočila: |
|
|
bungee je napisal/a: |
Pa še namig, ali si poizkusil namesto GSM modema priključit PC na tvoje vezje in simulirat modem? |
Sem. To sem tudi napisal. S PC-jem simuliram GSM modem in program deluje super. Torej čip pošilja vse OK, sprejema pa tudi od PC-ja. GSM modem očitno ničesar ne pošilja nazaj ali pa celo ne sprejema od čipa ničesar. Sem že poskusil priklopiti in modem in PC istočasno na čip. Na terminalu dobim želen ukaz, ampak program se tam ustavi, ker GSM modem ničesar ne pošlje nazaj. Kartica je aktivna, sem jo dal v svoj telefon in deluje. Saj pravim, če kličem na to številko iz svojega telefona mi na terminalu izpisuje, da imam dohodni klic. Le z SMSi je problem in s komunikacijo. Kakšno povezavo bi še lahko preizkusil? _________________ return;
brake; |
|
Nazaj na vrh |
|
|
ljudsko Član
Pridružen-a: Pon 31 Mar 2008 8:19 Prispevkov: 1184 Aktiv.: 6.05 Kraj: Koroška-Mežica
|
Objavljeno: Čet Jun 02, 2011 4:12 pm Naslov sporočila: |
|
|
Pravkar sem ugotovil, da modem vsakokrat pošlje pred stringom dve escape sekvenci (najprej 0xd, nato 0xa). Na konco pa itak isto. Sem tudi to že upošteval v kodi, ampak ni to vzrok. _________________ return;
brake; |
|
Nazaj na vrh |
|
|
maty Član
Pridružen-a: Pon 11 Jan 2010 0:57 Prispevkov: 124 Aktiv.: 0.71 Kraj: Svečina
|
Objavljeno: Čet Jun 02, 2011 4:24 pm Naslov sporočila: |
|
|
Morda PIC prehitro pošilja podatke za modem? Sam sem imel podobno težavo, da mi je delalo normalno na PC--GSM modem, uC--GSM modem pa ne. Moral sem malo zakasnitev vstaviti in deluje.
Ja, vsak ukaz ko pride od modema, se začne in konča z 0x0d in 0x0a. SMS sporočilo pa: 0x0d 0x0a +CMT: " telefonska st" in datum ter ura 0x0d 0x0a tekst sms sporočila 0x0d 0x0a
Ne vem kako bereš tel številko, recimo, da ti prepozna +CMT: " je med : in " presledek. |
|
Nazaj na vrh |
|
|
Vlado Član
Pridružen-a: Sre 03 Mar 2004 21:35 Prispevkov: 561 Aktiv.: 2.52 Kraj: Ljubljana
|
Objavljeno: Čet Jun 02, 2011 4:33 pm Naslov sporočila: |
|
|
Citiram: |
Pravkar sem ugotovil, da modem vsakokrat pošlje pred stringom dve escape sekvenci (najprej 0xd, nato 0xa) |
Mislim da se tudi to da rešiti, tako da modemu pošlješ ukaz ATV0 (modem bo odgovarjal z <stringCRLF>, če je ATV1 potem modem odgovarja CRLF<string>CRLF.
Predlagam da narediš kratek program s katerim boš modemu poslal samo ukaz AT, modem mora odgovoriti z OK, ko boš sprejel pravilno OK boš ugotovil tudi kako sprejemati vse ostale odgovore vključno z SMS.
Pa še tole, SMS je sestavljen iz dveh stringov ki ti jih vrne telefon, v prevem je tel. številka pošiljatelja, ura in datum, v drugem stringu pa sporočilo. |
|
Nazaj na vrh |
|
|
ljudsko Član
Pridružen-a: Pon 31 Mar 2008 8:19 Prispevkov: 1184 Aktiv.: 6.05 Kraj: Koroška-Mežica
|
Objavljeno: Pet Jun 03, 2011 2:09 pm Naslov sporočila: |
|
|
Zadeva deluje!
Problem je bil, ker sem imel vključen "echo" na modemu in vsak ukaz, ki sem ga poslal, ga je najprej poslal nazaj, šele nato je odgovoril z "OK". Dodal sem tudi pavze med določenimi operacijami, ker sem ugotovil, da se včasih "zavozla". _________________ return;
brake; |
|
Nazaj na vrh |
|
|
red_mamba Član
Pridružen-a: Ned 20 Feb 2005 17:56 Prispevkov: 1486 Aktiv.: 6.67 Kraj: Yogyakarta
|
Objavljeno: Sob Jun 04, 2011 10:58 am Naslov sporočila: |
|
|
ljudsko je napisal/a: |
Zadeva deluje!
Problem je bil, ker sem imel vključen "echo" na modemu in vsak ukaz, ki sem ga poslal, ga je najprej poslal nazaj, šele nato je odgovoril z "OK". Dodal sem tudi pavze med določenimi operacijami, ker sem ugotovil, da se včasih "zavozla". |
No pavza je malo slaba programerska rešitev
Naredi zanko ki počaka na "pravilen" odgovor ali timeout-a _________________ Bad things happen to good people all the time for no reason!
Blog |
|
Nazaj na vrh |
|
|
ljudsko Član
Pridružen-a: Pon 31 Mar 2008 8:19 Prispevkov: 1184 Aktiv.: 6.05 Kraj: Koroška-Mežica
|
Objavljeno: Sre Jun 08, 2011 6:12 pm Naslov sporočila: |
|
|
Zanka tako ali tako čaka na pravilen odgovor. Program je napisan zelo dinamično, edino time outa nimam. Je pa problem verjetno nekje zaradi COM porta in motenj, ker verjetno kaj "obvisi" na liniji. S kratko pavzo stvar deluje sicer malo boljše, ampak je treba najti drugačno rešitev. _________________ return;
brake; |
|
Nazaj na vrh |
|
|
maty Član
Pridružen-a: Pon 11 Jan 2010 0:57 Prispevkov: 124 Aktiv.: 0.71 Kraj: Svečina
|
Objavljeno: Sre Jun 08, 2011 7:12 pm Naslov sporočila: |
|
|
v bistvu jaz sem napisal da sem dodal pavzo....ampak nisem pisal: delay_ms(xxx), ker to res ni najbolje, ker tukaj program obvisi dokler se čas ne izteče.
Vedno delam pavze z timerjem in potem vedno pogledam ko grem mimo zanke, če je timer že preštel do neke vrednosti. |
|
Nazaj na vrh |
|
|
|
|
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 Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 74 dni
Powered by phpBB © 2001, 2005 phpBB Group
|