Files
sprocket-core/src/WiFiNet.h

49 lines
1.3 KiB
C++

#ifndef __WIFI_NET_H__
#define __WIFI_NET_H__
#if defined(ESP8266)
#include <ESP8266WiFi.h> //https://github.com/esp8266/Arduino
#include <ESP8266mDNS.h>
#else
#include <WiFi.h>
#endif
#include <WebStack.h>
#include <DNSServer.h>
#include <ESPAsyncWebServer.h>
#include <ESPAsyncWiFiManager.h> //https://github.com/tzapu/WiFiManager
class WiFiNet {
private:
AsyncWiFiManager* wifiManager;
AsyncWebServer* server;
DNSServer* dns;
const char* hostName = "foo";
public:
WiFiNet(){
//server = new AsyncWebServer(80);
dns = new DNSServer();
}
WiFiNet* use(WebStack* stack) {
server = stack->server;
return this;
}
void connect(/* char const *apName, char const *apPassword */){
wifiManager = new AsyncWiFiManager(server, dns);
wifiManager->autoConnect(/* apName, apPassword */);
Serial.println("Hostname: " + String(hostName));
WiFi.hostname(hostName);
startMDNS();
}
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