• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
ESP8266 - Nie ładuje się strona z internetu
#1
Witam,

Mam zrobioną stronę WWW na serwerze ESP8266 + Arduino MEGA.
Wszysko działa ale tylko w sieci LAN, czyli wewnętrznej w domu.

Gdy próbuję dostać się z internetu np. przez telefon komórkowy to niestety pojawia się problem.

Po wpisaniu do przeglądarki na telefonie mojego adresu IP z portem usługi, czyli: xxx.xxx.xxx.xxx:8000
widzę, że moduł ESP8266 reaguje mrugając niebieskim LED'em ale strona się nie ładuje.

Niestety otrzymuję taki komunikat:

Ta strona nie działa
Serwer xxx.xxx.xxx.xxx wysłał
nieprawidłową odpowiedź
ERR_INVALID_HTTP_RESPONSE

Przypominam, że jeżeli włączę WiFi w telefonie to strona załaduje się bez problemu.
Oczywiście wówczas podaję do przeglądarki adres LAN, czyli: 192.168.0.111

Poniżej zamieszczam ustawienia w moim routerze TP-LINK.

Aby zapewnić stały adres IP dla modułu ESP8266 w mojej wewnętrznej sieci
to przypisałem go na stałe wykorzystując jego unikalny ades MAC do adresu IP: 192.168.0.111

[Obrazek: router1.jpg]

[Obrazek: router2.jpg]

[Obrazek: router3.jpg]

Poniżej przedstawiam również kod programu napisanego w Arduino:

Kod:
// WiFi ESP8266 + Arduino MEGA.

char klient[1];
char bufor[50];
String strona;

void setup()
{
 Serial1.begin(115200); // Moduł ESP8266 ma ustawioną prędkość na 115200.

 while (!wyslij("AT", "OK", 100)) delay(100);

 if (wyslij("AT+CWMODE=1", "OK", 200));
 if (wyslij("AT+CIPMODE=0", "OK", 200));
 if (wyslij("AT+CIPMUX=1", "OK", 200));

 if (wyslij("AT+CWJAP=\"NazwaMojegoRoutera\",\"HasłoDoRoutera\"", "OK", 5000));
 if (wyslij("AT+CIPSERVER=1,80", "OK", 200));

 Serial1.println("AT+CIFSR");
}

void loop()
{
 while (Serial1.available() > 0)
 {
   if (Serial1.find("+IPD,"))
   {
     Serial1.readBytesUntil(',', klient, 1);

     strona = "<html><head><title>Arduino Wi-Fi</title></head>";
     
     strona = strona + "<body bgcolor=#0099CC><center><br>";
     strona = strona + "<table width=600 bgcolor=white border=5 bordercolor=#006699>";
     strona = strona + "<tbody>";

     strona = strona + "<tr height=70>";
     strona = strona + "<td colspan=3><font size=6 color=#006699><center>&nbsp;SERWER ARDUINO&nbsp;<br>WiFi ESP8266</center></td>";
     strona = strona + "</tr>";

     strona = strona + "<tr height=30>";
     strona = strona + "<td colspan=2><font color=#797979>&nbsp;Czas od uruchomienia:<b></td>";
     strona = strona + "<td><b>&nbsp;0&nbsp;</b><font color=#797979></font></td>";
     strona = strona + "</tr>";

     strona = strona + "<tr height=30>";
     strona = strona + "<td colspan=2><font color=#797979>&nbsp;Licznik odwiedzin:<b></td>";
     strona = strona + "<td><b>&nbsp;0&nbsp;</b><font color=#797979></font></td>";
     strona = strona + "</tr>";

     strona = strona + "<tr height=30>";
     strona = strona + "<td colspan=2><font color=#797979>&nbsp;Ostatnia aktualizacja:</td>";
     strona = strona + "<td><b>&nbsp;08.07.2018r.</b></td>";
     strona = strona + "</tr>";

     strona = strona + "<tr height=50>";
     strona = strona + "<td colspan=3><font color=FF9933><center><b>ANT</b></center></td>";
     strona = strona + "</tr>";

     strona = strona + "</tbody></table><br></center></body></html>";

     sprintf(bufor, "AT+CIPSEND=%c,%d", klient[0], strona.length());  
     if (wyslij(bufor, ">", 200));
     if (wyslij(strona, "OK", 200));

     sprintf(bufor, "AT+CIPCLOSE=%c", klient[0]);  
     if (wyslij(bufor, "OK", 200));
   }
 }
}

boolean wyslij(String Komenda_AT, char *Odpowiedz_AT, int czas_czekania)
{
 Serial1.println(Komenda_AT);
 delay(czas_czekania);
 while (Serial1.available() > 0)
 {
   if (Serial1.find(Odpowiedz_AT)) return 1;
 }
 return 0;
}

Poproszę o pomoc bo już po kilku dniach zabrakło mi pomysłów.
Pozdr.
Jeżeli pomogłem, to poproszę o punkt reputacji Big Grin
 
Odpowiedź
  


Wiadomości w tym wątku
ESP8266 - Nie ładuje się strona z internetu - przez ANT - 08-07-2018, 14:27

Skocz do:


Przeglądający: 1 gości