Arduino Proje Fikirleri -1 | Türkçe Arduino Eğitimi

ESP8266 TABANLI KABLOSUZ WEB SUNUCUSU PROJESİ

ESP8266 nedir ? Arduino proje fikirleri nedir ? Kablosuz web sunucu projesi nasıl yapılır ? ESP8266 nasıl programlanır ? Bugünki yazımızda Arduino Proje Fikirleri serisinin ilk yazısı ile sizlerleyiz.

Tüm kaynak kodlar , resimler ve ilgili dökümanları sayfanın en altındaki linkten indirebilirsiniz.

Başlayalım.

ESP8266 TABANLI KABLOSUZ  WEB SUNUCUSU

ESP8266 tabanlı kablosuz web sunucusu projesi arduino çerçevesinde oluşturulmuştur.Şu anda , ESP8266 elektronik alanında popülerlik kazanmaktadır çünkü düşük maliyetli , güvenilir ve piyasada kolay bulunabilir bir modüldür.

Bu modülle ilgili belgelerin çoğu Mandarin (Çince) dilinde olup veri sayfasında sağlanan bilgiler bir uygulama adına ve ESP8266’nın kullanımı için çokta yeterli değildir.

Bu boşluğu doldurmak adına , çeşitli ülkelerden insanlar bu modülle ilgili programlama ve diğer konular hakkında gerekli detayları veren bir ESP8266 topluluğu oluşturmuşlardır.

ESP8266 , dahili 32 bit düşük-güç CPU , ROM ve RAM içermektedir.Yazılım uygulamalarını bağımsız bir cihaz olarak taşıyabilen veya bir mikro denetleyici (MCU) ile bağlayabilen eksiksiz ve bağımsız bir Wi-Fi ağ çözümüdür.

Modül , COM portu üzerinden herhangi bir MCU ile kullanmak üzere yerleşik AT komutu ürün yazılımına sahiptir.

Arduino proje fikirleri

ES8266’nın göze çarpan özellikleri şunlardır ;

802.11  b/g/n protokolü

Doğrudan (P2P) , soft-AP

Entegre TCP/IP protokol yığını

Entegre PLL , düzenleyiciler ve güç yönetim birimleri

802.11b modunda +19,5 dBm çıkış gücü

Anten çeşitliliğini destekler

Entegre düşük güçlü 32 bir MCU

SDIO 2.0 , SPI , UART

Kablosuz SoC

GPIO , I2C , ADC , SPI , PWM

Maksimum frekans 80 MHz

64k byte Komut RAM’ı

96k byte Veri RAM’ı

64k byte Önyükleme RAM’ı

RISC mimarisi

ESP8266 Tabanlı Kablosuz Web Sunucusu :

Ana kart ve diğer kartın devre şemaları ilgili dosya içerisinde verilmiştir.ESP8266’yı bağımsız bir cihaz olarak kullanıyoruz.Wi-Fi modülü için besleme gerilimi 3.3 volttur.Diğer kart ana karta monte edilmelidir.

CON2 , modülü bir PC’ye bağlamak için COM port arabirimi için kullanılır ve modül, USB-Seri dönüştürücü olarak kullanılır ve programlanır.

PC’de eğer fiziksel Com port var ise , USB-Seri dönüştürücü gerekli değildir.

ESP8266 modülünde 16 adet pin bulunmaktadır.Pin1 Reset , R5 direnci üzerinden 3.3V’a bağlanır ve manual reset için S2 düğmesi kullanılmaktadır.

Programlama modu için Pin12 (GPIO0) , 3.3V’dan R3’e bağlanır ve S1 , modülü program moduna getirmek adına kullanılır.Pin3 (CH_PD) , 3.3V’dan R8’e bağlanır.

ESP8266 ayrıca genel amaçlı olarak 10 bit olan ADC (Pin2)’yi entegre eder.Genellikle sensörden veya bataryadan gelen voltajı ölçmek için kullanılırlar.Çip yayım yaparken kullanılmazlar aksi durumda voltaj bilgisi yanlış olabilir.

Tüm dijital giriş/çıkış (I/O) pinleri , ped ile toprak arasına bağlanan bir snap-back devresi ile aşırı voltajdan korunmaktadır.Snap-back gerilimi genellikle 6V’dur ve tutma voltajıda 5.8V’dur.

Bu aşırı voltaj ve ESD’den koruma sağlar.Çıkış cihazları ayrıca diyotlarla ters voltajdan korunmaktadır.

Led1 , Pin11’e (GPIO2) bağlanır.Pin6 (GPIO12) 3.3V’dan R4’e bağlanır ve hata ayıklamak adına bir düğme ile (S3) ilgili işlem sağlanır.

Wi-Fi modüllerinin her tedarikçisi , çıkış pinleri düzenlemesi adına farklı bir model izlemektedir.Yani standart PCB modeli takip edilmemektedir.

Bir web tarayıcısı kullanılarak LM35 sıcaklık sensörü ve bir led kontrol(açık/kapalı) kullanılarak oda sıcaklığını ölçmek adına bir uygulamada kullanılmıştır.LM35 , hassasiyeti 10 mV/1 C derece olan kalibre edilmiş bir sıcaklık sensörüdür ancak aynı zamanda özel projelerle de kullanılabilir.

ESP8266 ev otomasyonu , ağlar , endüstriyel kablosuz kontrol , IP kameralar , sensör ağları , akıllı prizler , bebek monitörleri , giyilebilir elektronikler , güvenlik kimlik etiketleri , konum sistem işaretleri ve konum duyarlı cihazlarda kullanılabilir.

Yazılım Kısmı :

ESP8266 tabanlı kablosuz web sunucusunda programları derlemek ve yüklemek için Arduino IDE kullandık.ESP8266 topluluğu ESP8266’nın bir Arduino IDE ile kullanılması için uygun bir eklenti geliştirdi.

Eklenti , üç tür ESP8266 Wi-Fi kartını destekler.Bunlar genel olarak ESP8266 anakart , MCU ESP8266 devre kartı ve OLIMEX ESP8266 geliştirme kartıdır.

ESP8266 Arduino Eklentisi Takma işlemi ; Arduino IDE (1.6.5 veya üstü sürümü) yükleyin.Arduino IDE’yi çalıştırın ve Dosya -> Tercihler seçeneğinden açık tercihler penceresini açın.

Ek olarak Pano Yöneticileri URL alanına gidin ve ‘http://arduino.esp8266.com/stable/package_esp8266com_index.json’ adresini girin.

Tamam’a basın.

Tools menü üzerinden Board: Arduino Uno -> Boards manager ve buradan Open Boards Manager’i açın ve ESP8266 topluluğunu , ESP8266’yı bulmak için aşağı doğru kaydırın.

Alanı bulduktan ya da vurguladıktan sonra yükle işareti karşınızda görünecektir.

Tıklayın.İşlem ortalama bir internet bağlantısı ile 30 dakika kadar sürecektir.

Yazılım ise basittir.Setup  () rutinleri , seri portu , çıkış olarak ise GPIO2 pinini ve giriş olarakta GPIO12’yi yapılandırarak donanımı çalıştırır .setupWifi() kısmı kablosuz bölümünü yapılandıracaktır.

Loop() kısmıda gelecek olan istekleri işleyen kısımdır.

Fonksiyon size_t sendProgmem (Wi-FiClient istemcisi , const char progmem[], size_t boyut) istemciye veri gönderir.IN [] dizisi , Web sayfasına karşılık gelir.

Görüntü [] dizisi , EFYLOGO’ya karşılık gelir ve ES[] dizisi , modüle karşılık gelmektedir.

Diziler dosya-dizi dönüştürücü yazılım hexy kullanılarak oluşturulmaktadır.Bu ücretsizdir ve internetten indirilebilirdir.

Diziyi oluştururken , kod çözme amacı ile .jpg görüntü uzantısını kaldırmalısınız.Tüm .jpg dosyaları bu yazımıza dahil edilmiştir.

SSID ve şifreyi , değiştirmek ve saklamak için uygun rutinler bulunmaktadır.ESP8266 yapılandırması Wi-Fi için yapıldıktan sonra , HCF4094 kullanılarak paralel-kaydırma yazma programına 8 bitlik bir seri geçiş ve LCD arabirimi için kullanılmaktadır.

Geliştirme ve Test Aşaması :

USB-Seri UART dönüştürücü sürücüsü yazılımını yükleyin ve geri-döngü testi yapın.

Araçlar Kartı : Arduino Uno’dan Genel ESP8266 Kart modülünü seçiniz.Arduino IDE ile ilgili kartınıza bağlandıktan sonra Programı yükle butonunu kullanarak birleştirme işlemini yapabilirsiniz.

Programı modülde birleştirmek için , ana kartın COM bağlantı noktasınıı (CON2) seri-usb dönüştürücü ile PC’nize bağlayınız ve sanal COM bağlantı noktası numarasını not ediniz.

Ana Kartı Açın :

Program tuşunu S1 (SPIO0) basılı tutarak Reset (Sıfırla) düğmesi (S2) basınız.Reset’i bırakınız ve S1 (GPIO0) düğmesini serbest bırakın.Şimdi ESP8266 program moduna girecektir.

Yükle düğmesine tıklayın ve program modunda derlenecek ve oluşturulacak olan bin dosyası modüle yüklenecektir.

Ana kartı artık kapatın ve Wi-Fi cihazınızı açın.Açık hiperterminal (EFY Lab’ta X-CTU hyperterminal kullanılmıştır) baud hızı 115200 olan PC ile COM portunuzu seçin.S3’e basılı tutun ve ana kartı açın.SSID ve şifreyi girmeniz istenecektir.Anahtarı serbest bırakın ve Wi-Fi ağınızın SSID ve şfiresini virgülle ayırın ve Enter deyin.SSID ve şifre EEPROM’da saklanacaktır.

Sonraki kullanım adına S3’ü kullanmanız gerekmez.Wi-Fi’ye bağlandığınızda , ESP8266 modülünün IP adresi LCD1’de görüntülenecektir.

Tarayıcıyı IP adresi ile başlatınız.Karşınıza bir web sayfası gelecektir.LEDON ve LEDOFF olarak işaretlenmiş olan düğmeler LED1’i açmak ve kapatmak için kullanılmaktadır.

Pervane ve motor gibi aletler , Pin11’e (GPIO2) bağlı optokuplör kullanılarak uygun bir röle sürücü devresi ile açılıp kapatılabilir.Pin6’nın (GPIO12) durumu ve sıcaklık okumaları , tüm Web sayfasını yenilemeden AJAX komut dosyaları kullanılarak görüntülenir.

KAYNAK DOSYALARINI İNDİRMEK İÇİN TIKLAYINIZ ! 

 ESP8266 TABANLI KABLOSUZ WEB SUNUCUSU PROJESİ SONUÇ :

Bugünki yazımızda ESP8266 Tabanlı Kablosuz Web Sunucusu Projesi adlı yazıyı sizlerle paylaştık.Bu yazı ile arduino projelerine dair ilk yazımızı paylaşmış oluyoruz.Umuyorum faydalı olmaktadır.

İyi Çalışmalar

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.

This site uses Akismet to reduce spam. Learn how your comment data is processed.