ESP8266 działa ale nie od końca dziwnie reaguje na komendę "AT+CIPSERVER=1,80" przy przeprowadzeniu debugowania moduł w programie którym napisałem odpowiada zamiast "OK" to takie coś "AT %A*eUI⸮1,8" i serwera oczywiście nie uruchamia. Przez sam konwerter działa normalnie wszystko śmiga.
Proszę o to mój kod:
#include <SoftwareSerial.h>
SoftwareSerial esp(7,8);
void setup() {
Serial.begin(9600);
while(!Serial);
Serial.println("Otwarto serial port");
esp.begin(9600);
while(!wyslij("AT","OK")){
Serial.println("Brak polaczenia z modułem");
}
Serial.println("Nawiązano połaczenie z modułem");
delay(100);
if(wyslij("AT+CIPMODE=1","OK"))
Serial.println("AT+CIPMODE=1 powodzenie");
else
Serial.println("AT+CIPMODE=1 moduł nie odpowiedział \"OK\"");
delay(100);
if(wyslij("AT+CWMODE=1","OK"))
Serial.println("AT+CWMODE=1 powodzenie");
else
Serial.println("AT+CWMODE=1 niepowodzenie");
delay(100);
if(wyslij("AT+CIPMUX=1","OK"))
Serial.println("AT+CIPMUX=1 powodzenie");
else
Serial.println("AT+CIPMUX=1 niepowodzenie");
delay(100);
Serial.println("Łączenie z routerem...");
if(wyslij("AT+CWJAP?","OK")){
Serial.println("Połączono z routerem");
}else{
while(!(wyslij("AT+CWJAP=\"HUAWEI\",\"12345678\"","OK") or wyslij("AT+CWJAP?","OK"))){
Serial.println("Błąd połaczenia z routerem");
}
Serial.println("Połączono z routerem");
}
delay(100);
if(wyslij("AT+CIPSERVER=1,80","OK"))
Serial.println("Uruchomiono server");
else
Serial.println("Błąd uruchamina servera");
delay(100);
//wyświetlanie ip
Serial.print("Moje ip to:");
esp.println("AT+CIFSR");
if(esp.find("+CIFSR:STAIP,\"")){
Serial.println(esp.readStringUntil('"'));
esp.readString();
}
Serial.println("Koniec konfiguracji, moduł gotowy do wyświetlenia strony!");
delay(100);
}
void loop() {
if (esp.available()) {
Serial.write(esp.read());
}
if (Serial.available()) {
esp.write(Serial.read());
}//*/
}
bool wyslij(String komenda,char *odp){
esp.println(komenda);
int i;
for(i=0;i<10;i++){
if(esp.find(odp))
return true;
}
return false;
}
Ktoś wie co z tym dziadem jest nie tak?