Telit modem sms sorunu

Başlatan nily, 02 Haziran 2013, 11:21:52

nily

Merhabalar Telit marka bir GSM modemin içindeki sim karta sms atmaya çalışıyorum. Mesajı gönderdikten sonra modem içindeki sim kartı çıkarıp baktığımda içinde hiç mesaj olmadığını görüyorum. Bu konuda bir fikri olan var mı acaba?

MrDarK

Hocam merhabalar ;

Öncelikle telit modemin şebeke aldığına emin olun, gerekli AT komutları işleyin, sonra sim kartınıza sms atın ve modülün sms uyarı sistemini aktif edin , sim kart modülde iken ekrana uyarı gelir, gelen uyarı sonucu ilgili mesajı telit modemden okuyabilirsiniz.

Saygılar.
Picproje Eğitim Gönüllüleri ~ MrDarK

nily

Alıntı yapılan: MrDarK - 02 Haziran 2013, 12:34:18
Hocam merhabalar ;

Öncelikle telit modemin şebeke aldığına emin olun, gerekli AT komutları işleyin, sonra sim kartınıza sms atın ve modülün sms uyarı sistemini aktif edin , sim kart modülde iken ekrana uyarı gelir, gelen uyarı sonucu ilgili mesajı telit modemden okuyabilirsiniz.

Saygılar.

Merhabalar şebeke olup olmadığını nasıl kontrol edebilirim acaba? Birde modem bir devreye bağlı yani hatanın nerede olduğunu görme şansım yok kullandığım AT komutlarının da doğru olduğunu düşünüyorum. Birde sms uyarı sistemini nasıl aktif edebilirim? 

polleme

Şebeke kontrolü: AT+CPIN?

Ready cevabı alıyorsanız sorun yoktur.

ayhani

#4
Alıntı yapılan: nily - 02 Haziran 2013, 14:08:56
Merhabalar şebeke olup olmadığını nasıl kontrol edebilirim acaba? Birde modem bir devreye bağlı yani hatanın nerede olduğunu görme şansım yok kullandığım AT komutlarının da doğru olduğunu düşünüyorum. Birde sms uyarı sistemini nasıl aktif edebilirim?

Elindeki modemin tam modelini söylersen daha iyi olur. Ama genelde tüm modemlerde durum  aynıdır. Modemin üstündeki led hızlı yanıp sönüyorsa hat almıyordur. SİM kartın takılı ve SİM kilidini iptal ettiğinizden emin olun., antenin takılı olduğundan emin olun.

Modem ışığı 1 saniye arayla yanıp sönüyorsa hat var ve komut bekliyordur. Eğer modemle numara çevirirseniz veya modemi ararsanız modem ışığı arama süresince sürekli yanar.
En iyi bildiğim şey hiçbir şey bilmediğimdir.

nily

Alıntı yapılan: ayhani - 02 Haziran 2013, 15:25:10
Elindeki modemin tam modelini söylersen daha iyi olur. Ama genelde tüm modemlerde durum  aynıdır. Modemin üstündeki led hızlı yanıp sönüyorsa hat almıyordur. SİM kartın takılı ve SİM kilidini iptal ettiğinizden emin olun., antenin takılı olduğundan emin olun.

Modem ışığı 1 saniye arayla yanıp sönüyorsa hat var ve komut bekliyordur. Eğer modemle numara çevirirseniz veya modemi ararsanız modem ışığı arama süresince sürekli yanar.

Merhaba modem Telit GT864-3G. Sim kartın pini kapalı, dediğiniz gibi aradığımda da ışık sürekli yandı ve led aralıklı yanıp sönüyor. Başka bir hattan mesaj attığımda acaba modemde mi kalıyor mesaj? Yoksa sim kartta gözükmeli mi?

MrDarK

Alıntı yapılan: polleme - 02 Haziran 2013, 14:13:06
Şebeke kontrolü: AT+CPIN?

Ready cevabı alıyorsanız sorun yoktur.

Hocam AT+CPIN? Cevap : Ready ise telit içinde sim kart takılı olduğunu gösterir. Şebeke ile alakası yoktur.

Şebeke aldığını anlamak için aşağıdaki kodlar kullanılır.
AT+CREG?

Cevap :CREG: 0,1


Cevap 0,1 ise şebeke almıştır.

Sim sms uyarısı aktif hale getirmek için ,

AT+SNMI=1 yapılmalıdır. Ezberden yazıyorum kodları harf hatası yapıyor olabilirim ilgili AT_Referance_guide'a bakmanızı öneriyorum.

Saygılarımla.
Picproje Eğitim Gönüllüleri ~ MrDarK

polleme

SIM kart takılı bile olsa şebeke veya PIN ile ilgili bir sıkıntı varsa Ready cevabı alınamıyor, başıma gelmişti. AT+CPIN? komutuna Ready cevabı aldığım her durumda modüllerim çalıştı, benim yorumum ondan. Direkt şebekenin kendisini test için komutlar muhakkak var, ama onların hiçbirini kullanmam gerekmedi bugüne kadar.

Selamlar.

nily

