dima744
New member
Всем доброго времени суток!
принимайте новичка
появилась пара вопросов:
1. код работает загрузить новую прошивку через wifi-webupdate получается, но только если подключится к сети которую создала сама esp-шка, через мой домашний вай фай
обновить прошивку получается, но очень редко, антивирусы и файрволы отключены.
2. как вывести отладочные сообщения?
код
при компиляции выдает ошибки вида
Заранее спасибо!
принимайте новичка
появилась пара вопросов:
1. код работает загрузить новую прошивку через wifi-webupdate получается, но только если подключится к сети которую создала сама esp-шка, через мой домашний вай фай
обновить прошивку получается, но очень редко, антивирусы и файрволы отключены.
2. как вывести отладочные сообщения?
код
Код:
httpUpdater.onStart(update_started);
httpUpdater.onEnd(update_finished);
httpUpdater.onProgress(update_progress);
httpUpdater.onError(update_error);
D:\Arduino my\MEGA+ESP\UPDATE7\update_ver_7\update_ver_7.ino: In function 'void setup()':
update_ver_7:85:29: error: 'using ESP8266HTTPUpdateServer = class esp8266httpupdateserver::ESP8266HTTPUpdateServerTemplate<WiFiServer>' has no member named 'onStart'
httpUpdater.onStart(update_started);
Код:
//подключим бибилиотеки
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>
#include <ESP8266HTTPUpdateServer.h>
// явки пароли
#define APSSID "newk" //AP SSID
#define APPASSWORD "iamtheone" //AP password
#define SERVERPORT 80 //Web server port
#define WWWUSERNAME "admin" // Set www user name
#define WWWPASSWORD "admin" // Set www user password
#define OTAUSER "admin" // Set OTA user
#define OTAPASSWORD "admin" // Set OTA password
#define OTAPATH "/firmware"// Set path for update
//Setup classes needed from libraries.
MDNSResponder mdns;
ESP8266WebServer server(SERVERPORT);
ESP8266HTTPUpdateServer httpUpdater;
// версия нашего скретча
const char* VerID = "Firmware version 7-0-04";
void setup()
{
delay(3000);
Serial.begin(74880); // потому как инфа о плате вываливается на этой скорости
Serial.println();
Serial.setDebugOutput(true);
Serial.print("Booting Sketch :");
Serial.println(VerID);
Serial.print("ChipId :");
Serial.println(String(ESP.getChipId()));
Serial.print("SdkVersion :");
Serial.println(String(ESP.getSdkVersion()));
Serial.print("SketchSize :");
Serial.println(String(ESP.getSketchSize()));
Serial.print("FreeSketchSpace :");
Serial.println(String(ESP.getFreeSketchSpace()));
Serial.print("Connecting to :");
Serial.println(APSSID);
Serial1.setDebugOutput(true);
WiFi.mode(WIFI_AP_STA);
WiFi.begin(APSSID, APPASSWORD);
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
Serial.print(".");
Serial.println(WiFi.status());
delay(500);
}
Serial.print("IP: ");
Serial.println(WiFi.localIP());
if (mdns.begin("esp8266", WiFi.localIP()))
{
Serial.println("MDNS: Responder Started");
}
//Setup HTTP Server Endpoints
server.on("/", HTTP_GET, handleGET);
server.on("/device", HTTP_POST, handleStatePOST);
server.on("/device", HTTP_GET, handleStateGET);
server.onNotFound(handleNotFound);
httpUpdater.setup(&server, OTAPATH, OTAUSER, OTAPASSWORD); //OTA Update endpoint
// Add optional callback notifiers
//Start the web server
server.begin();
httpUpdater.onStart(update_started);
//httpUpdater.onEnd(update_finished);
//httpUpdater.onProgress(update_progress);
//httpUpdater.onError(update_error);
//HTTPUpdater& upload = server.upload();
//Serial.println(String(upload.status));
Serial.println("Server is up.");
if (WiFi.waitForConnectResult() == WL_CONNECTED)
{
} //if (WiFi.waitForConnectResult() == WL_CONNECTED)
} //setup
void update_started() {
Serial.println("CALLBACK: HTTP update process started");
}
void update_finished() {
Serial.println("CALLBACK: HTTP update process finished");
}
void update_progress(int cur, int total) {
Serial.printf("CALLBACK: HTTP update process at %d of %d bytes...\n", cur, total);
}
void update_error(int err) {
Serial.printf("CALLBACK: HTTP update fatal error code %d\n", err);
}
void handleNotFound()
{
server.send(404, "text/plain", "404: Not found");
}
void handleGET()
{
Serial.println("Serviced Page Request");
String buff;
buff = "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n";
buff += "<html><head>\n";
buff += "<style type=\"text/css\">\n";
buff += "html {font-family: sans-serif;background:#f0f5f5}\n";
buff += ".submit {width: 10%; height:5vw; font-size: 100%; font-weight: bold; border-radius: 4vw;}\n";
buff += "@media (max-width: 1281px) {\n";
buff += "html {font-size: 3vw; font-family: sans-serif;background:#f0f5f5}\n";
buff += ".submit {width: 40%; height:20vw; font-size: 100%; font-weight: bold; border-radius: 15vw;}}\n";
buff += "</style>\n";
buff += "<meta content=\"text/html; charset=utf-8\">\n";
buff += "<title>ESP+MEGA</title></head><body>\n"; //title страницы
buff += "Wifi-enabled IIoT Power Switch\n"; //текст страницы
//buff += "<form action=\"/device\" method=\"POST\">\n";
buff += "<h2>Device ID: " + String(ESP.getChipId()) + "</h2>\n"; //заголовки c Device ID
buff += "<h2>"+String(VerID)+"</h2>\n"; //заголовки c Firmware
//buff += "</form></body></html>\n";
buff += "</body></html>\n";
server.send(200, "text/html", buff);
delay(20);
} //void handleGET()
void handleStatePOST()
{
/* request for www user/password from client */
if (!server.authenticate(WWWUSERNAME, WWWPASSWORD))
return server.requestAuthentication();
//if (server.arg("state") == "ON") setRelay(true);
//if (server.arg("state") == "OFF") setRelay(false);
//Redirect to home page is user requests it.
if (server.arg("return") == "TRUE") handleGET();
else handleStateGET();
}
void handleStateGET()
{
//Serve Page
Serial.println("Serviced API Request");
String buff;
buff = "handleStateGET page\n";
server.send(200, "text/html", buff);
} //void handleStateGET()
void loop()
{
server.handleClient(); // Listen for HTTP request
delay(1);
}
Заранее спасибо!