Android ServerSocket

Üniversitemin ikinci döneminde sınıfımda gerçekleştirdiğim Telekomünikasyon sunumunda kullanmak üzere bu projeyi yaptım.

Öncelikle elimde bulunan ardunio ekipmanlarını değerlendirmek istedim ve ardunio ile android telefonu haberleştirme fikri ile yola çıktım.

Ardunio ile seçilen şehir esp3366 wifi modülü vasıtası ile telefona gönderilecek ardından Android uygulama openweathermap api kullanarak hava durumu bilgisini çektikten sonra metinsel düzenlemeleri yapıp derlenmiş metni ardunio’ya geri iletecek. Ardunio’da gelen bu metni led ekrandan kullanıcıya sunacak.

Proje iki kısımdan oluşuyor. İlk kısım android telefonlarda çalışacak sunucu (server) kısmı, diğer kısım ise ardunio’da çalışacak istemci (client).

Android programlama tecrübelerime güveniyordum fakat ardunio programlama konusunda pek deneyimim yoktu. Başlarken bildiğim yoldan başlamayı tercih ederek android uygulama yazmaya koyuldum.

Sunucu (Server)

Android programlama konusunda tecrübelerim olmasına rağmen client ile serverın haberleşmesi nasıl sağlanır bilmiyordum. Özellikle yabancı kaynaklardan araştırınca istediğim bilgiye erişebilmek konusunda kendime güveniyorum. Bir makaleden diğer makaleye derken buradaki makaleye rastladım. Gerçekten bu konu için yeterli bir makale, paylaştıkları için Loyola Marymount University (Los Angeles, California) teşekkür ediyorum. Makaledeki örneklerden de yararlanarak sunucu görevi üstlenebilen android uygulamayı rahatça yazdım. Projenin tüm kaynak kodlarını github hesabımda bulabilirsiniz.

İstemci (Client)

Özellikle ardunio’da i/o componentlerinin birçoğunun nasıl kullanıldığı ile ilgili Türkçe yeterli kaynak var ve kolayca bu componentlerin nasıl kullanıldığı öğrenilebiliyor. Bende led ekrana veriler nasıl gönderilir? Esp8266 wifi modülü software serial ile nasıl kullanılır? şeklinde Türkçe araştırmalar yaparak öğrendim. Ardunio projesinin son aşamalarına gelmiştim ki elimdeki direnç ardunio'ya düştü ve bozdu. Sunum tarihim yaklaştığı için yeni bir ardunio alamadım. Böylelikle ardunio projem tamamlanamadan sonlanmış oldu.

Aslında projenin büyük bir kısmını tamamlamıştım. Elimde sunucu görevi üstlenebilen bir android uygulama vardı. Bende sunumumda ardunio kullanmak yerine bilgisayarımı istemci olarak kullandım. Server görevini üstlenen telefonumdan kablosuz ağ oluşturup bilgisayarımla bu ağa bağladıktan sonra tüm haberleşmeleri putty programı kullanarak gerçekleştirdim ve tüm bu iletişim döngüsünün nasıl çalıştığını sundum.

Android ServerSocket