Fórum témák
» Több friss téma |
Fórum » GPS GSM modulok programozása
Témaindító: Moris Grant, idő: Aug 20, 2008
Témakörök:
Köszönöm! Ha simán elküldtem neki a AT+CGMR parancsot a képen látható beállításokkal (a +CR gomb kiválasztva) akkor válaszolnia kéne? (Nálam a PORT2 most a virtuális soros-USB port)
Köszönöm,most azt pipáltam ki,és semmi
![]() A hozzászólás módosítva: Júl 12, 2016
Szia! Most már működik ezekkel a parancsokkal,de a fő probléma nem ez volt,hanem az,hogy a Tx-et a Tx-el,az Rx-et az Rx-el kellett összekötni.Ezt végképp nem értem,mert a PIC-es környezetben a kereszt kötéssel küldte el az sms-t.Az újabb gond az,hogy a terminal send gombját gyorsan egymás után többször meg kell nyomnom ahhoz,hogy válaszoljon egyszer a modem.
A TX-TX és RX-RX összekötés minden bizonnyal a modemen található hibás felirat miatt van, a többszöri elküldés pedig a program hibája lehet, próbálj ki egy másikat, elsőre működnie kellene.
Köszönöm! Igen,nagyon úgyfest,hogy igazad van. Amikor olvasom az sms-eket,akkor az uart_read txt parancs csak értelmetlen vonalakat jelenít meg az lcd-n.De a terminál programban is csak valami bináris kód jelenik meg az sms szöveg helyén.A SIM900 milyen formátumban küldi a szöveget?
Mielőtt SMS-t küldesz, a SIM900-nak add meg ezt a két parancsot:
Igen,küldöm,de a válaszok egyelőre csak függőleges vonalak.Egyébként MIKROC-ben szerencsétlenkedek.
Az adás így működik rendesen: void SendSms() { Delay_ms(2000); UART1_Write_Text("ATE0\r\n"); Delay_ms(1000); UART1_Write_Text("AT\r\n"); Delay_ms(1000); UART1_Write_Text("AT+CMGF = 1\r\n"); Delay_ms(1000); UART1_Write_Text("AT+CNMI=1,2,0,0,0\r\n"); Delay_ms(1000); UART1_Write_Text("AT+CMGS=\"+36201234567\"\r\n"); delay_ms(500); UART1_Write_text("proba \r\n"); UART1_Write(26); } Idézet: Itt lesz a probléma. Valamilyen Terminal programmal működésre bírtad már rendesen?„MIKROC-ben szerencsétlenkedek.” Az AT+CMGS parancs SMS-t küld a megadott számra. Nem ismerem a MIKROC nyelvet, de a modul azonnal kiküldi az üzenetet, amikor megkapta, nem is értem az 'uart_read txt' parancsot. Valamilyen pufferben tárolja a bejövő karaktereket és ez onnan olvassa ki?
Igen,a terminál programmal működik rendesen,de egy PIC-el szeretném,ha kommunikálna,és egy LCD-n pedig megjelennének a kiolvasott információk,például az sms-ek.Igen,egy char típusú változóban tárolja a bejövő karaktereket.
Akkor abban lesz a hiba. Használj, ha lehet, RX Interrupt-ot, kezeld te a bejövő karaktereket. Vagy tárolod te magad egy változóban, vagy azonnal kiküldöd a kijelzőre az adatot.
Sziasztok! Én egy Quectel M95-el szenvedek. Az alábbi az sms küldő szubrutinom:
{ putrs1USART ("AT+CMGF=1\r\n"); // Text mód Delay(5000); putrs1USART ("AT+CSCS=\"GSM\"\r>"); Delay(5000); putrs1USART ("AT+CNMI=1,2,0,0,0\r\n"); Delay(5000); putrs1USART ("AT+CMGS=\"06703954620\"\r\n>"); Delay(5000); putrs1USART ("Probaszoveg\r\n>"); Delay(5000); putc1USART(26); } (Az AT parancsok /r/n-el vannak lezárva, ezért van a parancsszövegek után <CR><LF>) A gondom az, hogy az sms-t ugyan elküldi, de a szövege helyett csak egy > jel jelenik meg a fogadó félnél. A sorok egyenként szépen lefutnak, "OK"-t kapok vissza, a kimenő szöveget is rendben visszaadja. A sorok közti késleltetés elegendő. Küldő szám: T-Mobil, fogadó: Vodafone. Van ötletetek mi lehet az oka?
Így próbáld:
A > jelet a modul küldi annak jelzésére, hogy várja a szöveget. Módosítva... A hozzászólás módosítva: Júl 20, 2016
Köszönöm szépen Bakman! Kipróbáltam - sajnos így is ugyanaz a jelenség. Sms elmegy, de csak a > jel jelenik meg a fogadónál...
![]()
BIztos, hogy kell az \r és \n is a sorok végére? Igaz, én SIM900-as modullal játszottam, de nekem elég volt csak a 13-as karaktert a parancsok végére rakni.
A Delay(5000) tulajdonképpen mennyi késleltetést jelent? ms vagy us -ban értendő?
\r kell, \n-t csak azért tettem hogy terminálablakban soronként lássam mi történik. (Amúgy \r és/vagy \n nélkül is ugyanezt csinálja. A terminálablak szerint minden stimm...
![]() Terminálablak: AT+CMGF=1 >AT+CNMI=1,2,0,0,0 AT+CMGS="06703954620" Probaszoveg (Itt ugye a mikrovezérlő <--> PC kapcsolat látható, ezért nincs "ok" és > a GSM modultól...
Még egy próbát javaslok, mert az a > jel gyanus nekem a sor elején:
A hozzászólás módosítva: Júl 20, 2016
Oké, csak a PC <--> GSM kapcsolathoz forrasztgatnom kell, mert a GSM modul mikrobus csatlakozón van... Holnap megnézem
![]()
Kedves Bakman! És persze többiek!
Terminálról megfelelően küldi az sms-t a modul... Most azt csináltam, hogy putc-vel karakterenként küldtem el neki az egész CMGS parancsot. Így megy! Arra tippelek, hogy a putrs...-ben a karakterlánc záró 0x00 "karaktere" kavarhat be. Vélemény?
Hallgasd ki, hogy a putc/putrs (bármi is legyen az) mit küld a modulnak. Az USB - UART átalakító (vagy egy logikai analizátor) Rx bemenetét kösd össze a modul Rx bemenetével. Így majd látni fogod, hogy a putrs által kiküldött karakterek stimmelnek-e azzal, amit szeretnél csinálni.
Sziasztok!
Egy olyan kérdéssel fordulnék hozzátok ami szerintem csak nekem nem egyértelmű ![]() Vettem a SIM808 modult ami GSM/GPS egyben. A modul tápfeszültség igénye 3.4V - 4.4V-ig terjed, viszont nem tudom, hogy a kommunikációja mekkora jelszintet igényel, ebben kérném a segítségeteket. (Az adatlapot már jó párszor átolvastam, de lehet hogy átsiklottam felette) Előre is köszönöm a segítségeteket.
Pontosan milyen modult vettél? Van pár variáció.
Nagyon meg lennék lepve ha ettől jelentősen eltérne (hacsak nem a SIM kártyával való kommunikációra gondolsz)
VILmin 0V VILmax=0.3*VDD_EXT VIHmix=0.7*VDD_EXT VIHmax=0.3+VDD_EXT VOLmin=GND VOLmax=0.2V VOHmix=VDD_EXT-0.2 VOHmax=VDD_EXT És gondolom ez is autodetect-es. De már csak megszokásból is 9600N81-el esnék neki (minek több), vagy 4800-al, mert hát GPS is ![]() A hozzászólás módosítva: Szept 11, 2016
A 808ból csak egy fajta létezik, annyi különbség lehet, hogy úgy tudom lehet kapni szerelt valtozatot sim foglalattal meg kivezetésekkel. Nekem maga csak a modul van meg, ès I²C buszon szeretnék vele kommunikálni. ( UART-ot már használtam és a tanulás kedvéért szeretnem az I²C-t mert még nem volt vele dolgom).
Gafly. Ha jól értelmezem, akkor 3,3V os logikaval ell kell mennie az 5V már sok lenne neki. Vagy rosszul gondolom?
Jól gondolod.
Azért kérdeztem rá a modul pontos típusára, mert vannak olyan szerelt egységek is (igazábol ezt veszik gyakrabban a hobbisták), amelyekben már vannak szintillesztők is.
Ez maga a csupasz modul: SIM808
Idézet: „Ha jól értelmezem, akkor 3,3V os logikaval ell kell mennie az 5V már sok lenne neki.” Én is így gondolom, de nem olvastam el az adatlapot (gyártótól a download most éppen nem megy). És itt van a doksi ami leírja hogy mit tud: Hardware design És van körbeépítve is, ahogyan Bakman mester is mondta: SIM 808 Evaluation Board Hát igen, van még Arduinó-hoz shield is: SIM808 GPS GSM GPRS Module for Arduino Starter Idézet: „I²C buszon szeretnék vele kommunikálni.” Hol látsz te itt I2C buszt? ![]() Nem az optional SPI-ra gondoltál? A hozzászólás módosítva: Szept 11, 2016
A gyártói adatlapot nem tudtam én sem letölteni már hetek óta.
Nem kifejezetten hobbi célra használnánk ezért is nem a körbeépített modult vettük meg. Igen I2C buszra gondoltunk mivel egyikünknek sem volt még vele dolga így egyszerre megtanulnánk és alkalmaznánk (Hardware design 19.oldal a táblázat szerint a lábak a 38; 39 részletesebben 50. oldal) Rengeteg dolgot tud ez a kis okos modul többek között Bluetooth kapcsolatot is lehet vele éleszteni pontosan ezért esett rá a választás és még árban is teljesen elfogadható. Nem teljesen idetartozó kérdés, de mégis hozzá fűződik. 32bites PIC-ek esetén vannak bizonyos lábak amik 5V logikai szint toleránsak, viszont amit sehol nem írnak ezek a lábak kimeneti jelszintje is 5V vagy 3.3V- os logikai szintűek, ez nekem azért érdekes mert egy csomó ilyen vezérlőben az I2C busz ezekre a lábakra van kiosztva és nem szeretném ezzel kilőni a modulomat.
Nekem most sikerült. Remélem, nem kerülte el a figyelmeteket, hogy több lehetőség opcionális. A BT is.
|
Bejelentkezés
Hirdetés |