Added Wifi Client Mode

This commit is contained in:
Marcel Peterkau 2021-06-13 23:15:53 +02:00
parent 6bc0e394ac
commit 349cfed864
3 changed files with 37 additions and 3 deletions

View File

@ -16,8 +16,12 @@ board_build.f_flash = 80000000L
board_build.ldscript = eagle.flash.4m1m.ld
build_flags=
-D WIFI_SSID='"Dark Emergency CTF Timer"'
-D WIFI_PASS='"CaptureTheFlag"'
-D WIFI_CLIENT
-D WIFI_SSID='"BND_Scanner_#42"'
-D WIFI_PASS='"5xMYkerbLMdrsSdF3hpy5DM9"'
;-D WIFI_AP
;-D WIFI_SSID='"Dark Emergency CTF Timer"'
;-D WIFI_PASS='"CaptureTheFlag"'
-D FACTION_1_NAME='"GOF"'
-D FACTION_2_NAME='"MILIZ"'
-D FACTION_3_NAME='"KGG"'

View File

@ -1,6 +1,14 @@
#ifndef _DEFAULTS_H_
#define _DEFAULTS_H_
#ifndef WIFI_CLIENT
#define WIFI_AP
#endif
#if defined(WIFI_CLIENT) && defined(WIFI_AP)
#error "You can't define AP and CLIENT at the same Time!"
#endif
#ifndef WIFI_SSID
#define WIFI_SSID "3 Factions CTF Timer"
#endif

View File

@ -7,9 +7,11 @@
#ifdef ESP32
#include <WiFi.h>
#include <AsyncTCP.h>
#include <WiFiMulti.h>
#elif defined(ESP8266)
#include <ESP8266WiFi.h>
#include <ESPAsyncTCP.h>
#include <ESP8266WiFiMulti.h>
#endif
#include <ESPAsyncWebServer.h>
#include <LittleFS.h>
@ -51,6 +53,10 @@ Adafruit_INA219 ina219;
WiFiEventHandler stationConnectedHandler;
WiFiEventHandler stationDisconnectedHandler;
#ifdef WIFI_CLIENT
ESP8266WiFiMulti wifiMulti;
#endif
#ifdef CAPTIVE
DNSServer dnsServer;
#endif
@ -355,16 +361,32 @@ void setup()
LittleFS.begin();
WiFi.persistent(false);
#ifdef WIFI_AP
WiFi.mode(WIFI_AP);
WiFi.softAP(WIFI_SSID, WIFI_PASS);
stationConnectedHandler = WiFi.onSoftAPModeStationConnected(&onStationConnected);
stationDisconnectedHandler = WiFi.onSoftAPModeStationDisconnected(&onStationDisconnected);
#else
WiFi.mode(WIFI_STA);
wifiMulti.addAP(WIFI_SSID, WIFI_PASS);
Serial.println("Connecting Wifi...");
if (wifiMulti.run() == WL_CONNECTED)
{
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.print(WiFi.localIP());
}
#endif
#ifdef CAPTIVE
dnsServer.start(53, "*", WiFi.softAPIP());
#endif
server.addHandler(new CaptiveRequestHandler()).setFilter(ON_AP_FILTER); //only when requested from AP
server.addHandler(new CaptiveRequestHandler());
server.begin();
FactionTicker.start();