Library für ESP01 Webserver STM32F103RB Nucleo
Dependents: Nucleo_dht11_Webserver WebServerGSOEWorkshopSlider WebServerGSOEWorkshopDynamisch WebServerGSOEWorkshopStatisch ... more
Diff: ESP8266Webserver.cpp
- Revision:
- 17:87c762acb8d0
- Parent:
- 16:b09391fb73b4
- Child:
- 19:e0bcbb2a3480
--- a/ESP8266Webserver.cpp Tue Jun 22 07:45:32 2021 +0000 +++ b/ESP8266Webserver.cpp Tue Jun 22 09:58:10 2021 +0000 @@ -3,6 +3,7 @@ ESP8266Webserver::ESP8266Webserver() { + bool erg; //HAL_Delay(1000); hs_count=0; clientIdx=0; @@ -12,20 +13,18 @@ dbg=pDebug; _serial = new BufferedSerial(tx,rx, ESP8266_DEFAULT_BAUD_RATE); _parser = new ATCmdParser(_serial, "\r\n"); - _parser->debug_on(false);//pDebug); + _parser->debug_on(true); - _parser->set_timeout(1000); + _parser->set_timeout(2000); //AT if (pDebug) printf("\nATCmdParser: AT\r\n"); _parser->send("AT"); - - //HAL_Delay(1000); if (_parser->recv("OK")) { if (pDebug) printf("\nAntw.: OK\r\n"); } else { - if (pDebug) printf("\nATCmdParser: OK failed\r\n"); + printf("\nATCmdParser: AT OK failed\r\n"); } if (station==true) @@ -37,50 +36,44 @@ _parser->send("ATE0"); strcpy(ipadr,ip); - //HAL_Delay(300); - //AT+CWMODE=1 if (pDebug) printf("\nATCmdParser: //AT+CWMODE=2 \r\n"); + _parser->send("AT+CWMODE=2"); + HAL_Delay(1000); if (_parser->recv("OK")) { if (pDebug) printf("\nAntw.: OK\r\n"); } else { - if (pDebug) printf("\nATCmdParser: OK failed\r\n"); + printf("\nATCmdParser: AT+CWMODE=2 OK failed\r\n"); } //AT+CWMODE? if (pDebug) printf("\nATCmdParser: //AT+CWMODE? \r\n"); + _parser->send("AT+CWMODE?"); if (_parser->recv("OK")) { if (pDebug) printf("\nAntw.: OK\r\n"); } else { - if (pDebug) printf("\nATCmdParser: OK failed\r\n"); - } - - -//AT+CIFSR - if (pDebug) printf("\nATCmdParser: //AT+CIFSR \r\n"); - _parser->send("AT+CIFSR"); - - if (_parser->recv("OK")) { - if (pDebug) printf("\nAntw.: OK\r\n"); - } else { - if (pDebug) printf("\nATCmdParser: OK failed\r\n"); + printf("\nATCmdParser: AT+CWMODE? OK failed\r\n"); } - - - + +//AT+CIPAP="192.168.5.1","192.168.5.1","255.255.255.0" if (pDebug) printf("\nATCmdParser: //AT+CIPAP=\"%s\",\"%s\",\"%s\" \r\n",ipad.c_str(),ipad.c_str(),netzmaske); - - _parser->send("AT+CIPAP=\"%s\",\"%s\",\"%s\"",ipad.c_str(),ipad.c_str(),netzmaske); + do + { + _parser->send("AT+CIPAP=\"%s\",\"%s\",\"%s\"",ipad.c_str(),ipad.c_str(),netzmaske); + erg=_parser->recv("OK"); + if (erg==true) { + if (pDebug) printf("\nAntw.: OK\r\n"); + } else { + printf("\nATCmdParser: AT+CIPAP OK failed\r\n"); + HAL_Delay(1000); + } + } + while (erg==false); - if (_parser->recv("OK")) { - if (pDebug) printf("\nAntw.: OK\r\n"); - } else { - if (pDebug) printf("\nATCmdParser: OK failed\r\n"); - } //AT+CIPMUX=1 @@ -90,13 +83,11 @@ if (_parser->recv("OK")) { if (pDebug) printf("\nAntw.: OK\r\n"); } else { - if (pDebug) printf("\nATCmdParser: OK failed\r\n"); + printf("\nATCmdParser: AT+CIPMUX=1 OK failed\r\n"); } } } - - int ESP8266Webserver::on(const char* handlestring,Callback< void()> func) { if (hs_count>9) return -1; @@ -120,7 +111,7 @@ if (dbg) printf("\nAntw.: OK\r\n"); return 0; } else { - if (dbg) printf("\nATCmdParser: OK failed\r\n"); + printf("\nATCmdParser: AT+CIPSERVER=1 OK failed\r\n"); return -1; } } @@ -245,6 +236,7 @@ int ips[4]; //_parser->debug_on(true); _parser->send("AT+CWMODE=1"); + HAL_Delay(300); while (_parser->recv("OK")==false); HAL_Delay(1000); if (scanAPs==true)