Previous
Next

ESP8266 wifi modül kullanımı

by Cem Kefeli 29. Aralık 2016 15:11

Son günlerde ağırlıklı olarak arduino platformunda IoT temelli geliştirmeler yapmaya çalışıyorum. Tasarlamaya çalıştığım yapı genel olarak düşük güç ile çalışan sıcaklık, nem ve ışıklılık seviyesi gibi bilgileri wi-fi üzerinden bir merkezi birime ileten mobil bir birim. Bu mobil birimi denetleyen ve yöneten merkezi bir istasyon ve bu merkezi istasyonun konuştuğu bir WEB servis. Merkezi istasyonu RaspberryPI platformu üzerine kurdum. Çünkü burada java ile daha esnek ve arduino platformuna göre daha gelişkin yapılar adapte ediyorum. Zaten merkezi bir birim olduğu için de güç beslemesi kablo ile olacak ve düşük güç tüketimi ihtiyacı bulunmuyor. WEB servis ise java ile geliştirilmiş genel olarak merkezi istasyonun iletişim halinde olduğu, merkezi istasyon verilerinin MySQL veritabanına bu WEB servisler yardımıyla işlendiği, kullanıcı ayarlarının tutulduğu bir arayüz işlevini görmekte. Son olarak ise tüm bu sistemin kullanıcı yönetiminin sağlandığı bir android yazılımı. Bu bahsetmiş olduğum yapı şuan kullanılabilir durumda ve bu yapı yardımıyla kendi evimdeki kombi cihazını ev sıcaklığına göre (Günlük program, haftalık program, anlık sıcaklık kontrolü...) kontrol edebiliyorum. Ev sıcaklığının istediğim sıcaklıkta sabit kalmasını sağlayabiliyorum ve istediğim sıcaklığa geldiğinde kombimin gereksiz yakıt tüketmesini engelleyebiliyorum. Günlük ve haftalık programlar sayesinde evde ESP8266 12Eolmadığım zamanlar otomatik olarak ev sıcaklığım 19-20 derecelere iniyor, evde olduğum zamanlarda ise 22-23 derecelere çıkıyor. Bu kararları android yazılımı ile belirtilen değerlere uygun olarak merkezi birim veriyor ve uyguluyor.

Bu yazıda ise asıl odaklanmak istediğim konu Espressif'in üretmiş olduğu ESP8266 wi-fi modülü. Bu modül piyasada özellikle maliyetinin çok az olması ve projelere kolay implemente edilebiliyor olması ile ünlü. Benim için de seçim nedeni bu oldu açıkçası. Oldukça fazla zigbee, z-wave ve wi-fi modülü inceledim. Fakat birçoğunun maliyeti oldukça yüksekti, bir kısmı ise kolay temin edilebilir değildi. ESP8266 ise piyasada 20 TL etrafında değişen fiyatlara bulunabilir bir modül. İlk olarak ESP8266-01 ile başladım test çalışmalarıma fakat bir süre sonra gördüm ki bu donanım 3.3 v ile beslenmesine rağmen gerilim dalgalanmalarına aşırı duyarlı ve tabiki zamanında üretilen ilk versiyon olmasının vermiş olduğu bazı bug'ları var. Çoğu zaman firmware güncellemesi yapmak gerekiyor ve stabil bir şekilde çalışmıyor yük altında. ESP8266-01 deneyimim sonrası ESP8266-12'ye yöneldim. Bu platform ile daha önce karşılaştığım birçok stabil olmayan durumun hiçbirisi ile karşılaşmadım. Sonuç olarak da yapmaya çalıştığım nihayi üründe bu modülü kullanmaya karar verdim.Fazlası...

Çok katmanlı ileri sürümlü yapay sinir ağlarında(YSA) standart geri yayıyım ve momentum geri yayılım algoritmalarının karşılaştırılması

by Cem Kefeli 19. Mart 2009 12:35
(Eğitim/Hata geri yayılım)


Çalışmanın tümünü görmek için burayı (YSAGeriYayilimAlgoritmalari.pdf - 270,39 kb) tıklayınız...

Özetçe
Bu çalışmada çok katmanlı ve ileri sürümlü bir YSA’ da geri hesaplama için iki algoritma yapısı incelenmiş ve aşama aşama bu algoritmaların özellikleri verilmiştir. Çalışma boyunca kullanımının kolaylığından dolayı MATLABTM  programı kullanılmış ve algoritmanın kodları MATLABTM  program dilinde yazılmıştır.

