[Çözüm] Seri Port Bağlantısı ile Cep Telefonuna Erişim
Bu makalede bluetooth destekli bir cep telefonunun bilgisayara nasıl bağlanacağı ve daha sonra, COM port üzerinden nasıl kontrol edileceği anlatılacaktır. Bluetooth bilgisayar ve çevre birimleri arasında kablo gereksinimi olmadan kısa mesafe radyo frekansı ile haberleşmeyi sağlayan teknolojinin adıdır. Bu teknoloji 2.4 GHz frekans bandı civarında çalışmakta olup, veri ve ses iletimi yapabilmektedir. Veri aktarma hızı 720 kbps'ye kadar ulaşabilmektedir. Etkinlik mesafesi cihazın modeline göre yaklaşık 10 ile 100 metre arasındadır. Telefona hiç dokunmadan konuşma imkanı, bluetooth ürünlerinin en önemli özelliğidir. Markası ne olursa olsun, telefonda bluetooth özelliğinin olması, bunun için yeterlidir. Bluetooth takılı bir PC veya cihaz diğer cihazlara radyo frekansıyla rahat bağlanabilmektedir. Farklı cihazların bağlanabilmesi, düşük maliyet ve az güç tüketimi önemli bir avantaj sunmaktadır.
Bilgisayarla dış aygıtlar arasındaki kablo ile iletişimi sağlayan veri kanallarına port denir. Bunlara bağlantı noktası da diyebiliriz. Portlar seri (COM) ve paralel (LPT) olmak üzere iki temel kısımda incelenir. Paralel port, seri port gibi yerini USB'ye bırakmaya başlamıştır. USB ise dış donanımların bilgisayar ile bağlantı kurabilmesini sağlayan seri yapılı bir bağlantı biçimidir. Anakartlarda en az 4 USB portu bulunmaktadır. Plug and Play özelliğinden dolayı birçok cihazın bağlantısında kullanılmaktadır.
Öncelikle bilgisayarımızda hazır bir bluetooth olması ve cep telefonumuzun bluetooth destekli olması gerekmektedir. Eğer bilgisayarınızda takılı bir bluetooth yoksa bir bluetooth dongle satın almanız gerekir. Bluetooth dongle, PC sisteminin USB arabirimini kullanarak çalışır hale getirilebilir. Kullandığım bluetooth cihazını boş bir USB'ye takıp ayarlamaları yaptım. Yalnız ürünle beraber verilen kurulum CD'sini kullanmakta fayda var.
Microsoft XP Bluetooth kullanılacaksa, Windows XP SP2 kurulu bir PC'de buna gerek yoktur. Kurulumu bitirdikten sonra COM port numarasına bakmak için "Denetim Masası" içinden "Bluetooth Devices" a veya "Aygıt Yöneticisi" ne giriniz. Windows XP SP2 yüklü bir makinede aşağıdakine benzer bir durum görürsünüz. Sizdeki COM portların numarası farklı olabilir. Başka bir deyişle, farklı bir port kullanılarak seri port bağlantısı oluşturulabilir.
Şekil 2. Aygıt yöneticisinden Bluetooth portlar. Bluetooth Radio altında Microsoft Bluetooth Enumerator ve Generic Bluetooth Radio adlarını bulursunuz. Microsoft XP Bluetooth Stack dışında başka bir bluetooth driver yüklü ise (Widcomm veya IVT BlueSoleil gibi) farklı bir isim görebilirsiniz. Ports (COM & LPT) altında ise portların adları vardır. Portun özelliklerine bakmak için sağ tıklayıp "Properties" veya "Özellikler"i tıklarsanız aşağıdakine benzer bir resim görebilirsiniz. Burada bluetooth dongle' un seri port profiline karşılık gelen COM port numarası bulunmaktadır.
Şekil 4. Aygıt yöneticisinden bluetooth modem. Java uygulamalarını tam olarak desteklemeyen veya JSR-82 Bluetooth API' den yoksun olan düşük modelli cep telefonlarında bile, bu makalede olduğu gibi, AT komutları üzerine kurulu projeler geliştirilebilir. JSR-82 Bluetooth/Obex destekleyen telefonlarda ise başka alternatifler var olmakla beraber bunlar makalemizin konusu dışındadır. Oluştaracağımız proje, AT komut seti kullanarak, bilgisayar ile cep telefonu arasında iletişim sağlayan bir uygulama olacaktır. Cep telefonu üreticileri, ürettikleri modellerde kendilerine özgü AT komut setlerini uygulamaktalar. Standart AT komutları dışındaki diğer özelliklere erişmek için kendi telefonunuzun üretici web sayfasına bakmanız yeterlidir. Örnek vermek gerekirse, telefonun GSM operatörü adını sorguladığınızda, farklı markalardan farklı yanıt alabilirsiniz. Kodlamaya başlamadan önce bluetooth bağlantınızı ve AT komutlarının bazılarını denemenizi tavsiye ederim.
Bunun için Başlat -> Programlar ->Donatılar-> İletişim -> HyperTerminal programını kullanabilirsiniz. Aynı şekilde Başlat -> Çalıştır içinde hypertrm yazarsanız, hyperterminal programını başlatabilirsiniz. Programı çalıştırmadan önce cep telefonunuzun ayarlar kısmından bluetooth'un açık olmasına dikkat ediniz. Yeni bağlantı kurmak için aşağıdakilere benzer pencereler gelecektir. İlk önce oluşturacağınız bağlantıda kullanılacak oturum adı ve simgesi belirtmeniz gerekiyor.
Daha sonra cep telefonunuz bilgisayarınıza hangi portttan bağlanmışsa, onu seçiniz. Bendeki bağlantı COM7'ye karşılık geliyor. Sizdeki farklı olabilir. Listeden kendinize uygun olanı seçiniz.
Şekil 6. Bağlantıda kullanılacak portun listeden seçimi. Bağlantı başarıyla oluşturulduktan sonra karşımıza hyperterminal ekranı gelir. Bu ekrandayken AT yazıp Enter'a basalım. OK karşılığı alınıyorsa, AT komutlarının desteklendiğini anlarız. Bundan sonra istediğimiz AT komutunu çalıştırabiliriz.
/// ClassPhoneInfo sınıfı bluetooth takılı bir PC'den seri portu kullanarak,
return (sResponse.Replace(""", "")).Trim();
Şekil 8. Projemizin ana formu. Projemize yeni bir form ekleyelim ve adını frmBTHCOMPort olarak verelim. Üzerine iki adet GroupBox, beş adet ComboBox, üç adet Button ve beş adet Label kontrollerini yerleştirelim. Daha sonra bir adetSerialPortbileşeni de koyalım. Bu bileşenin özellikleri üzerinde bir değişiklik yapmayalım. Bunları daha sonra kodla vereceğiz. İsim uzayına System.IO.Ports eklemeyi ihmal etmeyelim. Proje kodumuz aşağıdaki gibi devam etmektedir:
richTextBox1.Text = ("Üretici:").PadRight(21, '.') +
("Model:").PadRight(20, '.') +
("IMEI:").PadRight(21, '.') +
("Operatör:").PadRight(20, '.') +