ElegantOTA.h 1006 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #ifndef ElegantOTA_h
  2. #define ElegantOTA_h
  3. #if defined(ESP8266)
  4. #include "Arduino.h"
  5. #include "stdlib_noniso.h"
  6. #include "elegantWebpage.h"
  7. #endif
  8. #if defined(ESP8266)
  9. #define HARDWARE "ESP8266"
  10. #include "ESP8266WiFi.h"
  11. #include "WiFiClient.h"
  12. #include "ESP8266WebServer.h"
  13. #include "ESP8266HTTPUpdateServer.h"
  14. #endif
  15. class ElegantOtaClass{
  16. public:
  17. #if defined(ESP8266)
  18. void begin(ESP8266WebServer *server){
  19. _server = server;
  20. _server->on("/update", HTTP_GET, [&](){
  21. _server->sendHeader("Content-Encoding", "gzip");
  22. _server->send_P(200, "text/html", (const char*)ELEGANT_HTML, ELEGANT_HTML_SIZE);
  23. });
  24. _httpUpdater.setup(server);
  25. }
  26. #endif
  27. private:
  28. #if defined(ESP8266)
  29. ESP8266WebServer *_server;
  30. ESP8266HTTPUpdateServer _httpUpdater;
  31. #endif
  32. };
  33. ElegantOtaClass ElegantOTA;
  34. #endif