INI WiFiManager

Einfache Möglichkeit verschiedene Zugangsdaten zum Laufzeit einzugeben und zu speichern. Zum Beispiel WLAN, Passwort, MQTT Zugangsdaten, NTP Server. Ich habe das Programm  INI WiFi-Manager genannt, weil die Daten in einer Konfigurationsdatei  im SPIFFS gespeichert werden. Da drin lassen sich alle möglichen Werte und Einstellungen für Ihr Gerät speichern und verwalten. Beim Start des INI WiFi-Managers wird ein Access Point eingerichtet und Sie können mit dem PC oder beliebigen Mobilgerät mit dem Access Point verbinden und über den Browser die Einstellungen Ihres Programms ändern oder ansehen.

  • Speichern von Zugangsdaten und beliebigen Einstellungen in setup.ini in SPIFFS
  • Editieren und einsehen über Webinterface
  • Hochladen (Upload) über Setup Webseite vom Rechner
  • Hochladen als SPIFFS –Daten mit Arduino DIE
  • Bei Verwendung von FTP in Ihrem Projekt, Hochladen über FTP
  • INI-Datei lässt sich gut strukturieren durch Absätze und Kommentare.
  • INI-Datei lässt sich leicht um beliebige Parameter erweitern.
  • Typische Zeile: Hostname =    MeinESP    # URL ist http://MeinESP.local

Funktionsweise von INI WiFiManager

Normaler Start: setup.ini wird Zeile für Zeile gelesen und Variablen mit Werten aus INI-Datei gefühlt.

Setup Modus:  Es wird ein Access Point mit einem Webserver eingerichtet. Die Hauptseite ermöglicht die Konfigurationsdatei  „setup.ini“ zu editieren oder hochzuladen. Auch der Neustart (Reset) über Webinterface kann gemacht werden.

Setup Modus kann auf verschiedene Weisen  gestartet werden.

  • TXD und RXT vom ESP32 sin verbunden während des Starts
  • Vordefinierte Pin mit Masse Verbunden während des Starts. Zum Beispiel GPIO22 (mit LED) beim LOLIN32.
  • Setup Modus startet auch wenn es nicht klappt mit WLAN zu verbinden.
  • Setup Modus startet wenn INI – Datei fehlt oder SPIFFS sind unformatiert. In dem Fall werden SPIFFS automatisch formatiert und die Konfigurationsdatei  „setup.ini“ erzeugt.

Das INI WiFiManager Projekt habe ich in 3 Dateien unterteilt. So wollte ich die Übersichtlichkeit verbessern.

INI.ino – Hauptprogramm und Vorlage für Ihr Projekt.

INIwifimanager.h – Funktionen von WiFiManager

INI_Setup_html.h – Index Webseite Webinterface von WiFiManager

Das Laden der Variablen erfolgt in Funktion „DatenLaden“. Diese Funktion wird beim Lesen jeder Zeile der INI-Datei von INI WiFiManager ausgeführt. Es werden 2 Strings übergeben: Parameter und Wert. Ganz wichtig! Argument wird in  Kleinbuchstaben umgewandelt unabhängig davon wie es in der INI – Datei steht. Also bitte den suchenden Text in Kleinbuchstaben eingeben.

Weitere Möglichkeiten verschiedene Datenarten einzulesen

Zugangsdaten für Setup Modus, wenn noch nichts eingestellt ist, sind
SSID: astral
Passwort: tiramisu
IP: 192.168.4.1
Dass kann aber in der Datei “INIwifimanager.h” in Zeilen 11 und 13 geändert werden.

Quellcode Arduino Sketsh

Download Projekt

Download Arduino Projekt INI WiFiManager, es wird Bibliothek WebServer_tng benötigt.
Hier habe ich für Sie bereits kompiliertes Programm bereitgestellt.
Download INI WIFI-Manager_Firmware Sie haben die Möglichkeit ohne Arduino und ohne jegliche Installation die Firmware (BIN-Datei) in das ESP32-Modul zu laden. Ein Tool und die BAT-Datei  mit Kommandozeilenbefehlen sind im Archiv enthalten. Sie müssen lediglich in der Bath-Datei   den richtigen COM-Port einstellen und dann diese Datei ausführen.


So können Arrays mit Daten gefüllt werden.

Beispiel Relais zum GPIOs Zuordnung

digitalWrite(Relais[2], 1); // Relais 2 einschalten
digitalWrite(Relais[3], 0);  // Relais 3 ausschalten

2 Werte getrennt durch “/” Zeichen einlesen  Zum Beispiel

Zugangsdaten = MeinWiFi/MeinPasswort       # kommentar

Integer, Float, C String einlesen


Zugangsdaten für Mehrere WLAN-Netzwerke anlegen

Das Bibliothek WiFiMulti.h ermöglicht die Eingabe von mehreren Zugangsdaten.
ESP32 verbindet sich mit einem eingetragenen WiFi-Netzwerk. Sind mehrere eingetragene WiFi-Netzwerke in der Reichweite, wird es mit WiFi-Netzwerk mit Stärkstem Signal verbunden.

Inhalt der INI – Datei bei WifiMulti Modus

# WLAN  Einstellungen
Zugangsdaten = Test/Pass
Zugangsdaten = O2Box/4365765467654
Zugangsdaten = kischkin/karamba
Hostname =    MeinESP    # URL ist http://MeinESP.local

Das Wort „Zugangsdaten“ kommt 3 Mal in der setup.ini Datei vor. Es wird entsprechend 3 Mal die Funktion wifiMulti.addAP(wert1.c_str(), wert2.c_str()); ausgeführt. So werden die Zugangsdaten für 3 WiFi – Netzwerke eingetragen.

An das WifiMulti angepasste Setup Funktion.