Inhaltsverzeichnis:

Klasse zum Verwalten der Konfiguration im ESP32 EEPROM - Gunook
Klasse zum Verwalten der Konfiguration im ESP32 EEPROM - Gunook

Video: Klasse zum Verwalten der Konfiguration im ESP32 EEPROM - Gunook

Video: Klasse zum Verwalten der Konfiguration im ESP32 EEPROM - Gunook
Video: Microsoft Teams 365 für Lehrer - Klasse anlegen, Daten, Aufgaben und Gruppen zuweisen 2024, Juli
Anonim
Klasse zum Verwalten der Konfiguration im ESP32 EEPROM
Klasse zum Verwalten der Konfiguration im ESP32 EEPROM

Hallo, ich möchte mit Ihnen alle von mir entwickelten Klassen teilen, die das Hinzufügen von Konfigurationsinformationen zu ESP32-Geräten vereinfachen.

Die Klasse hat folgende Ziele:

  1. Erleichtern Sie die Erstellung eines Konfigurationssystems auf ESP32-Geräten.
  2. Es hat ein Konfigurationsmenü.
  3. Überprüfung, ob das Gerät keine Konfiguration hat, in diesem Fall wechselt es in den Konfigurationsmodus.
  4. Setzen Sie einen Pin, um den Einstieg in das Konfigurationsmenü zu aktivieren. Wenn Sie diesen Pin beim Starten des Geräts mit Masse verbinden, erscheint die Möglichkeit, das Konfigurationsmenü aufzurufen.
  5. Schützen Sie das Setup-Menü mit einem Passwort.

Schritt 1: Quellcode

Diese Dateien enthalten den Quellcode der Klasse "Configuracion", um diese verwenden zu können, gehen Sie wie folgt vor:

  1. Öffnen Sie in dem Ordner, in dem arduino installiert ist, den Ordner Bibliotheken.
  2. Erstellen Sie einen Ordner mit dem Namen "Configuracion".
  3. Kopieren Sie die drei Dateien in den Ordner "Configuracion".

Schritt 2: Methoden der Klasse "Configuracion"

Die Methoden, die die Klasse hat, sind die folgenden:

static void declararPropiedad(String name, String initialValue);

Beschreibung

Deklarieren Sie die Eigenschaften und ihren Anfangswert.

Parameter

  • name: Name der Eigenschaft, dieses Literal wird in den Konfigurationsmenüs angezeigt.
  • initialValue: Wert, der standardmäßig beim ersten Einschalten des Geräts zugewiesen wird.

statisches Leerzeichen (int size, int PIN);

Beschreibung

Lesen Sie die Werte der Konfigurationseigenschaften aus dem EEPROM. Wenn es nicht gestartet ist, startet es den Initialisierungsprozess. Vor dem Aufruf dieser Methode müssen Sie die Namen der Eigenschaften mit der Methode declararPropiedad definieren.

Parameter

  • size: Maximale Anzahl von Bytes, die im EEPROM verwendet werden sollen.
  • PIN: PIN der ESP32-Karte, die bei Anschluss an GND den Zugang zum Konfigurationsmenü ermöglicht.

static String leerPropiedad(Stringname);

Beschreibung

Rufen Sie den in der Eigenschaft gespeicherten Wert ab.

Parameter

name: Name der Eigenschaft, deren Wert Sie abrufen möchten

static String leerPropiedad(int Position);

Beschreibung

Rufen Sie den in der Eigenschaft gespeicherten Wert ab.

Parameter

position: Nummer der Position der Immobilie, von der Sie ihren Wert beziehen möchten. Die erste Eigenschaft hat Position 1, die zweite 2, …

Schritt 3: So verwenden Sie die Klasse "Configuracion"

In diesem Beispiel möchten wir die SSID und das Passwort des Routers speichern, mit dem sich unser ESP32 verbinden soll.

