AT komutlarına yanıt alamama
  • Esp8266 ile AT komutlarına serial monitörde yazdığımda cevap geliyor fakat kod içerisinde yazıp arduinoya yüklediğim zaman yanıt gelmiyor. Sebebi ne olabilir?
  • bilinen ornekleri deneyince ne yapıyor bir wifi cihazına bağlanmak için veya bir sayfa okumaya çalıştıgınızda veya websunucu çalıştırdıgınızda ornekler calışmıyormu rx tx pinlerini kontrol edin uygun olarak baglımı esp ye
  • İnternetten bulduğum ve kendi yazdığım farklı birçok örnek denedim fakat bir sonuç alamadım. RX tx pinlerim doğru şekilde bağlı. ESPye AT komutu gönderip if(Serial.available()) ile kontrol ettiğimde if in içine girmiyor. Yani bana herhangi bir değer dönmüyor.
    Bir sefer de mySerial.read ile okuduğumda bana -1 değeri dönmüştü.
  • en basit kod hangisi bir paylaş buradan
  • #include < SoftwareSerial.h>


    SoftwareSerial mySerial(10, 11);
    #define ag_ismi "AndroidAP1"
    #define ag_sifresi "w11wwwww"
    String a;
    void setup()
    {
    Serial.begin(115200);
    mySerial.begin(115200);
    mySerial.print("AT/r/n");
    Serial.print("AT/r/n");

    delay(5000);

    if(mySerial.available()){
    a=mySerial.read();
    Serial.println(a);
    }
    if(Serial.find("OK")){
    Serial.println("baglandı");
    Serial.println("AT+CWMODE=1/r/n ");
    delay(2000);
    String baglantiKomutu=String("AT+CWJAP=\"")+ag_ismi+"\",\""+ag_sifresi+"\"";
    Serial.println(baglantiKomutu);
    delay(5000);
    }

    }

    void loop() {

    }
  • Aga sen napmışsın öyle,
    Dönmemesi gayet normal,AT komutu gonderdikten sonra yerine göre 2 bayt dönecek "OK" yani peki sen bunları nerede depoladın da nerede bastıracaksın.
    Öneridir;
    Softserial ve serial örnekleri üzerinde birazcık çalışın.Aşağıdaki küçük sahte kodu inceleyiniz.

    while(Serial1.available()){
    c=Serial1.read();

    msg[z]=c;
    z++;

    }
  • Serial.begin(9600);
    mySerial.begin(115200);


    yapıp serial monitoru de 9600 e ayarlayıp denesene bi. Bende myserial ile serial baud' unu aynı verince sıkıntı oluyordu farklı kullanınca çözüldü.

    Bu arada modülün baud' unu 9600 e ayarladım ben kendimde, o zaman daha stabil oldu. Önceden karakterler falan birbirine giriyordu.

    AT+CIOBAUD=9600 ile değişiyor
  • delay(5000) çok uzun süre, onun yerine
    while(!mySerial.available);
    veya
    while(!mySerial.available){}
    kullanın ve keyfinize bakın:)

Howdy, Stranger!

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

Login with Facebook

Tagged

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