#include #include #include #include #include #include "max80_config.h" #include "max80_web.h" #include "max80_func.h" #include "max80_webcontent.h" #include "max80_gpio.h" static const char TAG[] = __FILE__; extern WiFiClass WiFi; extern AsyncWebServer webserver; extern max80::web max80_web; extern max80::std_max80 max80_std; extern TaskHandle_t OTA_Task ; extern AsyncElegantOtaClass AsyncElegantOTA; extern TaskHandle_t OTA_Task ; extern AsyncWebServer webserver; extern AsyncWebSocket ws("/ws"); static void web_onEvent(AsyncWebSocket *server, AsyncWebSocketClient *client, AwsEventType type,void *arg, uint8_t *data, size_t len) { switch (type) { case WS_EVT_CONNECT: ESP_LOGI(TAG,"WebSocket client #%u connected from %s\n", client->id(), client->remoteIP().toString().c_str()); break; case WS_EVT_DISCONNECT: ESP_LOGI(TAG,"WebSocket client #%u disconnected\n", client->id()); break; case WS_EVT_DATA: ESP_LOGI(TAG,"Handle data"); break; case WS_EVT_PONG: case WS_EVT_ERROR: break; } } namespace max80 { void OTAtask(void * parameter){ AsyncElegantOTA.loop(); ws.cleanupClients(); } void web::initWebSocket() { ws.onEvent(web_onEvent); webserver.addHandler(&ws); } void web::init(){ initWebSocket(); webserver.begin(); AsyncElegantOTA.begin(&webserver); } }