Ana Sayfa Arduino X-CTU ve XBee Kullanarak İki Bilgisayarın Haberleşmesi

X-CTU ve XBee Kullanarak İki Bilgisayarın Haberleşmesi

12 min read
7
0
11,417

Merhabalar,

Genelde internette araştırdığınızda XBee ile kablosuz haberleşme yapabileceğiniz uygulamalar karşınıza çıkacaktır. XBee ile bir mikrodenetleyici kullanılarak veya elektronik prototipleme kartı üzerine oturtularak oluşturulmuş projeleri bolca görebilirsiniz. Bu uygulamada elimde bulunan, üzerinde windows xp işletim sistemi yüklü eski bir PC ile, windows 7 bilgisayarın internet olmadan karşılıklı nasıl haberleşebileceklerini, birbirleriyle nasıl mesaj alışverişi yapabileceklerini göstereceğim.

O zaman başlayalım !

Kısaca XBee nedir ondan bahsedelim;

XBee,  IEEE 802.15.4 standartına bağlı bir haberleşme protokolü olan ZigBee’nin donanıma bürünmüş halidir. Siz bu modül ile çevremizden bildiğimiz RF, Wi-Fi gibi kablosuz haberleşme yapabilirsiniz. Örneğin benim elimdeki XBee 1mW S1 modülü için, internette araştırdığım kadarıyla 100 metre bir aralıkta haberleşme yapabileceği yazılıp, çizilmiş.

Ayrıca bu modül üzerinde dijital giriş/çıkış pinleri de mevcut. Yani herhangi bir harici mikrodenetleyici veya elektronik prototipleme aracına ihtiyaç duymadan ( Arduino,Raspberry pi gibi ) bazı uygulamaları gerçekleştirebilirsiniz. Tabi ki ufak bir modül olduğundan dolayı giriş çıkış pinleri de sınırlı sayıda.

AT ve API komut setini destekliyor. Komutlarınızı, AT veya API formatında yazıp yollayabilirsiniz. Biz bu uygulamada AT ile yazıp yollayacağız. API konfigürasyonu da başka bir yazıya kalsın 🙂

XBee modülünün 1 TL ile karşılaştırılması:

11830310_10153192110244773_1799225674_n
Şimdi biz bu modülden iki tane aldık ama böyle sap sap bilgisayarlara nasıl bağlayacağız ? Bu modül üzerinde ne bir USB çıkışı var, ne başka bir port var, nasıl yapacağız ?

Yazımızın konusu bilgisayarlar arası haberleşme. Şimdi biz Seri Haberleşme ile bu bilgisayarları haberleştireceğiz. Seri Haberleşme de sıkça kullanılan RS-232 standartını kullanacağız. Fakat nasıl ?

Günümüz bilgisayarlarında RS-232 portu artık yer almamaktadır ( Çoğunluğunda ! ). Bu efsane portların yerini USB portları devraldı. Bize o zaman bir USB’den RS-232’ye çeviren bir çevirici lazım. O da aşağıdaki gördüğünüz aparat :
11853912_10153192110234773_696590299_n

İnternette Foca FT-232 diye aratarak bulabileceğiniz bu modül, shield artık nasıl isimlendirirseniz, FT-232RL entegre tabanlı bir yapı. USB’den UART’a ( yani RS-232’nin alt yapısını kullandığı yapıya, seri haberleşmeye ) çevirme işlemini bu aparat yapacak. Piyasada sıkça FT-232 serileri kullanılır, usb to rs-232 çeviricilerinin iphone’udur. Diğer rakiplerine nazaran birazcık pahalı bir çiptir. iPhone olmak bunu gerektirir çünkü :). Bir de bunun muadili vardır, CP2102. Çin kaynaklı sitelerden Arduino vb. gibi elektronik prototipleme kartları alırsanız sıkça karşılaşırsınız bu CP2102 ile. Hatta çoğu kişi “Bu arduino çöp abi, bozuk çıktı” deyip, driver’ını yüklemeden yeni bir kart arayışına girer.

Nerden geldik arduino konusuna yine, asıl konumuzdan devam edelim;

İki modülümüzü şu şekilde terminaller aracılığıyla birbirine bağlayarak bir bütün haline getiriyoruz.
xbee_ve_focaft232
Unutmadan söylemek gerekirse, benim elimdeki XBee S1 modülü 3.3 volt düzeyinde çalışmaktadır. Ondan dolayı da 3.3V tarafına switch’imi kaydırdım.

Bilgisayara usb kablomuz ile bağladıktan sonra modül için gerekli olan ft-232 sürücüsü otomatik olarak yüklenmektedir, eğer yüklenmezse, siz de hata çıkarsa yazının altına yorum yazarak şikayetinizi yazın, ben yardımcı olmaya çalışırım.
11857574_10153192157399773_1491008713_n
İlgili modüllerimizi topladıysak, artık haberleşme kısmına geçebiliriz.
XBee’nin üreticisi Digi firması X-CTU isimli XBee’nin bağlantı testinin yapıldığı, konfigürasyonların da yapılabildiği, seri haberleşme terminal’i de bulunan hoş arayüzlü bir program tasarlamış. En son versiyonu çok cicili-bicili olduğundan dolayı kullanasım gelmedi açıkcası. İsterseniz siz onu indirebilirsiniz. Fakat ben yazıda eski bir sürümünü kullanacağım. ( XCTU ver. 5.2.8.6 installer )

Buradan dilediğiniz X-CTU yazılımını indirebilirsiniz.

XBee’mizi bilgisayara bağladık, programımızı indirip Next-Next diyerek yükledikten sonra programı açarsak aşağıdaki bir arayüz bizi karşılayacak.

arayuz1

