#ifndef __WIFI_NET_H__ #define __WIFI_NET_H__ #if defined(ESP8266) #include //https://github.com/esp8266/Arduino #include #else #include #endif #include #include #include #include //https://github.com/tzapu/WiFiManager #include "Network.h" class WiFiNet : public Network { private: AsyncWiFiManager* wifiManager; AsyncWebServer* server; DNSServer* dns; const char* hostName = "foo"; public: WiFiNet() : Network() { //server = new AsyncWebServer(80); dns = new DNSServer(); } WiFiNet* use(AsyncWebServer* srv) { server = srv; return this; } WiFiNet* use(WebStack* stack) { server = stack->server; return this; } WiFiNet* init(){} WiFiNet* connect(){ //server = new AsyncWebServer(80); dns = new DNSServer(); wifiManager = new AsyncWiFiManager(server, dns); wifiManager->autoConnect(/* apName, apPassword */); Serial.println("Hostname: " + String(hostName)); WiFi.hostname(hostName); startMDNS(); return this; } void startMDNS(){ if (!MDNS.begin(hostName)) { Serial.println("Error setting up MDNS responder!"); } else { Serial.println("mDNS responder started"); MDNS.addService("http", "tcp", 80); } } }; #endif