Fırat DEVECİ

ESP8266 Wi-Fi Module: Giriş

  • 2 sene önce, Fırat DEVECİ tarafından yazılmıştır.
  • 32 Yorum
  • 25.539 Kişi Okudu

ESP8266 Wifi Module Bir önceki yazıda The Internet of Things konusu hakkında konuştuk ve özellikle internet modüllerinin bu konuda ne kadar önemli bir hale geldiğinden bahsettik.

Modülü küçük alana sıkıştırmak için günümüzde büyük bir çaba mevcut. Özellikle cep telefonlarının içerisinde bulunan Wi-Fi modüllerinin küçük olma zorunluluğu bunda büyük bir öncü. Bunun yanında, bu cihazların evlerde kullanımlarının getirdiği bir çok sertifikayı da alması elzem bir şart.

Günümüzde yarı iletken üzerine isim yapmış firmaların Wi-Fi modüllerine bakıldığında, fiyat bazında oldukça yüksek seviyelerde olduğu gözükmektedir. Bu fiyatlar, örnek olması açısından, Texas Instruments tarafında CC3000, Microchip tarafında RN171XV ve ST tarafında ise SPWF01SA için ~25$ civarındadır. Çoklu alımlarda ise maksimum ~15$ civarına indiği düşünüldüğünde fiyatların hâlâ oldukça yüksek olduğu gözükebilir. Elbette bunda sertifikasyon, gerçekleştirilen testler ve bunun üzerinde yapılan güncelleştirme yatırımları etkili de olsa fiyatların yine de yüksek olduğunu düşünen taraftayım.

Espressif SystemsBu şekilde gerek profesyonel firmalar gerekse hobiciler çalışmalarını yürütürken birden Çin menşeli Espressif Systems adlı bir firma ESP8266 adlı Wi-Fi modülü ile piyasaya tam bir Çinli gibi girdi; Ebay üzerinden. Fiyatı ise oldukça inanılmazdı, ürün modül halinde yani ESP8266+EEPROM+PCB ile sadece 3$ mertebelerindeydi! Bunu farkeden Hackaday kullanıcıları arasında modül hemen popülerleşti ve bir çok örnek proje ortaya çıkmaya başladı. Ben de Aynı ürüne ilgili siteden sipariş ederek ulaştım.

Modülü elinize aldığınızda oldukça küçük yapıda olduğunu fark ediyorsunuz. Breadboard için pin headerlar da hobiciler için düşünülmüş. Cihazı ilk kullanmaya başlayacaklar için şöyle bir sorun var: İnternette cihaz ile ilgili kendi sitesi dahil iyi bir destek yok. Kendi kullanıcı kılavuzuna dahi ulaşmak uzun uğraşlar gerektiriyor. Aslında bu davranış ile firma diğer profesyonel rakiplerinden hemen ayrılıyor ve aslında kullanıcılara “cihazı alırsınız fakat destek bulamazsın” demektedirler. Elbette tamamen desteksiz değil yalnız cihazın neredeyse açık kaynak oluşu bunda bir etmen.

Cihazın elde ettiğim modülü (ESP-01) seri port üzerinden haberleşiyor. Pin tanımlamaları ise aşağıda görülebilir.ESP8266 Pinout
Modül 3.3V uyumlu olduğundan hiç bir giriş ya da çıkış pininin 3.3V limitini geçmemesine dikkat etmeniz gerekiyor. Bunun yanında CH_PD ve GPIO_0 uçlarını +3.3V’a bağlanması cihazın çalışabilmesi için yeterli.

Cihazı kullanabilmek için bir adet seri port programına ihtiyacınız var ve bu seri port programı “enter” tuşu işlevini gören “\r\n” kodunu desteklemeli. Yoksa hiç bir AT komutunu modüle iletilemiyor. Son firmware (V0.20) ile baudrate ise 115200 olarak sabitlendi.