Projeyi gerçekleştirirken iki farklı bilgisayar kullandığım için iki farklı bilgisayarımda karşıma gelen ekran görüntülerini karşılaştırmalı olarak koyacağım, kafanız karışmasın. Bu işlemleri tek bir bilgisayarda da yapabilirsiniz. Yani tek bir bilgisayar da iki XBee modülünüzü de haberleştirebilirsiniz.

Resimde de göreceğiniz üzere XP bilgisayarımda XBee modülü COM5 üzerinden haberleşecek. Windows 7 üzerinde ise COM37 üzerinden haberleşmesini gerçekleştirecek.

Test / Query butonuna tıklayarak XBee’mizin bilgisayar ile haberleşip haberleşmediğini test edebiliriz, tıkladığımda karşıma çıkan sonuç başarılı.

arayuz2

Bir de XBee’lerimiz arasındaki aralığın kalitesine bakalım. Haberleşmemiz için uygun aralıkta mı acaba? Range Test kısmından incelersek;

arayuz3

Sonuçlar oldukça değişkenlik gösteriyor, ama genelde yüzde 97-98 çekim kalitesi var.

XBee’leri bir odanın içerisinde ne kadar uzağa koyabilirim ki ? 🙂 Siz oturma odası ve mutfak arasında, veya sokağa çıkarak apartmanın önünde oturup evinizle de haberleşmeyi deneyebilirsiniz.

bilgisayar

Şimdi de Terminal üzerinden bilgisayarlarımız ile chat yapalım.

haberlesme1
Gönderilen mesajlar Mavi rengini alırken, Alınan mesajlar Kırmızı rengini almaktadır.

API modunda komutların gönderilmesi, birden fazla XBee ile bir network oluşturulması, yani bir XBee düşünün, birden fazla XBee’ye hükmedebiliyor, komut gönderip-alabiliyor vb. Kendi sürü robotlarınızı bu yöntemle oluşturabilir, yönetebilirsiniz. Point to point, Point to multipoint, API, Coordinator, End Devices, Router, Topolojiler, Mikrodenetleyiciler arası haberleşmeler gibi konular da başka yazılara kalsın.

Küçük dipnotlar;

Eğer XBee’niz arayüz programı tarafından COM portu görülüyor fakat Test / Query‘e tıklayınca bir uyarı penceresiyle karşılaşıyorsanız, modül üzerinde bulunan BEE_RST tuşuna 1-2 sn basıp-çektikten sonra bağlanması muhtemeldir. Çünkü bazı XBee’lerin BaudRate’leri farklı olabilmektedir. Bu uygulamada BaudRate 9600 alınmıştır.

Modem Configuration kısmına girdiğiniz de XBee’nizi fabrika ayarlarına döndürmek isterseniz Restore butonuna basınız.
Yaptığınız değişiklikleri XBee’ye aktarmak isterseniz Write butonuna tıklamalısınız.
XBee’nin konfigürasyon ayarlarını görmek isterseniz Read butonuna tıklamalısınız.

Aklınıza takılan, anlamadığınız yerleri yorum yazarak belirtebilirsiniz, sorularınızı yorum olarak yazabilirsiniz.

İyi Çalışmalar,

 

Buna Benzer Yazılar Göster !
Daha Fazlasını Yükle - Yücel Yılmaz
Daha Fazla Göster -  Arduino

7 Yorumlar

  1. Gökhan Göçmen

    11 Ekim 2015 at 01:18

    TEST/QUERY’de uyarı ile karşılaşıyorum. BEE_RST tuşu modül üzerinde yok. Ne yapmam gerekiyor acaba? xBee Pro S2B kullanıyorum.

    Reply

    • Yücel Yılmaz

      Yücel Yılmaz

      11 Ekim 2015 at 14:23

      Merhaba Gökhan,

      Bildiğim kadarıyla varsayılan olarak BaudRate 9600 olarak geliyor, 9600 baudrate’de bağlanmayı denedin mi ?

      Reply

  2. hamzaoztas

    14 Ekim 2015 at 08:03

    Merhaba modulu, usb dongle ile birlikte kullanıyorsanız dongle üzerinde reset butonu olacak ona basın, hata ile karşılaşmamak için dongle üzerindeki rest bacağını direkt gnd verin.

    Reply

  3. hamit

    22 Ocak 2016 at 13:07

    merhabalar bende 2 tane xbee modül var antensiz olarak kullanıyorum bütün bağlantıları yapıyorum bütün haberleşmeler uygun range testte %90 ile %100 arasında iletişim alıyorum ama ne yazıkki terminalde haberleşmiyor line status da cts cd bağlanmıyor ne şekilde yapabilirim

    Reply

    • Yücel Yılmaz

      Yücel Yılmaz

      22 Ocak 2016 at 14:59

      Merhaba,

      Kullanmış olduğunuz XBee modülleri birbirinden farklı modeller mi ? Hangi modeli kullanıyorsunuz ? API modunda mı çalıştırıyorsunuz AT modunda mı ?

      Reply

      • hamit

        22 Ocak 2016 at 17:12

        kullandığım modüllerin 2 side aynı AT modunda kullanıyorum

        Reply

  4. ekan

    15 Haziran 2017 at 17:02

    Merhaba, merak ettiğim bir konu var. Arduino ya eklediğim bir butona basarak Master xbee den int veya float türünde bir değeri slave xbee ye göndermek istedik diyelim. Verinin slave cihaza ulaştığını nasıl anlarız. İletişim kararlılığı nedir. Şimdiden teşekkürler.

    Reply

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bak Bakalım ?

EcubMaker TOYDIY 4in1 3D Yazıcı İncelemesi

Merhabalar, Bugün sizlerle beraber EcubMaker firmasının üretmiş olduğu 4’ü 1 arada (…