1. Giriş

Bu çalışmada özel-veya (EX-OR) işlevini gerçekleyen {2,1} yapısında sigmaoidal aktivasyonlu bir YSA’ nın geri yayılım ile eğitilmesi konusunda iki yöntem incelenmiştir. Yöntemler standart geri yayılım ve momentum geri yayılım algoritmalarıdır. YSA’ nın başlangıç parametreleri ağa rasgele olarak gösterilmiş ve giriş-çıkış örnekleri ağa rasgele olarak verilmiştir. Tüm çalışma boyunca maliyet fonksiyonu(Cost Function) olarak 4 iterasyon öncesine ait hataların karesel ortalaması kullanılmıştır. Maksimum iterasyon sayısı olarak 1000 değeri seçilmiştir. Şekil 1 ‘de incelenen YSA için ağ yapısı gösterilmektedir.

Şekil 1 :İncelenen YSA için ağ yapısı


YSA giriş ve çıkış katmanlarından oluşmaktadır ve YSA için gizli katman bulunmamaktadır. Giriş katmanı iki hücreden ve çıkış katmanı da bir hücreden oluşmaktadır. Tüm YSA için kullanılacak giriş parametreleri için eşitlikler denklem 1.1 - 1.5 arasında verilmiştir. Bu eşitliklerde W’lar kollardaki ağırlık parametrelerini,   lar her bir katman için sıfırıncı dereceden bağımsız değişkenin katsayısını, X ise hali hazırda ağ girişinde bulunan giriş sinyalini göstermektedir.


1.1. Çok Katmanlı YSA İçin İleri Hesaplama
Çok katmanlı YSA’ da bir hücre için çıkış değerinin bulunması temel olarak üç aşamadan oluşmaktadır. İlk aşama olarak hücrelere giriş yapan kollardaki sinyaller ile bu sinyallerin yol aldığı kollardaki ağırlık katsayıları çarpılarak bir değer elde edilmektedir. İkinci aşama olarak elde edilen bu değer bir sabit sayı ile toplanarak sıfırıncı dereceden bağımsız değişkenin katsayısı denkleme dahil edilmektedir. Bu aşamada elde edilen değer ‘V’ sembolü ile gösterilmektedir. Son aşama olarak ise elde edilen bu değerler toplamı aktivasyon fonksiyonu adı verilen belirli bir fonksiyondan geçirilerek hücre çıkışı elde edilmektedir. Son aşama ile elde edilen değer ‘Y’ sembolü ile gösterilmektedir. Genel olarak sinüs ve kosinüs fonksiyonları elde etme kolaylığından dolayı sıkça tercih edilmektedir bununla beraber bu çalışma boyunca sigmaoidal bir aktivasyon fonksiyonunun kullanılması uygun görülmüştür. Çalışma boyunca kullanılan ve ileri hesaplama için gerekli olan eşitlikler denklem 1.6 – 1.11 arasında verilmektedir. denklemlerde kullanılan  o hücre için kullanılan aktivasyon fonksiyonunu göstermektedir.
Fazlası...

Mikrodalga konnektörler

by Cem Kefeli 19. Mart 2009 11:33

Çalışmanın tümünü görmek için burayı (MikrodalgaKonnektorler.pdf - 482,27 kb) tıklayınız...
Çalışma ile ilgili sunum dosyasına erişmek için burayı (MikrodalgaKonnektorler.pps - 876,50 kb) tıklayınız...

1. Giriş

Bu çalışmada mikrodalga konnektörler üzerinde çeşitli araştırmalar yapılmıştır, türleri ve kullanım alanları hakkında genel bir bilgi vermek amaçlanmıştır. Yapılan yoğun araştırmalar sonucunda Mikrodalga konnektörlermikrodalga iletim hatları ve bu iletim hatlarının birbiri ile bağlantısını sağlayan çeşitli elemanların olduğu ve bu parçaların genel olarak konnektör olarak isimlendirildiği sonucuna varılmıştır.

Mikrodalga konnektörler günümüzde yıllık 2 milyar dolarlık bir endüstriye sahiptir. Mikrodalga konnektör ailesi içerisinde çok çeşit bulunmaktadır ve bunlara her yıl daha da çok seçenek eklenmektedir. Mikrodalga konnektörler düşük VSWR (Voltage Standing Wave Ratio)’ lı koaksiyel bağlantılar yapmak için kullanılmaktadırlar ve koaksiyel iletim hatlarının güvenli bir şekilde sonlandırılması için gerekli verimi sağlamaktadırlar. Bir başka bakış açısı getirilerek sonMikrodalga konnektör zamanlarda mikrodalga konnektörlerin devre kartları üzerinde de yer alması sağlanmıştır ve yaygınlaşan bu yöntem sayesinde kullanıcı tabanlı kitler geliştirilmiştir. Farklı türden birçok konnektör bulunmasıyla beraber bu elemanların sınıflandırılması için birçok yöntem ileri sürülmüştür. Bu yöntemlerin temelinde çalışma frekansları arasındaki farklılıklar ve çalıştıkları frekanslardaki verimlilikleri göz önüne alınmıştır. Bu yöntemlerden faydalanılarak çalışma boyunca mikrodalga konnektörlerin frekans davranışları incelenmiştir ve aynı frekansta farklı konnektörlerin verimlilikleri karşılaştırılmıştır. Ayrıca kullanılan sistemlere göre oluşan empedans uyumsuzluklarını önleyebilmek için bu sistemlerle entegre çalışabilecek standartlar verilmiştir. Çoğu mikrodalga sisteminde 50 ohm karakteristik empedans kullanılmaktadır, fakat bazı sistemlerde 75 ohm karakteristik empedans kullanılabilmektedir. (N tipi gibi bazı konnektörler 50 ohm veya 75 ohmun her ikisinde de kullanılabilmektedir.)

2. Mikrodalga Konnektörler
Çoğu koaksiyel konnektör türü ses,video,sayısal,RF(Radio Frequency) ve mikrodalga endüstrisinde kullanılmaktadır. Her biri özel bir amaç ve uygulama için tasarlanmıştır. Frekansta GHz’ler mertebesinde ve milimetre değerlerinde dalga boylarında iyi çalışan daha küçük konnektörlerin geliştirilmesi ölçüm şirketleri tarafından gerekli test ekipmanları ile yapılmaktadır. Göz önündeMikrodalga konnektör bulundurdukları özelliklerden birisi hat düşmesi sayısıdır. Bir konnektörün frekans aralığı  koaksiyel yapı içindeki ilk dairesel dalga kılavuzu yayılım modu tarafından sınırlandırılmaktadır. Dıştaki iletkenin çapının azaltılması en yüksek kullanılabilir frekansı arttırmaktadır. Hava uzayını dielektrikle doldurma en yüksek frekansı azaltmakta ve kayıpları arttırmaktadır.
Herhangi bir koaksiyel transmisyon hattının bir özelliği şu şekilde verilmektedir : Arzu edilen TEM modunun daha uzun süre yayılmadığı frekanstan yukarda bir kesim frekansına sahiptir. Koaksiyel konnektör ailelerinin en fazla çalışma frekansının bu sınırlandırmayı aşmaması gerektiği dikkate alınmaktadır. Konnektör ailelerinin endüstride kabul edilen frekans limitleri genellikle teorik kesim frekanslarının %95’i olarak seçilmektedir. Genellikle maliyet, frekans sınırı ile ters orantılı olarak artmaktadır.

Çalışmanın tümünü görmek için burayı (MikrodalgaKonnektorler.pdf - 482,27 kb) tıklayınız...
Çalışma ile ilgili sunum dosyasına erişmek için burayı (MikrodalgaKonnektorler.pps - 876,50 kb) tıklayınız...

C dili ile yazdığım ilk programlardan birisi

by Cem Kefeli 17. Mart 2009 15:18

Üniversite yıllarımın ilk günleriydi, C dersi alıyorduk. Kocaeli Üniversitesi(KOÜ) Elektronik ve Haberleşme Mühendisliği Bölümü(Elo-Hab)'ne C/C++yeni başlamış ve yazılım ile alakası olmayan insanlar için yazılım ile tanışmanın ne kadar acıklı olduğuna şahit olduğum günler. Neyse ki benim programlamaya biraz da olsa bir aşinalığım vardı da kolay denilebilecek bir dönem geçirdim. Programlamaya giriş dersi ile birlikte artık mesleki hayatımıza da adım atmış olduk. İşte tam bu aşamada C ile tanışmamı sağlayan ve bana algoritma yazmaktaki felseyi aşılayan sevgili hocam Yrd. Doç. Dr. Mehmet Yakut'a bana kazandırdıkları için çok teşekkür ediyorum yeri gelmişken. O yıllardan sonra aradan yedi sene kadar geçti, ve ben bu süre içerisinde birçok yazılım projesinde yer aldım, ve onun bana öğrettikleri her zaman aklımın bir köşesinde vardı ve hep de faydalı oldu, işe yaradı. Bu yazıyı neden yazdığıma gelince.. Sebebi yalnızca eski projelerimin arasında dolaşırken bir klasörün dikkatimi çekmesi :)

Unutmuyorum hiç. Üniversitenin ilk haftaları.. Mehmet hoca C dersinde sınıfa bir ödev verdi. Ödevi verirken de dedi ki, eğer bu ödevi yarın akşama kadar yapıp bana mail atan olursa onu vizeye almadan Rakamla rakam100 vereceğim. Mehmet hocanın bir programlama dersinden 100 almak o günün şartlarında büyük olay. Hatırlıyorum da sınavlara bir insan sürüsü olarak girerdik. Alttan dersi alanlar artık o kadar birikmiş ki, derslikler sınav zamanı az gelir olmuş. Hatta arkadaşlarla bir ara, 'bu sınavı yakında ÖSYM yapar artık' diye dalga geçiyoruz :) Ödev şu; Bankaların bankamatiklerinde sık sık karşılaşmışsınızdır. Bir sayı yazar ekranda, ama sayıyı oluşturan rakamlar da yine rakamlar kullanılarak yazılmıştır. Tıpkı sol tarafdaki resimde görüldüğü gibi, zaten programın çıktısı da bu şekilde. Ekranda sayıyı giriniz diye yazacak, siz bir sayı gireceksiniz, program da sol taraftaki gibi o sayısı yazacak, ödev bu. Ben o gün eve gittiğim gibi çalışmaya koyuldum ve aynı günün akşamı gece 1-2 gibi ödevi hocaya mail ile gönderdim. 100'ü kaptım diye, bir mutluluk oluştu tabi ki.. Ama Mehmet Hoca geriye bir cevap ile dönmüştü: "Bu kadar sürede, bu işi yeni öğrenen birisi olarak, bunu yazamaman gerekirdi. Yarın gel, program üzerine konuşalım ve bana anlat". :) Doğal olarak benim kendi başıma yazmayabileceğim ve başkasıyla birlikte yazmış olabileceğim gelmiş hocanın aklına ve benden bir açıklama bekliyordu. Ertesi gün hocanın yanına uğradım ve durumu anlatıp 100 puanı kaptım. Benim için yazılımcılık açısından çok ama çok güzel bir başlangıç olmuştu bu olay. Belki de şu an yazılımla uğraşmamın en büyük nedeni budur. Mehmet Hocam'a bana kazandırdıkları için tekrar teşekkürlerimi gönderiyorum.

Aşağıdaki linkleri kullanarak programın derlenmiş haline ve kodlarına ulaşabilirsiniz. Çok ufak ve kolay ama benim için çok değerli bir kod parçacığı... :)Fazlası...

Hakkımda...

Cem KEFELİ

Electronics and
Telecommunication Eng.
devamı...


Son yapılan yorumlar...

Comment RSS

Yasal bir uyarı...

Disclaimer"Bu web sitesinde görmüş olduğunuz bilgilerin, dokümanların ve diğer materyallerin kullanılmasından doğabilecek hiç bir sorumluluktan site sahibi sorumlu tutulamaz. Web sitesi içerisinde yer alan yazılar, yorumlar, resimler ve diğer tüm içerikler yalnızca sahibinin görüşünü yansıtmakta olup içeriğin sahibi kişilerin çalıştığı kurumları bağlayıcı hiç bir nitelik taşımamaktadır. Yapılan tüm alıntılar mutlaka kaynak gösterilerek verilmeye çalışılmaktadır. Web sitesi içerisinde bulunan ilgili materyaller, ilgili yasal kurumlar tarafından uygun görülmemesi durumda kaldırılacaktır."
General