WiFly GSX Modülü ile Devrelerinizi Kablosuz Ağlara Bağlayın



Benzer belgeler
WiFi RS232 Converter Sayfa 1 / 12. WiFi RS232 Converter. Teknik Döküman

WiFi Relay Sayfa 1 / 11. WiFi Relay. Teknik Döküman

ACR-Net 100 Kullanım Kılavuzu

Erişim Noktası Ayarları

BETİ GSM/GPRS MODEM KULLANIM KILAVUZU

UNIVERSAL REPEATER (TEKRARLAYICI/GENİŞLETİCİ MODU)

EW-7416APn v2 & EW-7415PDn Macintosh Kurulum Kılavuzu

SERNET ET232CAS x2 RS232 Seri Kanal Sunucu KULLANICI KILAVUZU. Telif Hakkı Uyarısı. >>> Otomasyon Ürünleri

SERNET ET485CAS x2 RS485/RS422 Seri Kanal Sunucu KULLANICI KILAVUZU. Telif Hakkı Uyarısı. >>> Otomasyon Ürünleri

SERNET ET232CAS x2 RS232 Seri Kanal Sunucu KULLANICI KILAVUZU. Telif Hakkı Uyarısı. >>> Otomasyon Ürünleri

BU CİHAZ BİLGİSAYAR BAĞLANTILI SİSTEM OLMAYIP, BAĞLI OLDUĞU BİLGİSAYAR İLE DEVAMLI İLETİŞİM YAPMAMAKTADIR. Mali Onaylı Yazarkasa

TL-WPS510U PRINT SERVER KURULUM DÖKÜMANI

AirTies RT-212 Modem Kurulum Kılavuzu. Vodafone Teknoloji Servisleri

BEUN VPN Hizmeti. VPN Nedir?

AirTies Kablosuz Erişim Noktası (Access Point) olarak kullanacağınız cihazı bilgisayarınıza bağlayarak ayarlarını yapabilirsiniz.

MCR02-AE Ethernet Temassız Kart Okuyucu

Smartnet PRO-W Kullanım Kılavuzu

Alıcı Devresi; Sinyali şu şekilde modüle ediyoruz;

D-Link DSL-6740U KOLAY KURULUM KILAVUZU. TEKN K SERV S ve DESTEK. Kablosuz N300 ADSL/ADSL2+ VDSL/VDSL2 Router (D-Smart İnternet Kullanıcıları için)

Kuruluma başlamadan önce gerekli tüm bileşenlerin mevcut olup olmadığını kontrol edin. Kutuda şunlar bulunmalıdır:

Gerekli bağlantıları yapıp, ACS420 V3.03 programını çalıştırınız. Program açıldığında, LMS14 ün içindeki parametrelerin okunmasını bekleyiniz.

AIRTIES MESH NETWORK KURULUMU:

ZTerminal KULLANMA KILAVUZU. yazılımı. USB Terminal

7/24 destek hattı Kolay kurulum CD si Üç yıl garanti Üç yıl garanti YM.WR.5341.UM.TR.D01REV

Access Point Mod Kurulumu

AirTies Kablosuz Erişim Noktası (Access Point) olarak kullanacağınız cihazı bilgisayarınıza bağlayarak ayarlarını yapabilirsiniz.

5. Bu alt butonlardan Kanal ve SSID isimli butona tıklayınız. B. AP-300 AYARLARI Bu bölümde 2 AP-300 ün Kanal ve SSID bölümü ile kablosuz ayarları LAN

GENETİK ALGORİTMA GEZGİN SATICI ÖDEVİ

Bilgisayar Programcılığı. Görsel Programlama-I. Öğr. Gör. Cansu AYVAZ GÜVEN

EC-100. Ethernet RS232/422/485 Çevirici. İstanbul Yazılım ve Elektronik Teknolojileri

Karabük Üniversitesi, Mühendislik Fakültesi... WEB TEKNOLOJİLERİ

Edimax Gemini Ev Wi-Fi Dolaşım Güncelleme Kiti RE11 Hızlı Kurulum Kılavuzu

Grove Parmak İzi Okuyucu Sensör ile Arduino Uno

Paralel ve Seri İletişim. Asenkron/Senkron İletişim. Şekil 2: İletişim Modları

Denetim Masası/Programlar/Windows özelliklerini Aç/Kapat

BQ Modbus Analog Giriş Kartı 6 Kanal PT100 - PT1000. Kullanım Kılavuzu. Doküman Versiyon: BQTEK

Kurulum; Ana Bilgisayar ve Tahtalara ayrı ayrı yapılmaktadır. KURULUM ŞEMASI x.x x.x x.x x.

Bağlantı Kılavuzu. Desteklenen işletim sistemleri. Yazıcı yükleme. Bağlantı Kılavuzu

N150 WiFi Yönlendirici (N150R)

N300 WiFi Yönlendirici (N300R)

ÖDEVLERİ SİSTEME YÜKLEME USULLERİ

MEKANİZMA TEKNİĞİ (7. Hafta)

