GSM Modem Kullanarak Bluetooth Üzerinden SMS

Transkript

GSM Modem Kullanarak Bluetooth Üzerinden SMS
GSM Modem Kullanarak Bluetooth Üzerinden
SMS Gönderme Uygulaması
Sms Sending Application That Uses GSM Modem Via Bluetooth
İ. ÖZÇELİK
U. ÇİÇEKFİDAN
Sakarya Üniversitesi
Mühendislik Fakültesi
Bilgisayar Mühendisliği Bölümü
Sakarya, Türkiye
[email protected]
Sakarya Üniversitesi
Mühendislik Fakültesi
Bilgisayar Mühendisliği Bölümü
Sakarya, Türkiye
[email protected]
Özet
Bu çalışmada, bilgisayardan girilen bir mesajın Kısa
Mesaj (SMS) olarak gönderilmesini sağlayan bir SMS
uygulaması -Mavi SMS- anlatılacaktır. Uygulamada,
bilgisayar ile telefon arasındaki iletişim için Bluetooth
arayüzü, telefon üzerinden Kısa Mesaj gönderimi için de
GSM telefonun modemi kullanılmıştır.
Anahtar sözcükler: Bluetooth, Kablosuz haberleşme,
GSM modem, SMS.
Asbtract
In this project, a SMS application, Mavi SMS, providing
a message recieved from computer to be sending as a
Short Message (SMS) will be explained briefly. In this
application, a Bluetooth interface has been used for
communication between computer and phone.
Furthermore, the modem of GSM phone has been used
for sending a SMS message over cell phone.
1. Giriş
Kısa Mesaj Servisi (Short Message Service-SMS),
kablosuz dünyada büyük bir başarı yakalamıştır. İnsanlar
günde milyonlarca SMS göndermektedir. Bu nedenle,
SMS teknolojisini kullanan farklı uygulamalar
geliştirilmiş ve hala geliştirilmektedir.
Bluetooth, düşük güç tüketimli, düşük maliyetli, kısa
mesafeli ve birçok taşınabilir cihaz ile birlikte gelen bir
ağ teknolojisi olduğundan, son yıllarda popülerlik
kazanmıştır. Bilgisayar, PDA ve GSM telefonu gibi
farklı donanımsal özelliklere sahip aygıtlar, Bluetooh
arayüzü ile birbirleriyle kablosuz olarak iletişim
sağlayabilirler.
Bu çalışmada, Bluetooth üzerinden bir GSM telefonun
modemi kullanılarak bilgisayardan girilen bir mesajın,
SMS mesajı olarak gönderilmesini sağlayan Mavi SMS
uygulaması tanıtılacaktır. İlk olarak uygulamanın
teknoloji bileşenleri olan SMS, Bluetooth, GSM modem
ve AT komutları ile ilgili bir özet verilecektir. Daha
sonra Mavi SMS uygulamasının geliştirilmesi ile ilgili
diğer bilgiler verilecektir.
2. Uygulamanın Teknoloji Bileşenleri
Bir uygulamadan iki şekilde SMS mesajı gönderilebilir
[1]. Birinci yöntemde, bilgisayar ile GSM modem
arasında bağlantı kurulur ve sonra da bilgisayardan
modeme gönderilen AT komutları ile SMS mesajı
gönderilir. İkinci yöntemde ise bilgisayar ile SMS
merkezi (SMS Center-SMSC) veya SMS geçidi (SMS
Gateway-SMSG) arasında bağlantı kurulur ve
desteklenen arayüz veya protokol kullanılarak SMS
mesajı gönderilir. SMSC veya SMSG ile direk bağlantı
kurmanın bazı zorlukları vardır. Uygulamanın tüm
detayları GSM operatörüne bildirilmeli ve bazı mali
işlemlerin halledilmesi gerekir.
Bizim uygulamamızda yukarıda belirtilen sebepten
dolayı birinci yöntem tercih edilmiştir ve bu yöntem için
gerekli teknolojiler ve aşamalar aşağıda maddeler
halinde özetlenecektir.
2.1. SMS
ETSI tarafından 1992 yılında geliştirilen SMS, cep
telefonları arasında mesaj alma ve gönderme işlemlerini
gerçekleştiren bir teknolojidir [2].
SMS mesajları, göndericiden ilk önce SMS işlemlerini
yöneten SMS merkezine (SMSC-SMS Center) ve
buradan da alıcıya yönlendirilir. Bir GSM telefonun
SMS
teknolojisini
kullanabilmesi
için
GSM
operatörünün SMSC numarasını bilmesi gerekir.
Genelde uluslararası formata sahip bir numara olan
SMSC numarası, GSM operatörü tarafından önceden
ayarlanır.
SMS teknolojisi ile geliştirilebilecek uygulamalar
sınırsız gibidir. Bu uygulamalardan bazıları şunlardır:
• P2P(Person-to-Person) veya çok kullanıcılı
mesajlaşma.
• Bilgi sağlama: Haberler, hava durumu, finansal
veriler, vb.
• İndirme (Downloading). Melodi, arkaplan, logo vb.
• Uyarı ve bilgilendirme mesajları.
• E-mail, fax ve sesli mesaj bilgilendirmeleri.
• E-ticaret ve kredi kartı işleme uyarıları.
• Stok uyarıları.
• Uzaktan sistem kontrolü.
• İki Yönlü interaktif metin mesajı uygulamaları.
• Sözlük, Veritabanı sorgulama vb.
Bluetooth aparatlarını otomatik olarak tanımaktadır. Bu
nedenle ilk olarak aparatın takılması ve Bluetooth
sürücüsünün otomatik olarak yüklenmesi gerekir.
Ardından görev çubuğunda çıkan Bluetooh simgesine
sağ tıklayarak Bluetooth Aygıtı Ekle menüsünün
seçilmesi gerekir (Şekil 1).
2.2. Bluetooth
Bluetooth, 802.15 olarak da bilinen kablosuz bir
haberleşme protokolüdür. Düşük güç tüketimli, düşük
maliyetli ve kısa mesafeli bir radyo teknolojisidir [3].
Bluetooth protokolü, katmansal bir mimariye sahiptir ve
katmansal mimari üzerinden birden fazla hizmet profili
sunmaktadır. Bluetooth mimarisinde, farklı firmalar
tarafından üretilen aygıtlar arasında veri transferi
yapabilmek için RFCOMM katmanı önerilmiştir.
RFCOMM, kablosuz seri port olarak bilinir. PC’lerde
bulunan standart seri porta eşdeğerdir. Bir bilgisayar ile
GSM telefonu arasında kablo ile bağlıymış gibi veri
transferi yapılabilir. Bu çalışmadaki SMS gönderme
uygulamasında RFCOMM protokolü kullanılmıştır.
Şekil 1: Bluetooth aygıtı ekleme.
Aygıt araştırma işleminin tamamlanmasının ardından
bulunan GSM telefonunun seçilmesi ile aygıt ekleme
tamamlanmış ve aygıtın GSM modemi de otomatik
olarak tanıtılmış olur.
Modemin doğru bir şekilde yüklenip yüklenmediğini test
etmek için Windows işletim sisteminin Denetim
Masası’nda yer alan Telefon ve Modem Seçenekleri
bölümünde modem ile bağlantı kurulmalıdır (Şekil 2).
2.3. GSM Modem
GSM modem, GSM kablosuz ağ ile çalışan bir
modemdir ve bütün GSM telefonlarda bulunur [4].
Bizim uygulamamızda da GSM modeme sahip bir GSM
telefon kullanılmıştır. Kablosuz GSM modem, dial-up
modem gibi davranır. Dial-up modemden tek farkı
verilerin radyo dalgaları ile iletilmesidir.
Bir GSM modemi PC’den kontrol edebilmek için seri
port bağlantısı gerekir. Bu bağlantı için de seri bir kablo
ya da USB/Irda/Bluetooth arayüzlerinden biri
kullanılabilir. Bu uygulamada yukarıdaki yöntemlerden
Bluetooth arayüzü kullanılmış ve bu arayüz vasıtasıyla
oluşturulan sanal bir seri port üzerinden AT komutları
gönderilerek GSM modem kontrol edilmiştir.
GSM modemin bir SMS mesajını gönderebilmesi için
geçerli bir SIM kartına sahip olması gerekir. Çünkü
SMS merkezi için gereken bilgiler SIM karttan okunur.
Daha sonra aygıt ile bilgisayar arasında Bluetooth
üzerinden bir bağlantı kurulmalıdır. Bağlantı
kurulduktan sonra ise modem PC’ye tanıtılmalıdır.
GSM telefon ile Bluetooth üzerinden bağlantı
kurulabilmesi için PC’ye Bluetooth aparatının (dongle)
bağlanmış olması gerekir. Microsoft firması Windows
XP SerivicePack 2 güncellemesi ile bütün firmaların
Şekil 2: Bluetooth modem ile bağlantı kurulması.
Modemi sorgula butonuna tıklandıktan sonra modeme
gönderilen AT komutlarının yanıtları listelenmektedir.
Böylece GSM telefonu ile başarıyla bağlantı kurulmuş
ve modem tanıtılmış olur.
2.4. AT Komutları
GSM modemler, dial-up modemlerde olduğu gibi,
iletişim için AT komutlarını kullanır [5]. Bazı GSM
modemler, standart AT komutlarının yanında
genişletilmiş AT komutlarını da destekler. Bu komutlar,
GSM standardında tanımlanmıştır. Genişletilmiş AT
komutları ile SMS mesajı okuma-yazma-silme, sinyal
gücünü ölçme, adres defterinden okuma-yazma-silme
gibi birçok işlem gerçekleştirilir. Tablo 1, SMS mesajı
gönderme ve alma işlemlerini gerçekleştiren AT komut
örneklerini göstermektedir.
Tablo 1: SMS gönderimi ve alımında kullanılan AT
komutları.
AT Komutu
+CMGS
Anlamı
Mesaj gönder
+CMSS
+CMGW
+CMGD
Hafızadan mesaj gönder
Hafızaya mesaj yaz
Mesaj sil
+CMGC
+CMMS
Komut gönder
Daha fazla mesaj gönder
PC’ye bağlı bir GSM modeme AT komutları göndermek
için terminal programı kullanılabilir. Terminal programı
yazılan komutları modeme gönderir ve modemden gelen
cevapları da ekranda gösterir. Microsoft Windows
işletim
sistemi
üzerindeki
terminal
programı
HyperTerminal’dir (Şekil 3).
Yukarıdaki komutların gerçekleştirdiği işlemler aşağıda
açıklanmıştır.
• 1. satırda, modeme “AT” komutu gönderilerek
bağlantı test ediliyor. Eğer “OK” cevabı dönerse
bağlantı başarıyla kurulmuş demektir.
• 3. satırdaki +CMGF komutu ile modemin SMS Text
modunda çalışması söylenmiştir. “OK” cevabını
dönmesi işlemin başarıyla gerçekleştirildiğini
gösterir. Eğer cevap olarak “ERROR” dönerse
modem SMS Text modunu desteklemiyor demektir.
• 5. satırdaki +CMGW komutu ile SMS mesajının
modemin hafızasına yazılması istenmektedir.
“+905331234567” ise alıcının numarasıdır. Numara
girildikten sonra Enter tuşuna basılmalıdır. Böylece
modem “>” cevabını döndürür ve kullanıcı
tarafından mesaj girilmeye başlanır. Mesaj
yazıldıktan sonra Ctrl+Z’ye basılır.
• 7. satırdaki +CMGW komutu mesajımıza atanan
index numarasının 1 olduğunu gösterir. Yani bu
değer mesajımızın hafızadaki yerini gösterir.
• 9. satırdaki OK komutu +CMGW komutunun
başarıyla işletildiğini gösterir.
• 10. satırdaki +CMSS komutu ile modemin
hafızasındaki SMS mesajı alıcıya gönderilir. 1
değeri 7. Satırdaki komut ile elde edilen değerdir.
• 11. satırdaki +CMSS=20 komutu mesajımıza atanan
referans numarasının 20 olduğunu gösterir.
• 12. satırdaki OK komutu +CMSS komutunun
başarıyla işletildiğini ve mesajın gönderildiğini
gösterir.
3. SMS Uygulama Geliştirimi İçin Ön
Bilgiler
Şekil 3: HyperTerminal uygulaması.
GSM modem ile bağlantı kurulum aşaması
tamamlandıktan sonra, Mavi SMS uygulamasının nasıl
çalıştığını anlayabilmek için HyperTerminal ile AT
komutları kullanılarak SMS gönderme örneği
anlatılacaktır.
AT
OK
AT+CMGF=1
OK
AT+CMGW="+905331234567"
>Örnek SMS mesajı.
+CMGW: 1
OK
AT+CMSS=1
+CMSS: 20
OK
Bold tipindeki satırlar kullanıcı tarafından modeme
gönderilen AT komutlarını gösterirken buna karşılık
diğer satırlar da modemden gelen cevapları gösterir.
Bir uygulamadan SMS mesajı gönderilmek istenirse,
modem ile bağlantı kurulumu ve AT komutlarını
gönderme
işlemlerini
gerçekleştiren
kodların
uygulamaya eklenmesi gerekir. Uygulama; C, C++,
Java, Visual Basic, Delphi veya herhangi bir dilde
yazılmış olabilir. Fakat geliştiricinin kendi kaynak
kodunu yazmasının bazı dezavantajları vardır. Bunlar:
• AT komutlarının nasıl kullanıldığını öğrenmek
gerekir.
• Bir SMS mesajının bit ve baytlarının nasıl
birleştirileceğinin bilinmesi gerekir. Özellikle 7-bit
ve 16-bit kodlamada mesajın başlık kısmındaki bazı
bilgilerin değiştirilmesi gerekir.
Yazılımsal dezavantajların yanı sıra bazı donanımsal
sorunlar da vardır. GSM modem ile dakika başına en
fazla 6-10 arası mesaj gönderilebilir. SMS
uygulamasının yükü arttıkça uygulama daha yavaş
çalışacaktır. Yüksek hızda SMS mesajı gönderebilmek
için SMS merkezi veya SMS geçidi ile direk bağlantı
kurulmalıdır. Fakat bu düğümler ile bağlantı kurabilmek
için AT komutları kullanılmaz. Bu nedenle uygulamada
büyük değişiklikler yapmak gerekir.
Belirtilen donanımsal ve yazılımsal problemler
nedeniyle herhangi bir SMS uygulaması geliştirmek ve
modem ile AT komutları yardımı ile haberleşebilmek
için yüksek seviyeli SMS Uygulama Geliştirme Arayüzü
(Application Programming Interface - API) kullanılması
tavsiye edilir. API, AT komutları gibi düşük seviyeli
işlemleri kapsüller. Böylece uygulama geliştirici AT
komutlarını bilmek zorunda kalmaz.
Bu çalışmada geliştirilen SMS gönderme uygulamasında
bedava ve açık kaynak kodlu SMSLib API’si
kullanılmıştır. Bazı API’ler AT komutlarına ek olarak
SMSC protokollerini de destekler. Böylece bazı ufak
değişiklikler ile uygulama SMSC tabanlı hale
getirilebilir.
4. Mavi SMS Uygulaması
Şekil 5: Mavi SMS uygulaması.
Mavi SMS uygulaması, PC üzerinden GSM telefonun
modemini kullanarak SMS mesajları gönderir. Şekil 4,
uygulamanın genel yapısını gösterir ve AT komutları
başlığında anlatılan SMS gönderme örneğinin şekilsel
gösterilimidir. Uygulamayı kullanabilmek için daha önce
açıklandığı gibi GSM telefonunun modemi PC’ye
tanıtılmıştır. Dolayısıyla Mavi SMS uygulamasının
modem ile haberleşebilmesi için gereken sanal seri port
oluşturulmuştur.
Uygulamanın desteklediği GSM telefon ve modemlerin
listesi API’nin web sitesinde bulunmaktadır [11]. GSM
modem ile Seri port üzerinden bağlantı kurmak için Java
Communications API kullanılmıştır. SMSLib, hem Java
hem de .NET platformunda kullanılabilir. Şu an
itibariyle Java platformu için en kararlı sürüm 2.1.5 dir
ve bu API sık sık güncellenmektedir.
Mavi SMS uygulaması ile bir SMS mesajı
gönderebilmek için ilk olarak GSM telefona atanan
sanal seri port (Örneğin COM13) Bluetooth Modemler
listesinden seçilir. Alıcının telefon numarası ve
gönderilmek istenen mesaj girildikten sonra Gönder
tuşuna basılır. Gerekli AT komutlarının ve mesajın
modeme gönderilmesinin ardından SMS mesajı, alıcıya
gönderilir. Böylece kullanıcının SMS göndermek için
GSM telefonun tuş takımını kullanmasına gerek kalmaz.
SMS gönderme işlemi sonucunda alınan gönderme onayı
da şekil 6’da gösterilen arayüzle kullanıcıya geri
besleme olarak döndürülür (Şekil 6).
Şekil 4: Mavi SMS uygulaması ile SMS gönderme.
Mavi SMS uygulaması (Şekil 5) birçok yazılımsal
teknoloji kullanılarak geliştirilmiştir. Bunlar:
•
Uygulama Geliştirme Ortamı (IDE) olarak
Netbeans 5.5 [6],
•
Java Geliştirme Kiti olarak JDK6 [7]
•
Seri port işlemleri için Java Communications
API [8],
•
Loglama işlemleri için Log4J [9],
•
SMS API olarak SMSLib [10],
•
İşletim sistemi olarak WindowsXP SP2
Şekil 6: SMS mesajı alıcıya gönderildi.
5. Sonuç
Bu çalışmanın amacı, sayısal bir verinin Bluetooth
üzerinden kablosuz olarak GSM modeme aktarımını
sağlamak ve aktarılan verinin de SMS mesajı olarak
dünyanın herhangi bir yerindeki bir alıcıya
gönderilmesini gerçekleştirmektir. Bundan dolayı,
çalışma süresince birçok yazılımsal ve donanımsal
teknoloji, protokol ve araç incelenmiş ve gerekli
konfigürasyon detayları anlatılmıştır.
Ayrıca, çalışmanın amacını kapsayan Mavi SMS isimli
bir uygulama geliştirilmiştir. Geliştirme için gerekli
yazılımsal teknolojiler de verilmiştir. Geliştirilen
uygulama ile dakikada 5 ile 7 arasında SMS mesajı
gönderildiği de gözlemlenmiştir.
Kaynakça
[1]http://www.developershome.com/sms/howToSendSM
SFromPC.asp
[2] http://www.developershome.com/sms/smsIntro.asp
[3] http://wireless.klings.org/main.php/Bluetooth/
[4]http://www.developershome.com/sms/GSMModemIn
tro.Asp
[5]http://www.developershome.com/sms/atCommandsIn
tro.asp
[6] http://www.netbeans.org/
[7] http://java.sun.com/
[8] http://java.sun.com/products/javacomm/
[9] http://logging.apache.org/log4j/docs
[10] http://www.smslib.org/
[11] http://www.smslib.org/compatibility

Benzer belgeler