Merhabalar, modem her türlü mesaj göndermeyince aşağıdaki kodu denedim fakat led yanmadı. Acaba sorun nerden kaynaklanıyor olabilir?

            fprintf(gsm,"AT\r\n");
            delay_ms(1000);
           
            if(fgetc(gsm)=="OK")
                output_bit(PIN_b0,1);

MrDarK

Hocam TELIT Modeminizi MCU ile denemeden önce Seri haberleşme dönüştürücü ile adım adım kendiniz AT komut seti yazarak kullanmayı deneyip kodları öğrenmenizi tavsiye ediyorum.

Saygılar
Picproje Eğitim Gönüllüleri ~ MrDarK

nily

Alıntı yapılan: MrDarK - 02 Haziran 2013, 19:31:54
Hocam TELIT Modeminizi MCU ile denemeden önce Seri haberleşme dönüştürücü ile adım adım kendiniz AT komut seti yazarak kullanmayı deneyip kodları öğrenmenizi tavsiye ediyorum.

Saygılar

Daha öncesinde zaten modem kullanarak hyperterminal ile mesaj gönderme işlemini yaptım. Fakat devreye bağladığımda sonuç alamıyorum. Mesaj göndermek için kullandığım kod aşağıda. Bir yanlışlık olduğunu da düşünmüyorum.

            fprintf(gsm,"AT+CMGF=1\r");
            delay_ms(1500);
           
             fprintf(gsm,"AT+CMGS="+905xxxxxxxxx"");
            delay_ms(300);
            fputc(0X0d,gsm);
            delay_ms(1750);
           
            output_bit(PIN_b0,0);
           
             fprintf(gsm,"Merhaba");
             fputc(0x1A,gsm);
            delay_ms(1300);
           
           

MrDarK

Mesaj göndermek için yazdığınız kod doğru gibi gözüküyor, ama bu işi MCU ile yaparken herşeyi düşünmelisiniz, koddan anladığım kadarı ile AT+CMGS=numara enter yaptıktan sonra 1,7 saniye bekleme koymuşsunuz, oysa aslında yapmanız gereken

Modemden gelecek
">" cevabını beklemek olmalı, eğer modem bu kodu gönderiyor ise sms göndermeye hazır konumdadır. Ondan sonra örnek sms'inizi yazıp CTRL+Z karakteri göndermelisiniz. ve tabiki yine sms gönderildi kodu beklemelisiniz.

Hiçbir zaman MCU'ya güvenme derim gecikme yollayarak :)
Picproje Eğitim Gönüllüleri ~ MrDarK

nily

Alıntı yapılan: MrDarK - 02 Haziran 2013, 19:45:47
Mesaj göndermek için yazdığınız kod doğru gibi gözüküyor, ama bu işi MCU ile yaparken herşeyi düşünmelisiniz, koddan anladığım kadarı ile AT+CMGS=numara enter yaptıktan sonra 1,7 saniye bekleme koymuşsunuz, oysa aslında yapmanız gereken

Modemden gelecek
">" cevabını beklemek olmalı, eğer modem bu kodu gönderiyor ise sms göndermeye hazır konumdadır. Ondan sonra örnek sms'inizi yazıp CTRL+Z karakteri göndermelisiniz. ve tabiki yine sms gönderildi kodu beklemelisiniz.

Hiçbir zaman MCU'ya güvenme derim gecikme yollayarak :)


Dediğiniz gibi yaparak kodu aşağıdaki halde değiştirdim fakat if bloğunun orada bir hatayla karşılaştım sanırım led yanmadı.

            fprintf(gsm,"AT+CMGS="+905xxxxxxxxx"");
            delay_ms(900);
            fputc(0X0d,gsm);
            delay_ms(450);
           
            if(fgetc(gsm)==">")
                output_bit(PIN_b0,1);
           
             fprintf(gsm,"Selamlar");
             fputc(0x1A,gsm);

MrDarK

Şöyle deneyiniz lütfen ;

puts("AT+CMGS=\"+905xxxxxxxxx\"\r",gsm);
while(!kbhit(gsm));  // Seri porttan veri gelene kadar beklet zaten veri gelirse > verisi gelmiştir diyebilirsin yada yaptığın gibi getc ile o veriyi kontrol edebilirsin buda güvenli bir çözüm olmasada işini görecektir.;

             fprintf(gsm,"Selamlar");
             fputc(0x1A,gsm);


Saygılar
Picproje Eğitim Gönüllüleri ~ MrDarK

nily

Alıntı yapılan: MrDarK - 02 Haziran 2013, 20:33:41
Şöyle deneyiniz lütfen ;

puts("AT+CMGS=\"+905xxxxxxxxx\"\r",gsm);
while(!kbhit(gsm));  // Seri porttan veri gelene kadar beklet zaten veri gelirse > verisi gelmiştir diyebilirsin yada yaptığın gibi getc ile o veriyi kontrol edebilirsin buda güvenli bir çözüm olmasada işini görecektir.;

             fprintf(gsm,"Selamlar");
             fputc(0x1A,gsm);


Saygılar


Dediğinizi denedim fakat malesef gene mesaj göndermedi