UniGSM Arduino SHIELD (UniGSM-A) KURULUM ve KULLANIM KİTAPÇIĞI

Rezistivite Cihazı Kullanım Klavuzu

Android Ders Notları

1.1 KULLANICI YÖNETİMİ

BQ101 GSM Access Kontrol Ünitesi Windows Programı. Kullanım Kılavuzu. Doküman Versiyon: BQTEK

MY PANEL METER KULLANIM KILAVUZU

WAP-3205 FirmWare Güncelleme Resetleme Universal Repeater Kurulumu CİHAZ ARAYÜZÜNE ERİŞİM

AirTies Kablosuz Erişim Noktası (Access Point) olarak kullanacağınız cihazı bilgisayarınıza bağlayarak ayarlarını yapabilirsiniz.

BQ Modbus Analog Giriş Kartı 6 Kanal 4 20mA. Kullanım Kılavuzu. Doküman Versiyon: BQTEK

BÖLÜM 23 TD F8 F4 SHIFT ESC ENTER M1.7 M1.6 M1.5 M1.4 M1.3 M1.2 M1.1 M1.0 F8 F7 F6 F5 F4 F3 F2 F1. Shift + F1

NBG416N. Kullanım Kılavuzu ve Garanti Kartı NBG416N

Cihazınızın İnternet ayarlarını yapabilmek için lütfen aşağıdaki adımları takip ediniz;

AirTies Rt-204. Modem Kurulum Kılavuzu. Vodafone Teknoloji Servisleri

ÇANKAYA ÜNİVERSİTESİ WEBMAIL KULLANIM KLAVUZU

FOUR FAİTH F2114 GPRS MODEM İLE ANALOG I/O ÜZERİNDEN HABERLEŞME KILAVUZU

Bu ürün WinXP, 2000, ME, Win98 de çalıştırılmak için tasarlanmıştır. Her işletim sistemi için yükleme yordamı yaklaşık olarak aynıdır.

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik.

1. Bilgisayarınızda kullandığınız Web tarayıcı programını (Internet Explorer, Mozilla Firefox vb.) çalıştırınız.

ENERJİ TAKİP YAZILIMI. elektrometre, elektropan ın tescilli markasıdır.

Code Composer Studio İndirilmesi ve Kurulması

BQ352 Modbus Röle Cihazı 24 Kanal. Kullanım Kılavuzu. Doküman Versiyon: BQTEK

Doç.Dr. Cüneyt BAYILMIŞ

IFD8520 ADRESLENEBİLİR RS-485/RS-422 İZOLELİ ÇEVİRİCİ KULLANIM KILAVUZU

Connection Manager Kullanım Kılavuzu

VKV Koç Özel İlkokulu, Ortaokulu ve Lisesi. K12Net Veli Yardım Kılavuzu

C#.Net & Linq (Language Integrated Query)

tıklayınız. tıklayınız. tıklayınız. tıklayınız. tıklayınız. tıklayınız. tıklayınız. tıklayınız.

INTERNET BAĞLANTISININ KURULMASI İÇİN GEREKLİ YÖNLENDİRİCİ AYARLARI

Doğru Adaptor soket kutuplaması.

ÖDEVLERİ SİSTEME YÜKLEME USULLERİ

F2114 İLE VIRTUAL COM PORT (TCP2COM) KILAVUZU

BİL BİLGİSAYAR PROGRAMLAMA (JAVA)

Kuruluma başlamadan önce gerekli tüm bileşenlerin mevcut olup olmadığını kontrol edin. Pakette şunlar bulunmalıdır:

Hızlı Başlangıç. NETGEAR Trek N300 Travel Router and Range Extender. Model PR2000 NETGEAR LAN. Power. WiFi USB USB. Reset Internet/LAN.

Kablosuz ADSL2+ Modem Router Kurulumu

ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ

EC-232C. Ethernet RS232 Çevirici. İstanbul Yazılım ve Elektronik Teknolojileri

Pikatel Airmax Web Arayüzü

İNTERNET TABANLI PROGRAMLAMA

EC-485. Ethernet RS485 Çevirici. İstanbul Yazılım ve Elektronik Teknolojileri

KRİPTOANALİZ DERSİ FİNAL ÖDEVİ. PSO ile TRANSPOSITION CIPHER ÇÖZÜMÜ

P-TECH RF MODEM MODBUS SERİ HABERLEŞME KILAVUZU

DSL 2520U ALL IN ONE ADSL2+ ETHERNET/USB COMBO ROUTER ADIM ADIM KURULUM KILAVUZU

SINIF İÇİ UYGULAMA KODLARI

Ana Menü. Ana Menü (Main Page) İçerisindekiler;

ARRIS WTM-552A 4 ETHERNET PORT VOIP KABLOSUZ MODEM HIZLI KURULUM KILAVUZU

AirTies RT-205 Modem Kurulum Kılavuzu. Vodafone Teknoloji Servisleri

AKINSOFT. Eofis NetworkAdmin. AKINSOFT EOfis NetworkAdmin Kurulumu Bilgi Notu. Doküman Versiyon : Tarih : Copyright 2008 AKINSOFT

Cisco 881 Router ve AirLink ES4X0, WAN Failover Tanımı

BQ300 RF Röle Kontrol Ünitesi. Kullanım Kılavuzu. Doküman Versiyon: BQTEK

KABLOSUZ-N MİNİ YÖNLENDİRİCİ

F3938 OTOBÜS MODEMİ KULLANIM KILAVUZU

Ledler turuncu yanıyorsa iki modem arasınta fiziksel bağlantı var demektir.

Hızlı Kurulum Kılavuzu MODELLER P4320, P4520 UYARI!

BİLGİ NOTU. SpeedTouch 585 Kablosuz ADSL Router

TUŞ TAKIMI (KEYPAD) UYGULAMALARI

2332 NX4RT 4 KANAL TRIPLEX NETWORK DVR CİHAZI KOLAY KURULUM KILAVUZU

XMail. Kurulum ve Senkronizasyon Ayarları Rehberi

Transkript:

WiFly GSX Modülü ile Devrelerinizi Kablosuz Ağlara Bağlayın Recai Sinekli Nisan 2011

Recai Sinekli Önsöz Öncelikle şunu belirtmek isterim ki bu kaynakta bu modülün bütün özelliklerinin kullanımını değil sadece baştan sona bir veri gönderme ve alma uygulamasının nasıl gerçekleştirileceğini bulacaksınız. Modülün kullanımı ile ilgili temel bilgiyi bu kaynaktan edindikten sonra katalogunu inceleyerek diğer bütün özelliklerini irdeleyebilirsiniz. Kaynağı hazırlarken WiFly GSX RN-131G modülünün kullanım kılavuzundan faydalandım. Mikrodenetleyici olarak PIC18F4620 kullanıldı ve kodlar CCS C dili ile yazıldı. Bilgisayar tarafında ise kodlar C# ile yazıldı. Uygulama ile ilgili kaynak kodların tamamı indirdiğiniz bu dosya içerisinde olmalıdır. Eğer sadece PDF dosyasına erişebilmişseniz kaynak kodları için adresini ziyaret edebilir ya da recai@recaisinekli.com adresinden mail yoluyla ulaşabilirsiniz. Bitirme ödevinde kullanmak üzere incelediğim bu modülü kullanmaya çalışırken edindiğim bilgi ve tecrübeleri bir araya getirerek hazırladığım bu kaynağın amacı ülkemizde konu ile ilgilenecek olan kişilere fayda sağlamasıdır. Recai Sinekli recai@recaisinekli.com - 2 -

WiFly GSX Modülü ile Kablosuz Ağlara Bağlanma 1) Modülün Özellikleri WiFly modülü TCP/IP uygulamaları için Roving Networks tarafından geliştirilmiş bir üründür. Sadece Power, Gnd, Rx ve Tx pinlerini kullanarak kablosuz bir ağa bağlanıp UART üzerinden veri alıp gönderebilirsiniz. 2.4GHz IEEE 802.11b/g protokolünü desteklemektedir. Ultra düşük güç tüketimi (4uA uyku modunda, 40mA Rx, 210mA max Tx) Küçük boyut (3,5 x 28,5 x 37mm) UART ve SPI donanım arayüzleri 8 analog sensör Oto-uyku ve Oto-uyanma için gerçek zamanlı saat 3.3V DC ya da gömülü boost regülatörü sayesinde 2-3 V pil ile besleme Adhoc bağlantı desteği WiFi kimlik doğrulama - WEP-128, WPA-PSK (TKIP), WPA2-PSK (AES). Dahili ağ uygulamaları - DHCP, UDP, DNS, ARP, FTP, TELNET, HTTP Devrede kullanacağımız modül : Bu breakout board sayesinde pinleri lehimlemek ve modülü bread board üzerinde kullanmak oldukça kolay. 2) Modüle Güç Verilmesi Modüle güç vermek için iki yol mevcut. - 3 -

Recai Sinekli 1. DC Kaynak 3.3 V gerilimi VDD-BATT (pin 20) ve VDD-IN (pin 21) pinlerine uygulayın. 3.3V-RIN (pin 18) ve GND (pin 19) pinlerini toprağa bağlayın. 2. Batarya ile 2V 3.3V aralığındaki gerilimi (2 adet AAA seri bağlı pil olabilir) VDD-BATT (pin 20) pinine uygulayın. Bu sefer VDD-IN (pin 21) boşta bırakılacak. 3.3V-ROUT (pin 17) pinini 3.3V-RIN (pin 18) pinine bağlayın. Bu bağlantı modülün gömülü boost regülatörünü aktifleştirecektir. Son olarak GND (pin 19) pini toprağa bağlanacaktır. UYARI : VDD pinlerine 3.3V üzerinde herhangi bir gerilim uygulanması modülde kalıcı hasara yol açacaktır. PIO pinleri output olarak kurulu iken bu pinlere 3.3V gerilim uygulamak modülde kalıcı hasara yol açacaktır. Modül güç verdikten sonra kullanıma hazır hale gelmektedir. Rx ve Tx pinleri bağlantısını yapmanız yeterli. 3) Reset Aktif low giriştir ve opsiyoneldir. Modülün çalışması için bağlama zorunluluğunuz yok. 4) UART Bilgisayar ya da herhangi bir mikrodenetleyici bağlantısını yaparken ortak toprak bağlantısı yapmayı unutmayın. Eğer mikrodenetleyiciniz 3.3V ile değil de 5V ile çalışıyorsa Rx, Tx pinleri için voltaj seviyesini değiştirmeyi unutmayın. Bu işlem için Max232 entegresi kullanabilirsiniz. Bilgisayar bağlantısı yaparken de voltaj seviyelerine dikkat etmeyi unutmayın. 5) Durum LEDleri PIO 4, 5 ve 6 pinleri harici ledlere bağlanarak bağlantı ve veri akış durumları izlenebilir. Tablo kullanım kılavuzundan direk alınmıştır. - 4 -

WiFly GSX Modülü ile Kablosuz Ağlara Bağlanma Modülün bağlantıları tamamlandıktan sonra bread board üzerindeki görünümü. - 5 -

Recai Sinekli Modülün GND, Rx ve Tx pinlerinin bilgisayar bağlantısı. Not : Benim kullandığım USB-TTL dönüştürücü çıkışı 3V3 seviyesinde olduğu için Rx,Tx pinlerini bilgisayara direk bağladım.eğer sizin RS232 bağlantınız bu şekilde değilse MAX232 kullanarak voltaj seviyesini ayarlamayı unutmayın. 6) Konfigürasyon Donanımsal bağlantılarımız tamamlandığına göre konfigürasyon işlemine başlayabiliriz. Konfigürasyon UART üzerinden veya modülün adhoc bağlantı desteği sayesinde TELNET ile kablosuz olarak gerçekleştirilebilir. Biz işlemlerimizi UART üzerinden yapacağız. TELNET kullanmak isteyenler kullanım kılavuzunu inceleyebilirler. Terminal olarak kullanım kılavuzunda da tavsiye edildiği üzere TeraTerm kullanacağız. http://www.rovingnetworks.com/support/teraterm.zip Terminal programımızı çalıştırdıktan sonra bağlantı ayarlarımızı aşağıdaki gibi yapıyoruz.(sizin bağlantı yapacağınız port COM4 olmayabilir.aygıt yöneticinizin bağlantı noktalarından COM port numaranıza bakabilirsiniz.) Modüle güç verdikten sonra terminal ekranınızda aşağıdaki gibi mesajlar görürsünüz.bu mesajlarda modülünüzün versiyonu, MAC adresi ve bağlanmaya çalıştığı ağ ile ilgili bilgiler var. - 6 -

WiFly GSX Modülü ile Kablosuz Ağlara Bağlanma Varsayılan ayarlarda modülün anteni chip anten olarak atanmıştır. Chip anten veya harici anten arasında seçim yapabiliriz. UF.L konnektöre herhangi bir anten bağlamasam da harici anten tercih etmenin chip antene göre daha karalı çalıştığını gördüm. Bu yüzden ilk önce anten seçimini yapıyoruz. Modüle komutlar gönderebilmek için Komut Moduna girmemiz gerekir.bunun için $$$ karekter dizisinin gönderilmesi gerekir. Bu karakter dizisine cevap olarak CMD gönderilecektir. CMD cevabını aldıktan sonra artık komut göndermeye başlayabiliriz. İlk komutumuz, set wlan ext_antenna 1 Bu komut ile harici anteni seçmiş oluyoruz. Modül geçerli komutlara cevap olarak AOK cevabını gönderir. Modülün belirli aralıklarla roving1 ağına bağlanmaya çalıştığını görmüşsünüzdür. Çünkü modül varsayılan olarak otomatik bağlanma modundadır ve bağlanılacak SSID roving1 olarak kaydedilmiştir. Şimdi yapacağımız işlem rahat çalışabilmek için modülü otomatik bağlanma modundan çıkarmak olacak. set wlan join 0 Modül artık roving1 ağına katılmaya çalışmayacak. Şimdi scan komutuyla etrafımızdaki ağlara bakacağız. Modül bulduğu ağları birkaç saniye içinde listeleyecektir. Bunlardan hangisine bağlanacaksak aşağıdaki komutla o ağın SSID sini modüle kaydedeceğiz. - 7 -

Recai Sinekli set wlan ssid <ağ adı> Sıradaki işlemimiz ağ parolasını kaydetmek olacak. Muhtemelen WPA2 şifreleme kullanıyorsunuzdur. Eğer öyleyse aşağıdaki komutu kullanarak parolanızı kaydediniz. Eğer WEP şifreleme kullanıyorsanız bir alt satırdaki komutu kullanmalısınız. set wlan phrase <kablosuz ağ parolası> set wlan key <değer> (WEP şifreleme kullanıyorsanız parola 13 byte olmak zorunda ve HEX formatında 0x kullanılmadan gönderilmeli.) Aşağıdaki komutla ağ ayarlarınıza bakabilirsiniz. get wlan Not : Modül komutlarda kısaltmayı desteklemektedir. Yani get wlan yerine get w komutunu da kullanabilirsiniz. Ya da set wlan phrase yerine set w p gibi. Ayrıntılı bilgi için kullanım kılavuzunu inceleyebilirsiniz. Join=0 Modül ağa otamatik bağlanmayacaktır. Daha sonra bu değeri 1 yapacağız. ExtAnt=1 Modül harici anteni kullanmaktadır. Rate=12, 24 Mb Modülün kablosuz veri aktarım hızıdır ve varsayılan olarak 12 değeri atanmıştır. ve 24 Mbit/s anlamına gelmektedir. Değiştirmek için aşağıdaki komut kullanılır. set wlan rate <değer> - 8 -

WiFly GSX Modülü ile Kablosuz Ağlara Bağlanma Şimdi bütün bu ayarların kaydedilmesi için aşağıdaki komutu kullanacağız. save Kaydetme işleminden sonra reboot komutuyla modülü yeniden başlatıyoruz. Modül yeniden başlatıldıktan sonra tekrar komut moduna girmek için $$$ karakter dizisini gönderin. Şimdi modülün açılışta ağa otomatik bağlanması için join değerini 1 yapacağız ve tekrar kaydedip tekrar yeniden başlatacağız. - 9 -

Recai Sinekli Join değerini 1 yaptıktan sonra eğer SSID ve ağ parolasını doğru girmişseniz modülün ağa hemen bağlandığını göreceksiniz. Daha önce yanıp sönen kırmızı LED sönecektir. Yukarıda modüle atanan yerel ağ IP adresinin 192.168.2.3 olduğunu ve port 2000i dinlediği görülmektedir. Şimdi save komutuyla ayarlarımızı kaydediyoruz. Artık modüle güç verdiğinizde otomatik olarak bu kablosuz ağa bağlanacaktır. Modül internete bağlandığına göre artık sırada modüle erişip veri aktarımı sağlamak var. 7) İnternet Tarayıcısı ile Modüle Bağlanma Artık modüle internet tarayıcınızın adres satırına http://192.168.2.3:2000 yazarak ulaşabilirsiniz. Modüle bağlandığınızda yeşil LED sabitlenecektir ve terminal ekranınızda aşağıdaki gibi bilgiler göreceksiniz. Terminal ekranındayken klavyeden bastığınız karakterler terminal aracılığıyla modüle, oradan modeminize, oradan da bilgisayarınıza yönlendirilecektir. Veri aktarımı sırasında sarı LED yanıp sönecektir. Şimdi terminal ekranınızda $$$ karakterlerini göndererek modülün komut moduna girmesini sağlayın. CMD cevabı geldikten sonra close komutunu verin. Bu komut var olan bir TCP bağlantısını sonlandırır. Bağlantı sonlanır sonlanmaz internet tarayıcınız aldığı karakterleri aşağıdaki gibi gösterecektir. - 10 -

WiFly GSX Modülü ile Kablosuz Ağlara Bağlanma Bağlantınız kesildiğinde terminalde aşağıdaki gibi bilgiler görürsünüz. Ancak yeşil LED hala sabit yanıyorsa tekrar komut moduna girip bir kere daha close komutu göndermeniz gerekmektedir. *CLOS* cevabını aldığınızda bağlantınızın kesildiğinden emin olabilirsiniz. Yeşil LED yanıp sönmeye devam edecektir. Bağlantı kurduğunuz sırada klavyeden gönderdiğiniz karakterlerin başında *HELLO* karakterlerinin de gönderildiğini fark etmişsinizdir. Bu, modül kendisine bağlanıldığında otomatik olarak *HELLO* cevabını veriyor anlamına gelmektedir. Kapatıldığında da *CLOS*. Biz bu ayarları değiştirip bağlantı kurulduğunda ve kesildiğinde modülün hiçbir data göndermemesini sağlayacağız. Bunun için aşağıdaki komutlar kullanılacak. get com ile bu ayarlara bakabilirsiniz. OPEN, CLOSE ve REMOTE için sırasıyla *OPEN*,*CLOS* ve *HELLO* verilerinin atanmış olduğuna dikkat edin. set com open 0 set com clos 0-11 -

Recai Sinekli set com remote 0 Yeniden baktığımızda değerlerin silinmiş olduğunu görebiliriz. save komutuyla bu ayarları da kaydettikten sonra yeniden bir bağlantı deneyelim. Bu sefer adres satırımıza sadece ip adresi değil aynı zamanda bir de veri ekleyeceğiz. HTML bilgisi olanlar yaptığımız işi hemen çözeceklerdir. Şimdi terminal ekranımıza dönüp modülün aldığı karakterlere bakalım. Üst satırda gönderdiğimiz verinin modül tarafından alınıp uart ile terminale aktarıldığına dikkat edin. Şimdi klavyeden birkaç karakter gönderin ve komut moduna girerek bağlantıyı kesin. İnternet tarayıcınıza baktığınızda artık sadece gönderdiğiniz karakterlerin alındığını göreceksiniz. - 12 -

WiFly GSX Modülü ile Kablosuz Ağlara Bağlanma Bu yaptığımız işlem HTML nin GET metodunu kullanarak veri göndermekti. Bu demek oluyor ki basit bit HTML sayfası hazırlayarak bir form oluşturabilir ve bir buton aracılığıyla modüle veri gönderebiliriz. Ancak biz böyle bir yol izlemeyeceğiz. Bir C# uygulaması yazarak daha kullanışlı ve istediğiniz gibi işler yapabileceğiniz hale getireceğiz. 8) C# Uygulaması ile Modüle Bağlanma Bu bölümde Visual Studio 2008 kullanarak bir C# uygulaması yazacağız. Socket bağlantısı yaparak modülün ip adresi ve dinlediği porta veri göndereceğiz. Bu işlemlerimizi yerel ağda gerçekleştirdikten sonra modemde port yönlendirme yaparak devremizi bütün dünyadan erişilebilir hale getireceğiz. Visual Studio yu başlattıktan sonra File > New > Project sıralamasını izleyerek proje oluşturma penceresini açın. Windows Forms Application ı seçerek projenize bir isim verin ve OK butonuna tıklayın. Form1 üzerine bir text box bir de buton ekleyin. Text Box ın Read Only özelliğini true yapın ve Name özelliğine result_txt, butonun Text özelliğine Bağlan,Name özelliğine de connect_btn yazın. Form aşağıdaki gibi bir düzende olabilir. using System; using System.IO; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Net; using System.Net.Sockets; using System.Threading; namespace wifly public partial class Form1 : Form int control = 0; TcpClient tcpclnt = new TcpClient(); public Form1() InitializeComponent(); - 13 -

Recai Sinekli private void connect_btn_click(object sender, EventArgs e) if (control == 0) try tcpclnt.connect("192.168.2.3", 2000); result_txt.text = "Bağlantı kuruldu."; connect_btn.text = "Bağlantıyı Kes"; control = 1; catch (Exception ex) MessageBox.Show(ex.Message); result_txt.text = "Hata : Bağlantı Kurulamadı."; else control = 0; tcpclnt.close(); result_txt.text = "Bağlantı Kesildi."; connect_btn.text = "Bağlan"; Kodumuz yukarıdaki gibi olacak. Programı derleyip çalıştırdığınızda bağlan butonuna tıklayın ve modüle bağlı yanıp sönen yeşil LEDin sabitlendiğini görün. Bağlantıyı Kes e tıkladığınızda da LEDin tekrar yanıp sönmeye başladığını göreceksiniz. Şimdi programı biraz geliştirelim. Forma iki adet buton daha ekleyin ve birinci butonun Text özelliğine Led Yak, Name özelliğine led_on,ikinci butonun Text özelliğine Led Söndür ve Name özelliğine de led_off yazın. Her iki butonun da Enabled özelliğini False yapın. Butonlar için aşağıdaki kodları ekleyin. private void led_on_click(object sender, EventArgs e) Stream stm = tcpclnt.getstream(); stm.writebyte(0x66); private void led_off_click(object sender, EventArgs e) Stream stm = tcpclnt.getstream(); stm.writebyte(0x77); - 14 -

WiFly GSX Modülü ile Kablosuz Ağlara Bağlanma Böylece Led Yak butonuna basıldığında 0x66, Led Söndür butonuna basıldığında 0x77 verileri gönderilecek. connect_btn_click() fonksiyonunun try bloğu içerisine de aşağıdaki satırları, led_on.enabled = true; led_off.enabled = true; else bloğu içerisine de aşağıdaki satırları ekleyin. led_off.enabled = false; led_on.enabled = false; Bu durumda kodun son hali aşağıdaki gibi olmalı. using System; using System.IO; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Net; using System.Net.Sockets; using System.Threading; namespace wifly public partial class Form1 : Form int control = 0; TcpClient tcpclnt = new TcpClient(); public Form1() InitializeComponent(); private void connect_btn_click(object sender, EventArgs e) if (control == 0) try tcpclnt.connect("192.168.2.3", 2000); result_txt.text = "Bağlantı kuruldu."; connect_btn.text = "Bağlantıyı Kes"; control = 1; led_on.enabled = true; led_off.enabled = true; catch (Exception ex) MessageBox.Show(ex.Message); result_txt.text = "Hata : Bağlantı Kurulamadı."; - 15 -

Recai Sinekli else control = 0; tcpclnt.close(); result_txt.text = "Bağlantı Kesildi."; connect_btn.text = "Bağlan"; led_off.enabled = false; led_on.enabled = false; private void led_on_click(object sender, EventArgs e) Stream stm = tcpclnt.getstream(); stm.writebyte(0x66); private void led_off_click(object sender, EventArgs e) Stream stm = tcpclnt.getstream(); stm.writebyte(0x77); Şimdi bağlantıyı kurup terminal programımızdan modülün alıp UART ile gönderdiği verilere bakalım. Programımızı çalıştırıp bağlantıyı kuruyoruz. Led Yak butonuna tıkladığımızda 0x66, Led Söndür butonuna tıkladığınızda 0x77 değerleri gönderilmekte ve bu HEX sayıların ASCII karşılıkları terminal ekranında görülmektedir. Böylece sadece istediğimiz verinin iletimini gerçekleştirmiş olduk. Artık yapmamız gereken şey Rx,Tx pinlerini PIC e bağlayıp gelen veriyi kontrol edip gerekli işi yaptırmak olacak. - 16 -

WiFly GSX Modülü ile Kablosuz Ağlara Bağlanma 9) PIC programının Yazılması PIC programımızı aşağıdaki devreye göre yazacağız. Benim elimde 3.3V ile çalıştırabileceğim 18F4620 vardı bu nedenle devrede onu kullandım. Siz 3.3V ile çalışan herhangi bir PIC kullanabilirsiniz. Eğer 5V ile çalışan bir model kullanacaksanız Rx,Tx pinlerini kesinlikle modüle doğrudan bağlamayınız. Mutlaka MAX232 gibi bir entegre ile voltaj seviyesini düşürün. #include <18F4620.h> #FUSES HS #use delay(clock=20000000) #use rs232(baud=9600,parity=n,xmit=pin_d0,rcv=pin_d1,bits=8,stop=1) int getcom=0xaa; //------------------------------------- void main() delay_ms(3000); while(1) getcom=getc(); if(getcom==0x66) output_high(pin_b7); delay_ms(50); - 17 -

Recai Sinekli else if(getcom==0x77) output_low(pin_b7); delay_ms(50); else if(getcom==0xaa) output_low(pin_b7); delay_ms(50); else output_low(pin_b7); delay_ms(50); Artık C# uygulamanızla birlikte devrenizi de çalıştırıp devre üzerindeki LED i yakıp söndürebilirsiniz. Şimdiye kadar sadece C# uygulamamızdan veri gönderip bu veriyi devremizde işledik. Sıradaki işlemimiz devremizden C# uygulamamıza veri göndermek olacak. #include <18F4620.h> #FUSES HS #use delay(clock=20000000) #use rs232(baud=9600,parity=n,xmit=pin_d0,rcv=pin_d1,bits=8,stop=1) int getcom=0xaa; //------------------------------------- void main() delay_ms(3000); while(1) getcom=getc(); if(getcom==0x66) output_high(pin_b7); puts("led ON"); puts("bu veri PIC ile gonderildi."); putc(0xf0); putc(0xfc); delay_ms(50); - 18 -

WiFly GSX Modülü ile Kablosuz Ağlara Bağlanma else if(getcom==0x77) output_low(pin_b7); puts("led OFF"); puts("bu veri de PIC ile gonderildi."); putc(0xf0); putc(0xfc); delay_ms(50); else if(getcom==0xaa) output_low(pin_b7); delay_ms(50); else output_low(pin_b7); delay_ms(50); PIC için yazdığımız kodun son hali yukarıdaki gibi. Veri gönderirken tek yaptığımız işlem RS232 fonksiyonlarından puts ve putc kullanmak. Şimdi bu verileri C# uygulamamızda nasıl okuyacağımıza bakalım. Öncelikle Form üzerine bir richtextbox ekleyin ve formu aşağıdaki gibi düzenleyin. Şimdi yapacağımız işlem butona basıldıktan sonra veri okuma döngüsüne girmek olacak. Devremiz string verinin hemen arkasından 0xF0 ve 0xFC verilerini gönderecek. Biz de C# uygulamamızda veri okurken basit bir kontrol işlemi yapıp eğer gelen verilerden arka arkaya 0xF0 ve 0xFC alınmışsa okuma döngümüzü bitireceğiz. C# uygulamamız için kodumuzun son hali aşağıdaki gibi olmalı. - 19 -

Recai Sinekli using System; using System.IO; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Net; using System.Net.Sockets; using System.Threading; namespace wifly public partial class Form1 : Form int control = 0; TcpClient tcpclnt = new TcpClient(); public Form1() InitializeComponent(); private void connect_btn_click(object sender, EventArgs e) if (control == 0) try tcpclnt.connect("192.168.2.9", 2000); result_txt.text = "Bağlantı kuruldu."; connect_btn.text = "Bağlantıyı Kes"; control = 1; led_on.enabled = true; led_off.enabled = true; catch (Exception ex) MessageBox.Show(ex.Message); result_txt.text = "Hata : Bağlantı Kurulamadı."; else control = 0; tcpclnt.close(); result_txt.text = "Bağlantı Kesildi."; connect_btn.text = "Bağlan"; led_off.enabled = false; led_on.enabled = false; private void led_on_click(object sender, EventArgs e) int eof = 0; Stream stm = tcpclnt.getstream(); stm.writebyte(0x66); while (eof == 0) - 20 -

WiFly GSX Modülü ile Kablosuz Ağlara Bağlanma byte[] bb = new byte[100]; int k = stm.read(bb, 0, 100); richtextbox1.text = ""; for (int i = 0; i < k; i++) if (i > 0) if (bb[i - 1] == 0xF0 && bb[i] == 0xFC) eof = 1; break; else richtextbox1.text += Convert.ToChar(bb[i-1]); private void led_off_click(object sender, EventArgs e) int eof = 0; Stream stm = tcpclnt.getstream(); stm.writebyte(0x77); while (eof == 0) byte[] bb = new byte[100]; int k = stm.read(bb, 0, 100); richtextbox1.text = ""; for (int i = 0; i < k; i++) if (i > 0) if (bb[i - 1] == 0xF0 && bb[i] == 0xFC) eof = 1; break; else richtextbox1.text += Convert.ToChar(bb[i-1]); NOT: Bağlanacağımız IP olarak 192.168.2.9 yazılı. Bunun sebebi modem resetlendiğinde modeme bağlanan cihazlara yeniden IP adresi atanmasıdır ve cihazların bağlanma sırasına göre bu adres değişecektir. Modülünüzün IP adresini bağlanma sırasında terminal ekranında görebileceğinizi hatırlayın. Ayrıca modülün MAC adresini bildiğimizden modemin yönetim paneline girerek hangi cihaza hangi IP adresinin atandığını görebiliriz. - 21 -

Recai Sinekli Tanımladığımız eof değişkeni 0 olduğu sürece veri okumaya devam ediyoruz. Eğer arka arkaya 0xF0 ve 0xFC verileri alınmışsa eof değişkenimizi 1 yaparak for döngüsünden çıkıyoruz. Böylece while döngüsü de sonlandırılmış oluyor. Uygulamamız çalıştığında ekran görüntüleri aşağıdaki gbidir. Şimdiye kadar yaptığımız işlemler ile hem devremize veri gönderdik hem de devremizden veri aldık. Ancak bu işlemlerimizin hepsini devremize modem tarafından atanan yerel IP adresini kullanarak gerçekleştirdik. Eğer devremizin tüm dünyadan erişilebilir olmasını istiyorsak modemimizin dış IP adresini kullanmalıyız. Modeme dış IP ile erişildiğinde gelen verilerin devremize gönderilebilmesi için modem üzerinde port yönlendirme yapmamız gerekecek. 10 ) Port Yönlendirme Port yönlendirme işlemi kullandığınız modeme göre değişecektir. Bunun için modeminizin kullanım kılavuzuna başvurabilirsiniz. Aşağıda AIRTIES-RT 206 için port yönlendirme işlemi anlatıldı. Modeminizin yönetim paneline girdiğinizde soldaki menüden NAT butonuna tıklayın. - 22 -

WiFly GSX Modülü ile Kablosuz Ağlara Bağlanma Gelen ekranda NAT Etkin seçili olmasına dikkat edin. Eğer etkin değilse bu seçeneği seçip kaydet butonuna tıklayın. Daha sonra soldaki menüden Port Yönlendirme ye tıklayın. Port yönlendirme ekranında Yeni butonuna tıklayın ve gelen ekranda kural adı kısmına bir isim yazın. İstemci seçimi bölümünde Wi-Fly modülünüze atanan IP adresini işaretleyip Ekle butonuna tıklayın. Daha sonra sayfanın alt kısmında uygulama adı yerine bir isim yazın, port numaraları kısmına da modülümüzün dinlediği port olan 2000i girin ve Ekle butonuna tıklayın. - 23 -

Recai Sinekli Ekleme işlemi tamamlandıktan sonra Kaydet butonuna tıklayın. Son olarak gelen ekranda kaydet butonuna tıklayın. Port yönlendirme işlemimiz tamamlandı. Artık C# uygulamamızda bağlanılacak IP adresi kısmına modemimizin dış IP adresine yazabiliriz. Böyle devremiz çalışır durumda iken C# uygulamamızla dünyanın herhangi bir yerinden devremizdeki LED i yakıp söndürebiliriz. Not 1: Bilgisayarınız ve modülünüz aynı modeme bağlı iken dış IP adresi ile bağlantı kuramazsınız. Bunun için devreniz evinizdeki modeme bağlı durumda çalışıyorken uygulamayı çalıştıracağınız bilgisayar başka bir modeme bağlı olsun. Not2: UART veri aktarım hızımız 9600 olarak ayarlanmıştı. Devrenizde bu hızı örneğin 115200 olarak değiştirmek istiyorsanız modülünüzün UART veri aktarım hızını da değiştirmelisiniz. Bunun için aşağıdaki komutu kullanmalısınız. set uart baudrate 115200-24 -

WiFly GSX Modülü ile Kablosuz Ağlara Bağlanma Not3: Modülümüzün ayarlarını terminal programı kullanarak yapabileceğimiz gibi devremiz üzerinde PIC ile puts( $$$ ); karakter dizisini göndererek modülü komut moduna geçirebilir, ayarlarımızı yapabilir ve puts( exit ); karakter dizisini göndererek de komut modundan çıkabiliriz. - 25 -