Inhoudsopgave:

Klasse om de configuratie in de ESP32 EEPROM te beheren: 5 stappen:
Klasse om de configuratie in de ESP32 EEPROM te beheren: 5 stappen:

Video: Klasse om de configuratie in de ESP32 EEPROM te beheren: 5 stappen:

Video: Klasse om de configuratie in de ESP32 EEPROM te beheren: 5 stappen:
Video: How to use ESP32 WiFi and Bluetooth with Arduino IDE full details with examples and code 2024, December
Anonim
Klasse om de configuratie in de ESP32 EEPROM te beheren
Klasse om de configuratie in de ESP32 EEPROM te beheren

Hallo, ik wil alle klassen die ik heb ontwikkeld met u delen en het vereenvoudigt de taak van het toevoegen van configuratie-informatie op ESP32-apparaten.

De klas heeft de volgende doelstellingen:

  1. Vergemakkelijk het creëren van een configuratiesysteem op ESP32-apparaten.
  2. Het heeft een configuratiemenu.
  3. Verificatie of het apparaat geen configuratie heeft, in welk geval het naar de configuratiemodus gaat.
  4. Stel een pin in om de toegang tot het configuratiemenu te activeren. Door die pin met aarde te verbinden wanneer het apparaat start, lijkt de mogelijkheid om het configuratiemenu te openen.
  5. Beveilig het setup-menu met een wachtwoord.

Stap 1: Broncode

Deze bestanden bevatten de broncode van de klasse "Configuracion", om deze te kunnen gebruiken volgt u de volgende stappen:

  1. Open de map met bibliotheken in de map waarin arduino is geïnstalleerd.
  2. Maak een map aan met de naam "Configuratie".
  3. Kopieer de drie bestanden naar de map "Configuracion".

Stap 2: Methoden van de "Configuracion" Class

De methoden die de klasse heeft zijn de volgende:

static void declararPropiedad(String name, String initialValue);

Beschrijving

Declareer de eigenschappen en hun beginwaarde.

Parameters:

  • name: Naam van de eigenschap, deze letterlijke waarde wordt weergegeven in de configuratiemenu's.
  • initialValue: waarde die standaard wordt toegewezen bij de eerste keer inschakelen van het apparaat.

statische ongeldige iniciar (int grootte, int PIN);

Beschrijving

Lees de waarden van de configuratie-eigenschappen uit de EEPROM. Als het niet wordt gestart, wordt het initialisatieproces gestart. Voordat u deze methode aanroept, moet u de namen van de eigenschappen definiëren met behulp van de methode declararPropiedad.

Parameters:

  • size: Maximaal aantal bytes dat in de EEPROM kan worden gebruikt.
  • PIN: PIN van de ESP32-kaart die, indien aangesloten op GND, toegang geeft tot het configuratiemenu.

statische String leerPropiedad(String naam);

Beschrijving

Haal de waarde op die in de eigenschap is opgeslagen.

Parameters:

naam: Naam van het onroerend goed waarvan u de waarde wilt verkrijgen

statische String leerPropiedad(int positie);

Beschrijving

Haal de waarde op die in de eigenschap is opgeslagen.

Parameters:

positie: nummer van de positie van het onroerend goed waarvan u de waarde wilt verkrijgen. De eerste woning heeft positie 1, de tweede 2, …

Stap 3: Hoe de "Configuracion"-klasse te gebruiken?

In dit voorbeeld willen we de SSID en het wachtwoord opslaan van de router waarmee we onze ESP32 willen verbinden.

Aan het begin van het setup-blok initialiseren we de twee eigenschappen die we willen opslaan in de WIFI_SSID en WIFI_PASSWORD-configuratie. Vervolgens roepen we de methode iniciar aan met de waarden 1024 en CONFIGURACION_PIN (die de waarde 13 heeft). Met deze 3 regels kunt u met de klasse de waarden van de twee eigenschappen beheren, we kunnen ze op elk moment wijzigen.

Maak een nieuw project in de Arduino IDE en voer de volgende broncode in.

#include "Configuratie.h"

#define CONFIGURACION_PIN 13 /* PIN van de ESP32-kaart die, wanneer verbonden met GND, ons de mogelijkheid geeft om het configuratiemenu te openen. */ void setup() { Serial.begin(115200); /* * Configuratie, de ingevoerde waarden worden behandeld als standaardwaarden. * De standaardwaarden worden pas van kracht wanneer u het apparaat voor het eerst opstart. */ Configuratie::declararPropiedad("WIFI_SSID", ""); Configuratie::declararPropiedad("WIFI_PASSWORD", "123456"); Configuratie::iniciar(1024, CONFIGURACION_PIN); /* TODO */ Serial.println ("WIFI_SSID-waarde is " + Configuracion::leerPropiedad ("WIFI_SSID")); } void loop() { // plaats hier je hoofdcode, om herhaaldelijk uit te voeren: }

Stap 4: Voer het voorbeeld voor de eerste keer uit

Voer het voorbeeld voor de eerste keer uit
Voer het voorbeeld voor de eerste keer uit
Voer het voorbeeld voor de eerste keer uit
Voer het voorbeeld voor de eerste keer uit
Voer het voorbeeld voor de eerste keer uit
Voer het voorbeeld voor de eerste keer uit
Voer het voorbeeld voor de eerste keer uit
Voer het voorbeeld voor de eerste keer uit

In de screenshots in deze stap laat je zien wat de klas doet.

Bij de eerste controle dat het apparaat niet is geïnitialiseerd en om het wachtwoord vraagt, zetten we QWERTY en verzenden.

De tweede afbeelding toont de parameters en hun waarden, aangezien we kunnen zien dat de enige parameter met een initiële waarde WIFI_PASSWORD is. We zullen een waarde voor WIFI_SSID invoeren, 2 invoeren en op verzenden drukken.

Het vraagt ons om een waarde in te voeren voor WIFI_SSID, typ Mi_wifi en druk op verzenden, het resultaat staat in de derde afbeelding.

We voeren S in en verzenden om af te sluiten, het toont ons de zin "SETTING OUT" en toont ons de waarde van de WIFI_SSID-parameter zoals we in het voorbeeld hebben geprogrammeerd. De laatste afbeelding toont het resultaat.

Stap 5: Voer de configuratie de volgende keer in

Voer de configuratie de volgende keer in
Voer de configuratie de volgende keer in

Om de configuratie te openen, is het noodzakelijk om PIN 13 met GND te verbinden, bij het starten van het bord toont het ons een voortgangsbalk voor een paar seconden, druk op verzenden en vraag om het wachtwoord.

Voer QWERTY in en druk op verzenden.

Nu toont het ons het hoofdconfiguratiemenu zoals de afbeelding laat zien.

Dit menu stelt ons in staat om:

Optie 1, toon de waarden van de parameters.

Optie 2, bewerk eigenschapswaarden, zoals gezien in de vorige stap.

Optie 3, verwijder alle configuratie, bij het starten van het apparaat zou doen wat we in de vorige stap hebben gezien.

Optie S, uitstappen.

Aanbevolen: