Arduino ile ESP8266 Kullanımı ve Web Server
|
Merhabalar…
Bu konuda Arduino ile ESP8266 kullanıma değineceğiniz.
Öncelikle şimdiye kadar ne yaptığımıza ve şimdi ne yapmak istediğimize bakalım. Daha önceki yazılarımızda Arduino ile enc28j60 ile Web Server kurulumunu ve en basit olarak bir Led’ in nasıl yakılacağını anlattık (Buradan). Şimdiki konuda aynı işi wi-fi özelliğine sahip esp8266 modülü ile yapacağız.
ESP8266 ile kullanacağımız haberleşme 115200 baud rate ile olacağı için Arduino’ da bulunan SoftwareSerial kütüphanesi bu iş için yeterli değildir. (SoftwareSerial max 38400 baud rate’ i destekler.) Haberleşmeyi yüksek hızda kullanmamızın sebebi web sitesi üzerinden yapılan işlem sıklığının artması durumunda oluşabilecek yığılmaları en aza indirmektir. Sizin uygulamanız için düşük baud rate’ de yeterli ise Arduino Uno ile ESP8266 kullanımı yazısındaki adımları takip edebilirsiz. Bu yazıda anlatılanlar Arduino Mega için anlatılmış olup HardwareSerial donanımının Serial3 çıkışları kullanılmıştır.
Birazda ESP8266 ‘ yı tanıyalım. Basit olarak Seri haberleşme ile kullanılabilen bir wi-fi modülüdür diyebiliriz. Ancak Bunun dışında çok daha fazla amaç için kullanılabilir. Buna en güzel örnek üzerindeki mikrodenetleyici programlanabilirdir. Siz farklı bir mikrodenetleyiciye ihtiyaç daymadan TTL dönüşütürücü kullanarak programlayabilirsiniz. ESP8266 üzerinde 2 adet de GPIO pini bulundur.
Programlanabilme özelliğinin yanı sıra bir modem gibi DHPC’ ye sahiptir ve kendi ağını kurabilir. İşin güzel kısmı ise bütün ayarları sıra ile AT komutlaru ile yapar.
Hangi At komutlarının kullanıldığına buradan bakabilirsiniz.
Yandaki resimde ESP8266′ ın pin yapısını görmekteyiz. Burada dikkat etmeniz gereken kısım VCC ile belirtilen besleme geriliminin 3.3V olmasıdır. Buna dikkat etmediğiniz taktirde modüle zarar verebilirsiniz. Reset pini Low konumda iken modüle reset atmakta, bu yüzden 10k lık bir direnç ile 5V’ a bağlanması olası sorunları en aza indirgemenize yardımcı olur. Son olarak da CH_PD pinine değinelim. Bu pin modülün hazır konuma geçmesi için anahtar görevi görür. Yani siz her şeyi bağlayıp bu pini boş bırakır yada Low konuma çekerseniz modül size cevap vermeyecektir. Size tavsiyem bu pini 10k ‘ lık bir direnç ile Arduino’ ya bağlamanızdır. Bu sayede pini modülün ne zaman çalışmaya başlayacağına karar verebilirsiniz.
Şimdi bağlantı şemamıza bakalım. Yukarıda da belirttiğim gibi ben Arduino Mega’ nın Serial3 donanımını kullandım. Ancak siz bunu duruma göre değiştirebilirsiniz.
ESP8266′ yı hazırlamak için gerekli AT komutlarna bakalım.
“AT+RST” ESP8266′ nın reset atmasını sağlar. Gücü Arduino’ ya ilk verdiğinizde pinlere voltaj yeni gideceğinden bu komutu kullanmanıza gerek yoktur. Ancak öncdene güç verdiğiniz bir Arduino’ yu sürekli programlıyorsanız bu komutu kullanmanız gereklidir.
“AT+CWMODE” ESP8266′ nın wi-fi çalışma modunu ayarlar. AT+CWMODE=1 bütün modlar için ESP8266′ yı aktifleştirir. Bu modu 2 yapmanız halinde ESP8266 wi-fi özelliğini kullanmayacaktır. Siz wi-fi leri görüntülemeye çalışsanızda ESP8266′ hata mesajı verecektir.
“AT+CWLAP” ESP8266′ nın bağlanabileceği wi-fi bağlantı noktalarını gösterir. (En yakında kablosuz modemleri)
“AT+CWJAP” ESP8266′ nın wi-fi ye bağlanmasını sağlar. iki parametre alır ve kullanımı AT+CWJAP=”SSID”,”Password” şeklindedir. Burada dikkat etmeniz gereken nokta herhangi bir ağa bağlanmaya çalışmadan önce, ağ bağlantılarını taramış olmanız gerekir.(AT+CWLAP daha önce kullanılmalıdır.)
“AT+CIFSR“ ESP8266′ nın sahip olduğu IP’ leri igösterir. Kullandığınız moda göre 2 farklı ip gösterecektir. Bir tanesi kendi oluşturduğu ağdaki statik IP, diğeri ise eğer wi-fi ye bağlanmışsa ağdan aldığı statik IP’ dir.
“AT+CIPMUX” ESP8266 ‘nın TCP bağlantı şeklini belirler. AT+CIPMUX=1 çoklu bağlantı kurmanızı sağlar.
“AT+CIPSERVER” İki parametre alır. ESP8266′ nın açık ya da kapalı olma durumunu, ve bağlantı portunu belirler. AT+CIPSERVER=1,3000 ,bağlantı açık ve 3000 portu kullanılacak anlamına gelir.
Şimdi web server’ ımızı oluşturmaya bakalım. Üstte ESP8266 için ayarlamaları yaptık . Web Server oluşturmaya çalışırken Enc28j60 modülü ile kullanımında olduğu gibi verileri internete bir tampon üzerinden yazacağız ve bu tampon üzerinden okuyacağız. Tek seferde okunacak tampon boyutunu basit olarak şu şekilde belirleyebiliriz.
#define BUFFER_SIZE 128 //Tampon boyutunu belirler char buffer[BUFFER_SIZE]; //Tamponu oluşturduk
Tampondaki verileri okumak için bu fonksiyonu kullanacağız. Oluşturduğumuz Web Server’ a bağlanmaya çalışıtığımızda HTTP GET motedu çağrılmış olur. Bu medtod kaynaktan data isteyen metodtur. Yani Bu istek oluşmuşsa Server bize web sayfasını göndermesi gerekir.
Serial3.readBytesUntil('\n', buffer, BUFFER_SIZE); //Tampondaki verileri okuduk
Tampondan veriler okuduk ancak /GET metodunun istendiğine emin olmamız lazım. Aksi taktirde Server gerksiz işlemler yapacak, hatta çökmeye sebep olacaktır. (Serial monitöre gelen bussy p hatası çökme olmuş demektir.) Öncelikle biz Ip’ ye bağlandığımızda nasıl bir data gelecek ona bakalım.
+IPD,0,436:GET /?led HTTP/1.1 8,en-US;q=0.6,en;q=0.4 eWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36
Tamponda gelen verilerin başındaki +IPD ifadesi ESP8266′ nın data almaya başladığını gösterir. Sonraki sıfır ch_id olarak tanımlayacağımız, bağlantıyı başlatanın id’ sidir. Bu id’ den kime ne göndermemiz gerektiğini belirleyebiliriz. Sonraki 436 ise tamponda bize gelen verinin boyutudur. Bunların dışında “GET /?led” ifadesi bulunmakta. Bu yapı Adres çubuğunun sonuna eklenir, sayfalar arasında ve server ile haberleşme için kullanılır. Bunun anlamı kullanıcı server’ dan /?led isimli istekte bulunuyor. Biz bunu server tarafında işleyerek istediğimiz gibi kullanabiliriz. (Örneğin led yakmak için)
Kullanıcının server’ dan istediği ifadeleri iyice anlamlandırmak gerekir. Yani +IPD ve GET / ifadesinin geldiğinden emin olamak gerekir. Bunun için bazı fonksiyonlar kullanacağız.
strncmp(buffer, "+IPD,", 5) == 0
Burada kullanılan strncmp fonksiyonu parametre olarak aldığı string ifadeleri son parametre olarak gelen değer boyunca kıyaslar. (Yani buffer’ ın ilk beş değeri “+IPD,” ‘mü diye bakar.) Eğer eşit ise sıfır döndürür.
sscanf(buffer + 5, "%d,%d", &ch_id, &packet_len);
Bu fonksiyon C programlamada kullandığımız scanf’ in string ‘den okuyan çeşidir. Scanf ile aynı işi yapar.
strncmp(pb, "GET /?led", 8) == 0
Bu fonksiyonda ise yukarıda bahsettiğimiz kullanıcının server’ dan hangi bilgiyi istediğini sorguladığımız kısım. Siz bunu kendinize göre değiştirebilirsiniz.
Server ile iletişimin doğru olabilmesi için tampondaki fazla verileri mutlaka temizlenmelidir. Bunun için şu şekilde bir yapı kullanabilirsiniz. Bu fonksiyonu ihtiyacının olduğu yerde çağırarak tamponu boşaltabilirsiniz.
void clearSerialBuffer(void) { while ( Serial3.available() > 0 ) { Serial3.read(); } }
Bunun dışında AT komutlarını ESP8266′ ya göndermek için sendData isimli bir fonksiyonu kullandım. Bu sayede hem işlemlere timeOut verdim hemde geribesleme istediğim yerlerden alabildim.
String sendData(String command, const int timeout, boolean debug) { String response = ""; //server' ın bize vereceği cevap Serial3.print(command); // server a gönderdiğimiz komut long int time = millis(); //timeout ın ilk değeri while ( (time + timeout) > millis()) { while (Serial3.available()) { // The esp has data so display its output to the serial window char c = Serial3.read(); // read the next character. response += c; } } if (debug) //geribesleme istiyorsak görüntüledik { Serial.print(response); } return response; //cevabı geri döndürdük }
Son olarak bizden istenen isteğe göre sayfayı gönderdiğimiz fonksiyonumuzu verip yazıyı sonlandıralım. Burada HTTP header zorunludur. Nasıl değiştirileceğini bilmiyorsanız değiştirmemenizi tavsiye ederim. Bağlantının başarılı şekilde gerçekleştiğini tarayıcıya belirtmek gerekir. Bunun dışında içeriği kendi isteğinize göre değiştirebilirsiniz.
void homepage(int ch_id) { String Header; //Http header' ı oluşturduk Header = "HTTP/1.1 200 OK\r\n"; Header += "Content-Type: text/html\r\n"; Header += "Connection: close\r\n"; //Header += "Refresh: 5\r\n"; String Content; //Sayfamızın içeriği Content = "<center><h1>Hello World!</h1></center><hr><center><h2>Oğuzhan Başer</h2></center><hr>Led State: D"; Content += String(ledState); Content += "<br><a href=\"/?led\"><input type=\"button\" value=\"Led Durum\"></a>"; Header += "Content-Length: "; Header += (int)(Content.length()); Header += "\r\n\r\n"; Serial3.print("AT+CIPSEND="); //Sayfayı belirttiğimiz AT komutu CH_ID ve içerik uzunluğu Serial3.print(ch_id); Serial3.print(","); Serial3.println(Header.length() + Content.length()); delay(10); //içeriği gönderdik if (Serial3.find(">")) { Serial3.print(Header); Serial3.print(Content); delay(10); } }
Kodun tamamına gitHub linkinden ulaşabilirsiniz.
Teşekkürler…
çok tşkler emeğin için. yalnız resimde eksiklik var. griye baglı olan direncin ucu boşta. nereye baglayacaz acaba
Uyarınız için teşekkür ederim. O direnç herhangi bir dijital pine bağlanarak kullanılabilir. Modülün çalışması için o pine lojik-1 seviyesinde gerilim uygulanmalıdır.
o direnci 3.3 v a bagladım. sonuçta artı volt. esp8266 user program v1.1 programı ile module baglanıyorum. cevremdeki wifi aglarınıda görüyorum. fakat 3-5 saniye sonra time out esp8266 cevap vermiyor hatası veriyor. sorun nerde acaba.birde sadece 9600 ile baglanabiliyorum. diğer hızları kabul etmiyor. oysa modul yeni. en son versiyon olması lazım. ayrıca hemen cevapladıgın için. tşkler
anladığım kadarıyla modulu okuyorum fakat komut gönderemiyorum çünkü at komutlarının hiçbirine cihaz cevap vermiyor..sorun nerde acaba
çünkü komut gönderdikten sonra time out hatası alıyorum. yani cihaz komutu almadığıiçin yazılım bana cihaz cevap vermiyor hatası veriyor. rx tx takılı. anlayamadım sorunu
Merhaba, arduino mega ile anlattığınız gibi yaptım her şey tamam çalışıyor ancak arduino uno ile aynı işlemleri gerçekleştiremedim. Aynı kodları arduino uno için nasıl uyarlayabilirim acaba?
Ayrıca arduino meganın usb bağlantısını kesip adaptör ile elektriğe bağlayınca wifi bağlantısını sağlamıyor
Merhaba..
ESP8266 bu örneği Mega üzerinde vermemin temel sebebi HardwareSerial donanımının birden fazla olması. Bu sayede verileri yazarken debug işlemi gerçekleştirebiliyorsunuz. Ama siz işlemlerinizden eminseiz o yazılımdaki debug içeren ifadeleri devre dışı bırakıp sadece Serial0 (0 ve 1 Nolu pinler) kullanarak Uno’ yu internete bağlayabilirsiniz.
Gücü adaptör ile verdiğiniz zaman bağlanmamasına bende anlam veremedim o konuda yardımcı olamayacağım. Ancak yazılımı yükleyip adaptörü bağladıktan sonra reset duşuna basmak belki çözüm olabilir.
İyi çalışmalar.
Merhaba, mega üzerindeki problemi çözdüm resetleyince. Debug içeren ifadeleri kaldırıp uno ile denediğim de “busy p…” uyarısı geliyor serial monitorde
Tekrar merhaba.
Eğer bussy p uyarsını görebiliyorsanız cihazdan aldığınız veriyi tekrar geri gönderiyorsunuz demektir. Yani ESP8266′ dan herhangi bir şeyi geri okuyarak tekrar serial ekrana yazdırmayın. Yoksa bussy P hatası alırsınız. Çünkü sizin serial monitöre yazdırdığınız veri aynı zamanda RX pini üzerinden ESP8266′ ya gidiyor. Ancak bu sebeplerden sadece 1 tanesi. Ben de bu hata ile karşılaşıp çözümleyemediğim zamanlar olmuştu ki ESP8266′ nın özellikle 8 bacaklı olan çeşidinden benim düşüncemle çok fazla performans beklememek gerekiyor.
İyi çalışmalar.
Merhaba,
ESP8266 kullanarak bir iot projesi yapmıştım fakat projem şuan çalışmamakta. ESP8266 internete bağlanıyor fakat sunucu ile veri alışverişi gerçekleştirmiyor. Yazılım üzerinde gerekli testleri yaptım fakat donanımsal bir sorun mu var bunu nasıl tespit edebilirim? yardımcı olabilir misiniz?
Merhaba,
Öncelikle geç cevap verebildiğim için özür dilerim. Projenizin ne olduğu ve nasıl yapmak istediğinizi tam anlamadım. Lakin ESP8266 ile bende bir çok sorun yaşadım. Eğer tüm yaptığınız işlmlerin doğruluğundan eminseniz ESP8266′ nın içerisindeki firmware güncellemeyi deneyin. Güncel halde daha stabil çalıştığını öğrendim.
İyi çalışmalar.
esp güncelemesi yaptım aynı şekilde herhangi bir web sitesine bağlanmamaya devam etti. yeni bir esp ile tekrar denedim ve yine aynı prolem. Herhangi bir ağa bağlanıyor fakat bir web sitesine bağlanıp veri gödermiyor.
Kullandığım cihaz arduino mega ve esp8266 bunlar ile thingspeak’e veri gönderimi yapmam lazım.
espnin gnd pini,pinini arduinodaki gndye bağladım. rx tx e, tx rx e. vcc ve gd_n ‘ 3.3, reseti de arduio reset e bağladım.
Sorun ne olabilir?
Merhaba,
Peki ya web server kurmayı vb. işlemleri denediniz mi? Onlarda sıkntı yok ise Thingspeak üzerinden aldığınız API key doğru mu? Geçtiğimiz günlerde bende onunla bir deneme yaptım. ESP8266 ile çokda hızlı çalışmadığını gözlemledim. Verinin düşmesi için beklediniz mi? Bunlarda çözüm olmazsa yazılımınızı mail üzerinden bana gönderebilirseniz incelemeye çalışırım.
İyi çalışmalar.
Merhabalar;
ESP8266’yı programlayarak nem verilerini thingspeak’e aktarmıştım. Kodları incelerseniz belki sorununuza çözüm bulabilirsiniz.
Kod:
https://github.com/cevdetcvr/Arduino/blob/master/nem__thingspeak.rar
Not: Ben ttl converter ile direk ESP8266’yı programladım. Siz kodun sadece thingspeak kısmını baz alın.
Merhaba,
Makalenizde blirttiginiz sekilde tum islemleri yaptim ve sicaklik degerlerini basarili bir sekilde thingspeak e gonderim. Herhangi bir sorun olmadan cok guzel kullandim. Gayet aciklayici ve net bir yazi olmus tebrik ederim.
Ancak ufak bir sorunum var. Tum gun boyunca sicaklik degerlerini aldim ve sikintisiz kullandigim esp8266 artik degerleri gondermemeye basladi.
Yazilimsal oldugunu sandim ama esp uzerindeki mavi ledin hic yanmadigini gordum. Saniyorum veri transferi olmadigindan yada modul ustunde iletisim saglanmadigindan yanmiyor.
Bir anda neden gitmis olabilir? Acaba modul mu yandi?
Daha once bu tarz bir olayla karsilastiniz mi acaba?
Yardimlariniz icin simdiden tesekkur eder, iyi calismalar dilerim.
Saygilarimla.
Yorumunuz için teşekkürler. Dediğiniz kadar uzun bir test yapma gereği esp8266 ile duymadım. Ancak Arduino ile bir güne yakın zamanlarda deneme yaptığım oldu ve bunlarda dediğiniz gibi sistemin uyku haline geçmesi gibi ufak bir sorun yaşadım. Reset atarak yada programı tekrar yükleyerek sorunu çözmüştüm. Bu yüzden sorun esp8266′ dan ziyade Arduino’ dan kaynaklı da olabilir. Dediğiniz gibi mavi led yanmıyorsa iletişim gerçekleşmiyor yani Arduino’ dan esp8266′ ya veri gitmiyor demektir. Bu yüzden de kablo bağlantılarınıza sonradan meydana gelmiş temazsızlık vb. sorunlara karşı tekrar bakmanızı tavsiye ederim.
İyi çalışmalar..
Merhaba
Aynı kodları daha önce çalıştırmıştım her şey yazınızda belirtmiş olduğunuz gibi ancak şu anda “setup begin” uyarısından ilerisine gitmiyor modem arayüzünden baktığımda bağlantı sağlanmış networkte yeni bir cihaz var ping attığımda yanıtta alıyorum ancak web üzerinden o IP adresine erişim yapılamıyor bu seferki sorun neyden kaynaklanıyor olabilir acaba
Merhaba,
Setup begin kısmından daha ileriye gidemiyorsanız bağlantınızı kontrol etmenizi tavsiye ederim. Çünkü o kısımdan ilerlemiyorsa Esp8266′ ya AT komutları ulaşmıyor demektir. Modem arayüzünden görünmesinin sebebi de daha önceden bağlantı yapmış olmanızdır. Esp8266 önceden bağlandığı ağ adreslerini belleğinde tutar.
İyi çalışmalar.
Esp’nin rx ve tx pinlerini rx0 ve tx0 a alıp Arduino’ya boş bir yazılım yükleyip denediğimde AT komutlarını çalıştırabiliyorum bağlantıda bir problem yok aslında. Esp’nin almış olduğu IP adresine ping attığımda yanıt veriyor Esp. Daha önce çalışıyordu aynı şekilde yaptığım halde ama çok ilginç bir şekilde şu anda çalışmıyor.
Sanırım yanlış anladınız. Kullanığım yazılım üzerinde setup begin den sonrasını görebilmeniz için hardware serial 3 donanımının rx ve tx pinlerine doğru olarak ESP8266′ ya bağlamalısınız. Aksi taktirde gönderdiğiniz AT komutlarını döndüren bir cihaz karşıda olmadığı için setup begin’ den sonrasını göremezsiniz. Ayrıca Esp8266′ ya ping atabilmeniz gayet normal çünkü daha önceden bağlandığınız bir ağa ESP’ nin tekrar bağlanması için herhangi bir AT komutu göndermenize gerek yoktur. O içerisindeki Firmware sayesinde o ağı kaydeder ve güç verilince otomatik olarak bağlanır.
Hayır siz beni yanlış anladınız, rx0 ve tx0 bağlamamın sebebi arduino ve espyi test etmekti, bu şekilde bağlayıp kontrol ettiğimde AT komutlarını algılıyor ve sorun gözükmüyor. Daha önce de bu konu üzerinde sizin de belirtmiş olduğunuz gibi bağlantıları kurup aynı kodları arduinoya yükleyince çalışmıştı ancak şu anda her şey birebir aynı olmasına rağmen çalışmıyor. Daha önce çalışan şeyin şu anda birebir aynı olmasına rağmen çalışmamasına anlam veremiyorum ilginç olan da bu zaten. Keşke imkan olsa da yanınıza getirip göstersem her şey birebir aynı.
kodları indiremedim github açılmadı birbakarmısınız
Uyarınız için teşekkürler linki güncelledim.
Teşşekkürler
kodlar çok işime yaradı
sade ve güzel çalışıyor.
iyi akşamlar sizin kodları kullanarak esp server yaptım program Sram %60 kullanıyor web sayfasına content stringine birkaç baytlık bir veri bile eklemeye kalksam Arduino uno kitleniyor oysa daha sram yaklaşık 700 byte boş var. bu durumu nasıl çözebilirim.
Merhaba,
Öncelikle yapmaya çalıştığını uzun string işlemleri için Arduino gibi elektonik kartlar uygun değildir. Gönderdiğiniz string boyutu büyükse seri haberleşme tamponunu overflow yapıyor olabilirsiniz. (Tabi bu bir tahmin Arduino’ ya bir şekilde debug yapmanızı tavsiye ederim.) Eğer içeriği geniş bir web sitesi ile işiniz varsa onu bilgisayardan oluşturup ESP8266 ile sadece veri gönderimi yapmalısınız.
İyi çalışmalar..
bide ben bir proje yapıcam su baskınında telefona mesaj atma bunu nasıl yapabilirm ben esp8266 kullanarak yapıyorum sizce doğrumu ? ben bu işlerde yeniyim 9. sınıf öğrencisiyim banam programlama konusunda yardımcı olabilecek bildiğiniz bir kişi , site vs. hepsi olur yardımcı olursanız çok mutlu olurum.
Merhaba, diğer yorumunuzda Arduino Uno ile ESP kullanımı ile ilgili yazı istemişsiniz. Bu zaten sitemizde mevcut buradan ulaşabilirsiniz. Projenize gelince eğer telefona GSM üzerinden normal mesaj atmak gibi bir niyetiniz varsa internet üzerinden mesaj atan web servisleri kullanmalısınız Bu şekilde örnekler internette de mevcut. Son olarak da bu işlere başlamak için çok uygun bir yaştasınız. Eğer gerçekten öğrenmek istiyorsunuz internet üzerinde istemeyeceğiniz kadar kaynak mevcut zaten. Tek tavsiyem sorununuzun cevabını türkçe olarak bulamazsanız İngilizce olarak da aratmanızdır. Yine takıldığınız yerler olursa baser61061@gmail.com üzerinden bana ulaşabilirsiniz.
İyi çalışmalar dilerim…
Merhaba
xit status 1
‘ledState’ was not declared in this scope
hatası verdi acaba çözümü nasıldır?
Merhaba, hatadan da görülüğü üzere “‘ledState’ was not declared in this scope”, ledState tanımlı değil. Bu şekilde tanımlamasını yaparsanız sorunuz çözülecektir: bool ledState = false;
İyi çalışmalar.
Bildiğim kadarı ile lojik seviyesi 3 volt olan esp çipi 5 volt seviyede çalışınca uzun vadede sorun çıkarabilir bence
Merhaba, haklısınız lakin burada anlatılanlar sistemin çalışabilmesi için gidilebilecek en kolay yoldur. Çünkü her şeyi uzun uzun anlatabilmek çok fazla vakit alıyor ve malesef ki o kadar vakit ayırabilmem pek mümkün olmuyor. Hatalı bulduğunuz yeri de belirtirseniz en yakın zamanda düzeltmeye çalışırım. iyi çalışmalar…
ESP8266 User Program Ver1.1..
Programında yada serial monitorde esp8266 sürekli bişeyler gönderip duruyor komutlarıma karşılık vermiyor ne yapmalıyım
Merhaba, sorun bir çok yerden kaynaklanmış olabilir. Lakin çözümü basittir. Firmware güncellemesi yapın. Güncellemeyi doğru yapmanıza rağmen (RAM bölgesi ve flash belleğin doğru ayarlanması) hala aynı sorun varsa modüle zarar vermişsiniz demektir. Tek çözüm yeni modül almaktır. İyi çalışmalar dilerim..
Merhaba.
Cok detayli ve faydali bir icerik olmus, tesekkur ederim oncelikle.
Konuyla alakali farkli bir proje icin yardiminizi alabilirsem cok mutlu olurum. Bana onurzolmas@gmail.com adresinden ulasabilirsiniz.
Tesekkurler,
Iyi calismalar.
Merhaba arkadaşlar, Esp8266 v0.9.2.4 AT Firmware-ESPFIX ini yükleyip kullandım. Kullanmış olduğum modül mikroelektronika nın wifi3 click devresi, yanlız iletişim hızı 9600 baud. Bu AT Firmware de At komutları kullanılarak çalışma hızı değiştirilebiliyor mu?
Merhaba, kullandığınız modülü daha önce hiç kullanmadım. Lakin ESP8266 firmware’ si ile çalışıyorsa mutlaka ayar için komutu vardır. Eski firmware’ lerde bir çok değişik baud rate değiştirme komutu vardı; “AT+UART=9600,0,0,0” “AT+IPR=9600” “AT+CIOBAUD=9600” bunlardan bazıları. Ancak size tavsiyem yapabiliyorsanız firmware’ ini güncellemeyi deneyin. Böylece bu tür sıkıntılardan kurtulursunuz. İyi çalışmalar dilerim…
hocam selamlar
esp 8266 12 e modülü ile sadece aynı ağa degilde
başka ağlarada nasıl bağlanır ve cihaz kontrolu yapabiliriz
örnek vermeniz mümkünmü
saygılar
Merhaba, sanırım sorununuz Esp8266′ ya farklı ağlardan bağlanabilmek. Bunu ESP8266′ yı birden fazla ağa bağlayarak değil ESP8266′ yı bağladığınız ağda port yönlendirmesi yaparak gerçekleştirebilirsiniz. Daha fazla detay için lütfen baser61061@gmail.com adresine mail atınız. İyi çalışmalar dilerim…
Merhabalar tekrardan,
az önceki problemi çözdüm. programı yükledikten sonra telefondan kurduğum hospot ağına modülün bağlandığını gördüm fakat bundan sonra ne yapacağımı bilmiyorum. programı internete nerden taşıyoruz veya nerden kontrol ediyoruz teşekkürler şimdiden
Merhaba, internet bağlantısını sağlamışsanız yapmanız gereken tek şey ESP8266′ nın IP’ sini server portu ile birlikte tarayıcıya yazmak 192.168.2.38:3000 gibi. Unutmayın bu sadece iç ağda çalışacaktır. Yani ESP8266′ yı mobil hotspot’ a bağlamışsanız sadece mobil internete bağlı cihazlar bu IP’ ye erişebilir. İyi çalışmalar dilerim…
Emeğiniz için teşekkürler. Benim de 12e modülü için bir sorum olacak. Besleme 3.3V anladık peki pc den program yüklemesi yaparken kullandığı voltaj seviyesi ttl yani 5V bunun bir sorunu var mı yoksa ayrıca programı yüklemek için de ayrıca ttl seviyeyi 3.3V a düşüren bir konveyör kablo kullanmalıyım?
Merhaba, ESP12e modülünü doğrudan 5V vermeniz cihazın zarar görmesine sebep olacaktır. O yüzden elinizdeki FTDI dönüştürücünün 3.3V çıkışı yada seçim opsiyonu yoksa dışarıdan harici olarak beslemeniz gerekecektir. İyi çalışmalar dilerim…