Tüm donanımı ve programları edindikten sonra cihazınıza ilk göndermeniz gereken komut “AT” oluyor. Cihaz size “OK” bilgisi ile geri dönüyor. iletişim kurduktan sonra yapmanız gereken ikinci işlev cihazın sürümünü kontrol etmek; bunu cihaza “AT+GMR” komutunu göndererek yapabiliyorsunuz. Cevap olarak V0.20 ile birlikte “0020000903” bilgisini alıyorsunuz.

Eğer cihazınız eski bir versiyona sahipse güncellemenizi şiddetle tavsiye ediyorum çünkü bir çok kullanıcı firmaya geri bildirimde bulunarak firmware güncelleştirmesi sağlatıyor. Güncelleme dosyalarına ulaşmak ise tam bir muamma. Bir çok sitede oldukça farklı firmware güncelleme programı ve dosyaları bulunmakta. Bir çoğunun ise kullanımı oldukça zor. Güncelleme yapmak için öncelikle aşağıdaki program dosyalarını bilgisayarınıza indirmeniz gerekiyor.

DownloadESP8266 Güncelleme Dosyaları

Güncellemeye başlamak için GPIO_0 pinini GND’ye bağlayıp, cihazın enerjisini kesip tekrar vermemiz gerekiyor. Bu cihazı update moduna alıyor. Daha sonra dosya içerisinde verilen bilgileri aşağıdaki şekilde sıralamanız gerekiyor.ESP8266 Firmware Address

Eğer sıralamayı yukarıdaki gibi yapmazsanız programlar yanlış yüklenecektir. Bu ayarlardan sonra ilk sekmeye dönüp, uygun COM portu seçildikten sonra yandaki butona basılarak işlem aşağıdaki gibi başlatılmış olur.ESP8266 Firmware Program

Güncelleme işlemi yaklaşık 1-2dk sürüyor. Daha sonrasında GPIO_0 pinini 3.3V hattına bağlayarak normal işlemlerinize devam edebilir, cihazınıza “AT+GMR” sorgulaması yaparak güncellemenin teyidini yapabilirsiniz.

Daha sonraki bölümde AT komutlarına adım atacağız.

Önemli Not: Güncelleme sırasında oluşabilecek hiç bir hatadan tarafım sorumlu tutulamaz.

  1. t600 dedi ki:

    Çok güzel bir çalışma, elinize sağlık. Bende esp-14 var, içinde eps8266 var, aynı sizin yazdığınız gibi denedim, cihaz güncellendi sorun yok, fakat programı çalıştırdığımda sürekli data geliyor, at gönderiyorum birşey olmuyor, dolayısı ile timeout’a girmiyor, ama at komutu başarısız, hyper terminal ile denedim hiç bir şey olmuyor.

    • Fırat DEVECİ dedi ki:

      Cihaz eski versiyonda Baud Rate kısmı 9600 oluyordu. Yeni versiyonla birlikte bu hız 115200 oldu. Bunu denediniz mi? Bunun yanında internette eski versiyonlar mevcuttu. Cihaz internetten kendini güncelleyebiliyor lakin sizin sıkıntınız cihaza bağlanamama gibi gözüküyor. Eski versiyonlardan bir tanesine dönüp tekrar denemenizi öneriyorum. Benim elimde 3 adet kartta herhangi bir problem olmadan güncellemeyi yapabilmiştim ben. Sorun çıkmaması gerekiyor.

      • t600 dedi ki:

        Bunu aldım, belki de sorun bu sebepten, cihaza bağlanamıyorum ama cihazdan sürekli data geliyor, reset pinine bir şey yapmamız gerekir mi?
        Diğer bir sorun, bazen usb seri çeviriciyi taktığımda, çihaz bağlıylen ,bilgisayar faresi saçma sapan hareket ediyor, sanırım COM1 fare ile bir çakışma oluyor.

        Dip not: Lütfen mesajlarınızı tek bir yorum satırında yazınız.

  2. t600 dedi ki:

    Hocam oldu . 9600 baud ta at ye ok i aldım . Yardım için teşekkürler.Yardımcı olabileceğim birşey var ise buradayım , mailden ulaşın

  3. t600 dedi ki:

    Tekrar denedim çalışmadı, güncelleme yazılımlarını olduğu gibi bıraktım çalıştı, belkide benim kullandığım ESP12 olduğu için böyle oldu, diğer bir şey AT+CWLAP ta ERROR alıyorum.

  4. t600 dedi ki:

    Ok hepsi çalışıyor. Süper! Yapacak arkadaşlara tavsiye; hocanın videolarını dikkatli dinleyin. 3 günde full masai ile işi çözersiniz. Hocam tebrikler güzel bir çalışma. İnşallah bizde senin gibi faydalı işler yaparız.

  5. t600 dedi ki:

    Hocam sizin videolarda olmayan bir konu var. Bu modül üzerinde GPIO ve ADC portları var. Bunlara nasıl data göndeririz veya ADC’den okuruz. Yani net üzerinden buna bağlandığımızda pin bazlı dataları nasıl okuruz. İnşallah yaparsam bu konuyu foruma yazacağım.

    • Fırat DEVECİ dedi ki:

      Bu konuda benim bir çalışmam ya da incelemem olmadı. Yalnız kullanıcıların kendi yaptıkları firmware ve SDK kullanımlarında karşılaştım. Konu ile ilgili bir bilgim olursa buraya yazarım.

  6. Uğur dedi ki:

    Çalışmalarınızı bizlere aktardığınız için teşekkür ediyorum.
    bir sorum olacak elimde esp-07 modül var wifiye bağlanıyorum ama modem ip numarası atamıyor acaba bu neden kaynaklı olabilir. yada bu sorunu nasıl çözebilirim modem web arayüzünde wifi mac adresi gözüküyor ama ip numarası atanmamış. ilk bağlantı yaptığım zaman verdiğiniz proğramın Tcp/ip kısmında client ve server kısmını başarılı bir şekilde kullanmıştım ama şimdi olmuyor. daha sonra mac adreslerini de değiştirdim yine olmadı. Konu Hakkında bilginiz varsa lütfen yardım eder misiniz. Çalışmalarınızın devamını dilerim.

  7. Uğur dedi ki:

    Kendi Soruma Kendim Cevap Buldum Eski Versiyonunu yükledim düzeldi 🙂

  8. Bekir dedi ki:

    Arkadaşlar failed yada mavi ışığın sürekli yanmasının sebebi programdaki dosyaları seçerken yandaki 0x00000 sayılarını aynı yapmanız gerekiyor, ben hiç dikkat etmedim serialde sürekli failed dönüyordu tekrar güncellemem dahilinde sorun düzeldi.

  9. Ümit dedi ki:

    Merhabalar,

    Modülü arduino üzerinden güncelleyebiliyor muyuz?

  10. Kürşad dedi ki:

    Merhabalar,
    Göstermiş olduğunuz doğrultuda yükleme yapmaya çalışıyorum fakat olmuyor, alt tarafta mavi bir ikon dönüyor, öyle bekliyor, sizin programdaki gibi progressbarda bir ilerleme yok, ekranda QR Code görünmüyor ve 等待生成MAC(MAC üretmek için bekleyin) yazıyor.
    Espressif firmasının kendi bootloader programını kullanıyorum onda da chip sync error hatası alıyorum. Bağlantı şeklini aşağıdaki gibi yapıyorum.

    GPIO15 Pulldown
    GPIO2 Pullup
    GPIO0 Önce Pullup yaptım olmadı, Pulldown denedim yine olmadı.

    Yardımınızı bekliyorum.
    (ESP07)

    • Fırat DEVECİ dedi ki:

      Merhabalar Kürşad Bey,

      Öncelikle ikinci bölümde verdiğim programla cihazınızın çalıştığından emin olmalısınız. Bağlantılarınız doğru ise GPIO’yu Pulldown ya da Pullup yaparak enerji kesim ve verimi yapmalısınız. Daha sonrasında programı çalıştırarak yükleme işleminizi gerçekleştirebiliyorsunuz. Elimde ESP07 olmadığı için deneyip bir sonuç paylaşamayacağım yalnız bu şekilde sorununuza çözüm bulabilirsiniz. Ayrıca Lua firmware’ini de denemenizi öneririm.

  11. İsmail Çal dedi ki:

    Merhaba Fırat Bey

    Elimdeki modülün versiyonu 0.21000 sizin vermiş olduğunuz programı indirip at komut göndermeye çalışıyorum. Uart modülü üzerinden yaparsam sıkıntısız bir şekilde cevap alabiliyorum. Ama arduino üzerinden yaptığımda mesal AT gönderdiğimde OK yerine anlamsız karakterler geliyor acaba neden olabilir Arduino kodlarım bunlar:

    • Fırat DEVECİ dedi ki:

      Ardunio kullanmadım fakat sıkıntılı kısım aşağıdaki yer gibi.

      Ya ikisini de 115200 ya da her ikisini de 9600 yaparak denemelisiniz.

  12. Kürşad dedi ki:

    Sorun çözülmüştür.
    Kendi sitesinde yayımlanan orjinal bootloader ile sıkıntısız bir şekilde yeni firmware yüklenmiştir.

  13. Mehmet Karakaya dedi ki:

    Merhaba Fırat Bey,

    AT+GMR komutuna şu cevabı veriyor OK midir? Çalışmaya devam edebilir miyim? Yoksa güncelleme yapmam gerekir mi?

    —————————-
    AT version:0.21.0.0

    SDK version:0.9.5
    ——————————–

    Teşekkürler!

  14. Cem dedi ki:

    Merhaba Fırat Bey,
    Ben bitirme projesi olarak internet üzerinden araç kontrol etmek istiyorum. Acaba bunu ESP8266 ile gerçekleyebilir miyim?
    İyi günler, iyi çalışmalar.

  15. Şafak dedi ki:

    Bu arkadaşla aynı problemi yaşıyorum kendisi düzeldi demiş ama ne yaptığını belirtmemiş bilgi verebilir mi?

    alıntı : t600diyor ki: 16 Ocak 2015, 15:47 Tekrar denedim çalışmadı, güncelleme yazılımlarını olduğu gibi bıraktım çalıştı, belkide benim kullandığım ESP12 olduğu için böyle oldu, diğer bir şey AT+CWLAP ta ERROR alıyorum.

    alıntı: t600diyor ki: 17 Ocak 2015, 13:58 Ok hepsi çalışıyor. Süper! Yapacak arkadaşlara tavsiye; hocanın videolarını dikkatli dinleyin. 3 günde full masai ile işi çözersiniz. Hocam tebrikler güzel bir çalışma. İnşallah bizde senin gibi faydalı işler yaparız.

  16. MMT dedi ki:

    Arduino çıkışındaki 3.3V yazan kısım 3.3V çıkışı mıdır? Güncelleme işlemi için kullanabilir miyim? Yani onunla ESP8266’yı besleyebilir miyim?

  17. Emre Mentes dedi ki:

    Fırat bey merhaba, ESP8266 modülünü kullanırken besleme voltajının 3.3 v u geçmemesine dikkat ediyoruz dediğiniz gibi, ancak örneğin pinout gerilimi 5v olan bir mikrodenetleyici ile kullanırken rx, tx pinlerini nasıl bağlamamız konusunda kısa bir bilgi verebilir misiniz ?

    Teşekkür ederim.

  18. Çağlar dedi ki:

    Güncellemede sıkıntı yaşayan arkadaşlar arduinonun reset pini ile gnd pinini birleştirince sorun çözülecektir. Bende de aynı sıkıntı vardı böyle yapınca düzeldi.

  19. Deniz dedi ki:

    Selamlar,
    Öncelikle Allah razı olsun kardeşim. Tam 2 gündür AT komutuna cevap almaya çalışıyorum ama bir türlü alamamıştım. Nette hiçkimse GPIO 0 pinine 3.3v vermiyordu meğer dermanı buymuş bu aletin ya da 2 gündür sürekli kafa patlatmaktan gözden kaçırmışım. O ilk AT komutuna OK’i alınca var ya ne dua aldın anlatamam 🙂
    NOT: Hayatımda ilk defa bir blog’a yorum yazdım 🙂

Yorum Yazınız

error: Content is protected !!