Bilindiği üzere mobilcihaz emülatörlerinin temel amacı, belirli ihtiyaçlar doğrultusundageliştirimiş olduğumuz mobil cihaz uygulamamızı deneyebilmemiz adınafiziksel bir mobil cihazına sahip olmamız gerekliliğini ortadankaldırmaktır. Bu küçük ama hayat kurtaran uygulamalar sayesindegeliştirmiş olduğumuz mobil cihaz uygulamasının her koşulda nasıl birdavranış biçimi sergileyeceği ile ilgili ayrıntılı bilgi sahibiolabilmekteyiz.
Peki ya mobil cihaz emülatörümüz geliştirmiş olduğumuz mobil cihazuygulamamızın test edilebilmesi açısından gerekli “tüm” koşullarısağlayamıyor ise ?
Mobil cihaz emulatörlerinin gerçekleştirebileceklerine genel olarakbakıldığında bir mobil cihazının neredeyse tüm ortamını masaüstüortamımıza taşımaktadır ; fakat işin biraz daha derinine inildiğindehiç bir mobil cihaz emulatörünün GSM ortamını sağlayamadığınırahatlıkla farkedebilmekteyiz.
Bu noktada GSM ortamını sağlamak kavramını biraz daha açmak konunun anlaşılabilmesi açısından daha doğru olacaktır.
GSM yani Global System for Mobile communication olarak adlandırılanprotokolü günümüz dünyasında Cep Telefonu ya da Mobil Ortam olarakifade ettiğimiz ortamın iletişimi için kullanılan temel protokoldür. Buprotokol kullanıcıları belirli standartlar çerçevesinde yeryüzüneyerleştirilen Baz İstasyonları üzerinden haberleştirmektedir.
Kullanıcıların sahip oldukları mobil cihazlar belirli standartlarçerçevesinde GSM yayını yapan operatörler üzerinden cihazlarıvasıtasıyla iletişim kurabilmektedirler. Yani anlayabileceğiniz üzereböyle bir erişimin sağlanabilmesi için “operatör” adını verdiğimizservis sağlayacılarına ihtiyaç duymaktayız.
Olaya yazılım geliştirici perspektifinden bakıldığında ise buprotokol üzerinden haberleşen ya da bu protokol ile entegre uygulamalargeliştirmek ise son derece doğal bir ihtimaldir.
Bu ihtimali göz önünde bulundurduğumuza karşımıza şöyle bir sorun çıkmaktadır ;
GSM protokolü ile entegre ya da belirli durumlarda GSM protokolündenfaydalanan bir mobil cihaz uygulaması geliştirmiş olduğumuz bir durumdabu uygulamayı GSM desteği sunmayan mobil cihaz emülatörleri ile nasıldeneyeceğiz ?
Yukarıda ifade edilmeye çalışılan durumu gerçek ortam senaryosu ileörneklendirmek konunun anlaşılabilmesi açısından daha doğru olacaktır.
Bir mobil cihaz uygulaması düşünelim. (ÖRN : Bir müzik programı).Gerçekleştirecek olduğu özelliklerden bir tanesi dışarıdan gelenaramalarda o an aktif olarak çalan müziği kesmesi gerekmektedir.
Böyle bir uygulamanın denenebilmesi için uygulamanın hali hazırdabir emülatör üzerinde çalıştırılırken sembolik olarak emülatör üzerindebir GSM araması gerçekleştirilmesi gerekmektedir.
Daha öncede ifade ettiğimiz üzere ; GSM desteği olmayan bir emülatörde böyle bir yapıyı kesinlikle ifade edememekteyiz.
Peki bu duruma karşı nasıl bir çözüm uygulanmaktadır ?
İşte bu noktada karşımıza Windows Mobile 6.0 SDK ile birliktesistemimize kurulan Cellular Emulator isimli küçük ama devasa işlereyarayan uygulama çıkmaktadır.
Cellular Emulator adından da anlaşılabileceği üzere masaüstüortamında bir “operatör”, farklı bir ifade ile bir “GSM” ortamıoluşturmaktadır. Evet yanlış okumadınız, GSM ortamı !
İşin en heyecan verici yanı ise belirli konfigürasyon ayarlarıgerçekleştirildiği durumlarda bu ortam Mobil Cihaz emülatörünüz ileentegre olarak çalışabilmekte ; yani kısacası mobil cihaz emülatörünüzsanki GSM hizmeti alıyormuşçasına davranış biçimi sergilemektedir !
Konunun daha rahat anlaşılabilmesi için bu noktada ekran görüntüleriüzerinden böyle bir ortamın Cellular Emulator tarafından nasılsağlandığını ve dahada önemlisi Mobil Cihaz emülatörümüzü böyle birortam ile nasıl haberleşebileceğini ifade etmek daha doğru olacaktır.
İlk noktada sistemimize http://www.microsoft.com/downloads/details.aspx?familyid=06111a3a-a651-4745-88ef-3d48091a390b&displaylang=en adresinden Windows Mobile 6.0 SDK’ yı indirip kurmamız gerekmektedir.
Başarılı bir kurulumun ardından Start (Başlat) – Programs(Programlar) altında aşağıdaki klasörler vasıtasıyla Cellular Emulator’e ulaşabiliriz.
Cellular Emulatör (yazının bu noktadan sonrasında CE olarakanılacaktır) üzerinde tıklandığında uygulama açılmakta ve aşağıdakigörünüm ekrana gelmektedir.
Ve işte karşımızda CE !
Ekran görüntüsünden de anlaşılabileceği üzere CE karmaşık yüzlercekomutun bulunduğu kullanımı zor bir uygulama değildir. Birkaç sekme vebirkaç konfigürasyon üzerinden birkaç dakika içerisinde masaüstüortamınızda dilediğiniz standartlarda bir GSM ortamıoluşturulabilmektedir.
Uygulamanın daha rahat anlaşılabilmesi açısından sekmeleri kısaca açıklayalım ;
Call Manager : Başarılı bir bağlantı sonucu emülatör üzerinearamalar gerçekleştirebileceğimiz, gelen aramalara çeşitli davranışbiçimleri sergiletebileceğimiz ana ekrandır.
Network : Bu ekran üzerinde 2G, 3G gibi GSM standartlarını aktifhale getirebilirsiniz. Ayrıca emülatörünüz GPRS ile bağlantı halindeise bu bağlantının veri alışverişini ve bağlantıyı bu ekran üzerindenkontrol edebilirsiniz.
SMS : Bu ekran üzerinden mobil cihaz emülatörüne sahte SMS mesajlarıgönderilebilmektedir. Ayrıca cihaz üzerinden gönderilen SMS’ ler buekran üzerinden okunabilmektedir. (Two – Way)
Injection : Bu ekran üzerinden oluşturulmuş sahte GSM Protokolüne ATkomutları gönderebilir, aynı zamanda Event olarak ifade edilen belirliuyarı mesajlarınıda emülatöre gönderebilirsiniz.
Configuration : Bu ekran CE’ nin hayati önem taşıyan ekranlarındanbiridir. Bu ekran üzerinde CE’ nin çalışabilmesi için gerek duyulan SIMFile olarak ifade edilen XML tabanlı konfigurasyon dosyasının neredeolduğu belirlenmektedir. Bu dosyanın geçersiz olması durumunce CEkesinlikle çalışmayacaktır. Bu xml dosyasının sembolik görünümü aşağıdagörüntülenmiştir.
AT log : bu ekran üzerinden protokol üzerinde gerçekleştirilen alışverişin komut loglarını izleyebilirsiniz.
İşte bu kadar ! Sıra geldi uygulamamızın nasıl kullanılacağı ile ilgili atraksiyonlara.
CE’ nin kullanılabilmesi, daha doğrusu anlam kazanabilmesi içinsisteminiz üzerinde yüklü bir mobil cihaz emülatörünün bulunmasıgerekmektedir.
Biz örneğimizde Windows Mobile 6.0 Professional Emülatörünü kullanacağız.
Emülatör üzerinde gerçekleştirilmesi gereken en önemli ayar Emülatörözelliklerinin düzenlendiği pencere içerisinde bulunan Serial Port 0isimli sanal portu COM4 portu ile ilişkilendirmek olacaktır.
Listede bu port değeri görünmüyor ise bu değeri elinizle girebilirsiniz.
Ayrıca neden COM4 diye sorulacak olursa CE’ nin ana ekranı üzerindesol alt köşede bulunan durum çubuğu sayfasında uygulamanın hangi portüzerinden hizmet verdiğine bakılması gerekmektedir.
Bu değerin girilmesinden sonra gerçekleştirilecek olan tek aksiyonmobil cihaz emülatörüne Soft Reset atmak olacaktır. Soft Resetişleminden sonra mobil cihaz emülatörümüz masaüstü ortamında yayınıyapılan GSM sinyaline kavuşmuş olacaktır !
Operatör adı olan 35638 değeri ‘FKNET’, başka bir ifade ile ‘Fake Network’ değerinin kısaltılmış halinin yerine geçmektedir.
Sıra geldi CE yada Mobil Cihaz emülatörümüz üzerinden gerçekleştirebileceğimiz karşılıklı atraksiyonları incelemeye.
İlk noktada arama işleminin CE yada Mobil Cihaz emülatörümüz üzerinden nasıl gerçekleştirilebileceğini ifade edelim.
İlk noktada CE üzerinden emülatörümüze sahte bir arama işlemini nasıl gerçekleştirebiliriz bunu inceleyelim.
Yapılacak olan tek şey CE’ nin Call Manager ekranında bulunan PhoneNumber metin kutusu içerisine mantıklı bir telefon numarası yazıp Dialtuşuna basmak olacaktır.
İşte sonuç ! CE üzerinde Incoming Status değeri ile ifade edilenarama işlemi başarılı bir şekilde başlatılmış ; emülatör üzerinde aramaişlemi görüntülenmektedir.
Bu noktada Answer ‘ a tıklayarak konusmayı başlatabilir yada Ignore ‘ a tıklayarak aramayı reddebilirsiniz.
Peki emülatör üzerinden arama nasıl gerçekleştirilebilmektedir ? CEüzerinde ifade edildiği üzere farklı davranış biçimlerini otomatikolarak sergileyebilmesi açısından hali hazırda belirlenmiş telefonnumaraları bulunmaktadır.
Örnek olarak mobil cihaz üzerinden 7272024 numarasınagerçekleştirilecek olan bir arama emülatör ekranında “Busy” yani meşgulolarak ifade edilecektir. Bunun amacı ise uygulamamızın farklıdurumlarda nasıl bir davranış biçimi sergileyebileceği ile ilgilisenaryoyu çalıştırmaktır.
Örnek olarak 7272024 numarasına mobil cihaz emülatörümüz üzerinden bir arama gerçekleştirelim :
Ekran üzerinden anlaşılabileceği üzere bu numaraya gerçekleştirilenaramalarda mobil cihaz emülatörüne meşgul sinyali gönderilecektir.
Arama işlemine değindikten sonra sıra geldi SMS gönderimi ile ilgili gerçekleştirebileceklerimize.
Daha öncede ifade edildiği üzere çift yönlü olarak SMS mesajları gönderilebilmektedir.
CE üzerinden mobil cihaz emülatörüne SMS göndermek için ilk olarakSMS sekmesine geçilir, mesaj ve telefon numarası yazarak SEND’ etıklanır.
Bingo ! Sıra geldi mobil cihaz emülatörümüz üzerinden SMSgöndermeye. Yeni sms ekranına girdikten sonra numara değerine herhangibir numarayı yazdıktan sonra mesajı gönderiyoruz.
Sonuç mükemmel !
Bu yazımızda Cellular Emulator kullanarak masaüstü ortamında MobilCihaz Emülatörlerimizin bağlantı kurup faydalanabileceği, GSM protokolüile entegre yazmış olduğumuz uygulamaları test edebileceğimiz GSMortamının nasıl oluşturulacağı ile ilgili ayrıntılı bir örneğiinceledik.
Başka bir yazıda daha görüşmek dileğiyle.