ESP8266 Problemi işin içinden çıkamıyorum
  • Merhaba,

    Elimde Ardunio Uno ve ESP8266-01 mevcut..

    Bağlantıları gerçekleştirdim.. Çalıştırdığımda seri port ekranına 4 kere internet baglantiniz gerceklesti yazıyor..

    Sonrasında hiçbir hareket yok.. Modem arayüzümden bağlı cihaz varmı diye bakıyorum.. unkown şeklinde baglanmış ve bir IP adresi almış.. Fakat o IP adresine tarayıcıdan girdiğimde

    Bu siteye ulaşılamıyor

    192.168.1.39 bağlanmayı reddetti.
    Aşağıdakileri deneyin:
    Bağlantınızı kontrol etme
    Proxy'yi ve güvenlik duvarını kontrol etme
    ERR_CONNECTION_REFUSED

    Hatası geliyor. Yaklaşık 3 haftadır ugrasıyorum araştırmadığım şey kalmadı.. Bu konuda yardımlarınızı beklemekteyim



    KULLANDIĞIM KODLAR;

    #include < SoftwareSerial.h>
    SoftwareSerial wifiBaglantisi(1, 0);

    const String wifiAdi = "WİFİ_ADI";
    const String wifiSifresi = "şifresi";

    #define DEBUG true

    const int LED1 = 13, LED2 = 12; // LED pinleri

    void setup()
    {
    Serial.begin(115200); // Seri haberleşme bağlantısı kuruldu
    wifiBaglantisi.begin(115200); // ESP bağlantısı kuruldu
    delay(500);
    pinMode(LED1, OUTPUT); // LED pinleri çıkış olarak tanımlandı
    pinMode(LED2, OUTPUT);
    if (!interneteBaglan()) { // internet bağlantısı kuruluyor
    Serial.println("internete baglanilamadi");
    while (1);
    }
    else {
    Serial.println("internet baglantiniz gerceklesti");
    }
    ATKomuduYolla("AT+CIPMUX=1", 1000, DEBUG); // çoklu bağlantılara izin verildi
    ATKomuduYolla("AT+CIPSERVER=1,80", 1000, DEBUG); // 80 portunda çalışan server kuruldu
    }

    int ziyaretciID;

    void loop()
    {
    if (wifiBaglantisi.available()) // Servera bağlanan var mı?
    {
    if (wifiBaglantisi.find("+IPD,"))
    {
    delay(1000);
    ziyaretciID = wifiBaglantisi.read() - 48; // Bağlanan kişinin IDsi
    /* ascii karakteri int türüne çevirmek için 48 çıkartılmıştır */
    String sayfaID;
    while (wifiBaglantisi.available()) {
    char c = wifiBaglantisi.read();
    sayfaID += c;
    } // döngü ile kişinin sayfa bilgileri kaydedilmiştir

    String Header; // server tarafından yollanacak header bilgileri
    Header = "HTTP/1.1 200 OK\r\n";
    Header += "Content-Type: text/html\r\n";
    Header += "Connection: close\r\n";

    String HTML; // kişiye gösterilecek sayfanın tasarımı
    HTML = "< htm>< title>Hasbi Sevinc< /title>< body>";

    if (sayfaID.indexOf("/?pin=LED1on") > 1) {
    // eğer kişi /?pin=LED1on sayfasına bağlandıysa
    Serial.println("1. LED acildi");
    digitalWrite(LED1, HIGH);
    HTML += "< h1>1. LED acildi";
    } else if (sayfaID.indexOf("/?pin=LED1off") > 1) {
    // eğer kişi /?pin=LED1off sayfasına bağlandıysa
    Serial.println("1. LED sonduruldu");
    digitalWrite(LED1, LOW);
    HTML += "< h1>1. LED sonduruldu";
    } else if (sayfaID.indexOf("/?pin=LED2on") > 1) {
    // eğer kişi /?pin=LED2on sayfasına bağlandıysa
    Serial.println("2. LED acildi");
    digitalWrite(LED2, HIGH);
    HTML += "< h1>2. LED acildi";
    } else if (sayfaID.indexOf("/?pin=LED2off") > 1) {
    // eğer kişi /?pin=LED2off sayfasına bağlandıysa
    Serial.println("2. LED sonduruldu");
    digitalWrite(LED2, LOW);
    HTML += "< h1>2. LED sonduruldu< /h1>";
    } else {
    // eğer kişi ana sayfaya bağlandıysa
    HTML += "< h1>Internet uzerinden LED kontrolu< /h1>";
    }
    /* LED durumlarına göre sayfanın tasarımı ayarlanmıştır */
    if (!digitalRead(LED1)) {
    HTML += "< button onclick=\"window.location='?pin=LED1on'\">LED 1 Yak< /button>";
    }
    else {
    HTML += "< button onclick=\"window.location='?pin=LED1off'\">LED 1 Sondur< /button>";
    }

    if (!digitalRead(LED2)) {
    HTML += "< button onclick=\"window.location='?pin=LED2on'\">LED 2 Yak< /button>";
    }
    else {
    HTML += "< button onclick=\"window.location='?pin=LED2off'\">LED 2 Sondur< /button>";
    }

    HTML += "< /body>< /html>";

    Header += "Content-Length: ";
    Header += (int)(HTML.length());
    Header += "\r\n\r\n";

    wifiBaglantisi.print("AT+CIPSEND="); // kullanıcaya aktarılacak karakter sayısı
    wifiBaglantisi.print(ziyaretciID);
    wifiBaglantisi.print(",");
    wifiBaglantisi.println(Header.length() + HTML.length());
    delay(10);

    if (wifiBaglantisi.find(">")) { // HTML ve Header bilgileri kullanıcıya aktarılıyor
    wifiBaglantisi.print(Header);
    wifiBaglantisi.print(HTML);
    delay(10);
    }
    }
    }
    }

    String ATKomuduYolla(String ATKomudu, int zamanAsimi, boolean debug)
    {
    wifiBaglantisi.println(ATKomudu); // AT komudu modüle gönderildi
    long int zaman = millis();
    String cevap = "";
    while ( (zaman + zamanAsimi) > millis()) // Zaman aşımına kadar bekle
    {
    while (wifiBaglantisi.available())
    {
    char k = wifiBaglantisi.read(); // modülden gelen cevaplar kaydediliyor
    cevap += k;
    }
    if (cevap.indexOf("OK") != -1)
    break;
    }
    if (debug) {
    Serial.print(cevap); // modülden gelen cevaplar ekrana yazdırılıyor
    }
    return cevap;
    }

    boolean interneteBaglan() {
    ATKomuduYolla("AT+CWMODE=1", 1000, true); // internete bağlanacağımız için 1. moda alıyoruz
    ATKomuduYolla("AT+CWJAP=\"" + wifiAdi + "\",\"" + wifiSifresi + "\"", 10000, true); // wifi bağlantısı yapılıyor
    String durum = "";
    durum = ATKomuduYolla("AT+CIFSR", 8000, true); // bağlantı bilgileri
    if (durum.indexOf("FAIL") != -1 ) { // bağlantı başarı durumu test ediliyor
    return false;
    }
    return true;
    }
  • Öncelikle tarayıcıya Merhaba Dünya yazdırmayı deneyin bence , hasbi sevincin kitabını almışsınız sanırım direkt olarak kodu oradan alıp bütünüyle denemek yanlışlıklara yol açabilir.
  • Arduino ile ESP'yi kullanmak karmaşık, hele ki uno ile kullanmak daha da karmaşık. Kodlara bakmaya başladığımızda da en baştan hatalı. Arduino seri pinlerini SoftwareSerial'a atamışsınız hem esp ile hem bilgisayar ile aynı pinden haberleşmeye çalışıyorsunuz. Uno'da software serial kütüphanesi en fazla 57600bps de çalışırken siz 115200 de çalıştırmışsınız.

    Böyle çok fazla satır kodu denemek yerine güncel kaynaklardan adım adım öğrenerek gidin.
  • Tavsiyem,
    ESP8266 ile hiç zaman kaybetmeyin. Kafasına göre çalışan bir ürün. Dolayısıyla bazen tam istediğiniz gibi çalışıyor bazen bakıyorsunuz tuhaf tuhaf hatalar veriyor. Onun yerine Arduino orjinal ya da bulabiliyorsanız klon WiFi modülü alın. Örnekleriyle kütüphaneleriyle zahmetsizce işinizi görün. ESP saçmalığıyla da vakit kaybetmemiş olursunuz.
  • arkadaş ne pis bişeymiş bu ya. 3$ diye herkes atlıyo ama bi sure sonra olay şuna dönuyor keşke 50$ vereydimde hiç bulaşmayaydım oluyo. esp pişmanlıktır diye kamu spotu çekecem az kaldı. yinede ısrarcıysan benim yazdığım esp notları vardı onu bul bi oku derim belki faydası olur.
  • burdaymış
    http://forum.arduinoturkiye.com/index.php?p=/discussion/comment/12137#Comment_12137

    başta dediğim gibi kendime yazdığım notlar, anlamadığın yer olursa burda nedemek istedin diye sorabilirsin.
  • esp8266 başlangıç seviyesi için zordur evet. ucuz diye kasıyo mıllet. ıyı kod yazılırsa huyuna suyuna gıdersen gayet başarılı. yenı kutuphaneleri rtos uyumlu yazıyorlar sanırım ondan sorun çıkıyor yapısını arkda neler döndüğünü bilmeden girişince bi mucadele oluyor
  • Arkadaşlar Esp8266 modülü ile Gmail mail gönderimini gerçekleştirdim. Dilerseniz yazıma bakabilirsiniz. Tek tek açıklamaya çalıştık. Eksiklerim var ise mesaj atarak düzeltmeme yardım edebilirsiniz.
    İlgili yazı: http://teknolojiprojeleri.com/arduino/esp8266-modulu-ile-gmailden-mesaj-gonderme
  • Bende de benzer sorun var kodlar yukardakiyle aynı ama modeme bağlanıyor ıp alıyor ama web sayfasını açmıyor 1 saat düzgün çalışıyor duruyor. Modem değiştirdim Superonline portlar açık sayfa gelmiyor

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Login with Facebook
Açık kaynak kültürü gereği, çözdüğünüz problemlerin çözümlerini paylaşmayı lütfen unutmayın.