Am Anfang des Setup-Blocks initialisieren wir die beiden Eigenschaften, die wir in der Konfiguration WIFI_SSID und WIFI_PASSWORD speichern wollen. Dann rufen wir die Methode iniciar mit den Werten 1024 und CONFIGURACION_PIN (die den Wert 13 hat) auf. Mit diesen 3 Zeilen ermöglicht die Klasse die Verwaltung der Werte der beiden Eigenschaften, wir können sie jederzeit ändern.

Erstellen Sie ein neues Projekt in der Arduino IDE und geben Sie den folgenden Quellcode ein.

#include "Configuracion.h"

#define CONFIGURACION_PIN 13 /* PIN der ESP32-Platine, die uns, wenn sie mit GND verbunden ist, die Möglichkeit gibt, in das Konfigurationsmenü zu gelangen. */void setup () { Serial.begin (115200); /* * Konfiguration, die eingegebenen Werte werden als Standardwerte behandelt. * Die Standardwerte werden erst beim ersten Start des Geräts wirksam. */ Konfiguration::declararPropiedad("WIFI_SSID", ""); Konfiguration::declararPropiedad("WIFI_PASSWORD", "123456"); Konfiguration::iniciar(1024, CONFIGURACION_PIN); /* TODO */ Serial.println("WIFI_SSID Wert ist" + Configuracion::leerPropiedad("WIFI_SSID")); } void loop() {// füge deinen Hauptcode hier ein, um ihn wiederholt auszuführen: }

Schritt 4: Führen Sie das Beispiel zum ersten Mal aus

Führen Sie das Beispiel zum ersten Mal aus
Führen Sie das Beispiel zum ersten Mal aus
Führen Sie das Beispiel zum ersten Mal aus
Führen Sie das Beispiel zum ersten Mal aus
Führen Sie das Beispiel zum ersten Mal aus
Führen Sie das Beispiel zum ersten Mal aus
Führen Sie das Beispiel zum ersten Mal aus
Führen Sie das Beispiel zum ersten Mal aus

In den Screenshots in diesem Schritt zeigen Sie, was die Klasse macht.

Bei der ersten Überprüfung, dass das Gerät nicht initialisiert ist und nach dem Passwort fragt, setzen wir QWERTY und senden.

Das zweite Bild zeigt die Parameter und ihre Werte, da der einzige Parameter mit einem Anfangswert WIFI_PASSWORD ist. Wir geben einen Wert für WIFI_SSID ein, geben 2 ein und drücken auf Senden.

Es fordert uns auf, einen Wert für WIFI_SSID einzugeben, Mi_wifi einzugeben und auf Senden zu drücken. Das Ergebnis ist im dritten Bild.

Wir geben S ein und senden an exit, es zeigt uns die Phrase "SETTING OUT" und zeigt uns den Wert des WIFI_SSID-Parameters, wie wir ihn im Beispiel programmiert haben. Das letzte Bild zeigt das Ergebnis.

Schritt 5: Geben Sie die Konfiguration das nächste Mal ein

Geben Sie die Konfiguration das nächste Mal ein
Geben Sie die Konfiguration das nächste Mal ein

Um in die Konfiguration zu gelangen, muss PIN 13 mit GND verbunden werden. Beim Start des Boards zeigt es uns für einige Sekunden einen Fortschrittsbalken an, drücken Sie auf Senden und fragen Sie nach dem Passwort.

Geben Sie QWERTY ein und drücken Sie Senden.

Jetzt zeigt es uns das Hauptkonfigurationsmenü, wie das Bild zeigt.

Dieses Menü ermöglicht uns:

Option 1 zeigt die Werte der Parameter an.

Option 2: Bearbeiten Sie die Eigenschaftswerte, wie im vorherigen Schritt gezeigt.

Option 3, löschen Sie die gesamte Konfiguration, wenn das Gerät beim Starten das tun würde, was wir im vorherigen Schritt gesehen haben.

Option S, Ausfahrt.

Empfohlen: