GSM modeme gelen mesajı incelemek

Başlatan nily, 25 Mayıs 2013, 18:51:27

nily

Merhabalar, bir devrem var ve seri port kablosuyla Telit marka GSM modeme bağlanacak. Telefondan atılan mesaj GSM modeme gelecek ve mesajın içeriğine göre mikrodenetleyici işlem yapacak. Mesajın içeriğinde tarih, gönderici bilgisi ve metin kısmı olduğu için ben mesaj formatının sadece metin kısmına bakmak istiyorum. Acaba bu işlemi nasıl yapabilirim? Modeme gelen mesajın içeriğini nasıl görebilirim yardımcı olur musunuz?

polleme

AT+CMGR gelen SMS mesajını okumayı sağlar.

nily

Evet ama mesaj içeriğinde tarih saat gönderici ve metin gibi bilgiler yer alacak. Bense mesajın içindeki metin kısmına göre işlem yapacağım yani onun kaçıncı karakterde geldiğini bilmem gerek. Bu nedenle mesajın içeriğini incelemeliyim. Acaba bu işlemi nasıl yapabilirim bunu soruyorum?

polleme

Genellikle mesajın tamamı bir diziye alınarak üzerinde işleme yapılır. Ayırma karakterleri (virgül gibi) kontrol edilerek bilgiler ayrılırlar. Buna yönelik örnekler var, aratarak bulabilirsiniz.

Gökhan BEKEN

Alıntı yapılan: nily - 26 Mayıs 2013, 11:59:21
Evet ama mesaj içeriğinde tarih saat gönderici ve metin gibi bilgiler yer alacak. Bense mesajın içindeki metin kısmına göre işlem yapacağım yani onun kaçıncı karakterde geldiğini bilmem gerek. Bu nedenle mesajın içeriğini incelemeliyim. Acaba bu işlemi nasıl yapabilirim bunu soruyorum?
Mesajın sonunda tarih bilgileri geliyor olması lazım, sen mesajın toplam kaç karakter olduğunu hesaplayıp bunu a değişkenine atarsan, tarih bilgilerinin kaç harflik yer kapladığını sayıp bunu b değişkenine yazarsan, mesajın ilk kaç karakterinin kullanıcıya gösterileceğini a-b ile bulabilirsin.
Özel mesaj okumuyorum, lütfen göndermeyin.

nily

http://gsmkontrol.blogspot.com/p/ornek-uygulamalar.html  bu web sitesinde bir örnek buldum, Bilgisayar üzerinden SMS başlığı altında.
Anladığım kadarıyla modem mesajı bu haliyle mikrodenetleyiciye iletiyor. Acaba bu kalıp standart mıdır?

+CMGR: "REC UNREAD","+905551234567","Murat","11/10/27,10:58:21+12"   (Masaj hakkında bilgi)
Hayırlı Bayramlar                                         (Mesaj içeriği alt satırda geliyor)


MrDarK

Konuya açıklık getireyim ;

Öncelikle GSM Modül PDU formatından Text moduna alınır.

AT+CMGF=1

Ardından ilgili mesaj okunur. AT+CMGR=mesaj gelen numarası

veya AT+CMGL="ALL" -> Tüm mesajları listeler.

Bu şekilde istediğiniz mesajı okuyabilirsiniz. Yalnız bir kişide PDU mesajları konvert eden algoritmayı buraya yazarsa bende minnettar olurum :)

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