INHOUDSOPGAWE:

Klas om die konfigurasie in die ESP32 EEPROM te bestuur: 5 stappe
Klas om die konfigurasie in die ESP32 EEPROM te bestuur: 5 stappe

Video: Klas om die konfigurasie in die ESP32 EEPROM te bestuur: 5 stappe

Video: Klas om die konfigurasie in die ESP32 EEPROM te bestuur: 5 stappe
Video: Output DC or AC Voltage using MCP4725 DAC with LCD and PWM to Voltage Converter with Arduino 2024, Desember
Anonim
Klas om die konfigurasie in die ESP32 EEPROM te bestuur
Klas om die konfigurasie in die ESP32 EEPROM te bestuur

Hallo, ek wil die hele klas wat ek ontwikkel het met u deel, en dit vergemaklik die taak om konfigurasie -inligting op ESP32 -toestelle by te voeg.

Die klas het die volgende doelwitte:

  1. Maak die oprigting van 'n konfigurasiestelsel op ESP32 -toestelle moontlik.
  2. Dit het 'n konfigurasie spyskaart.
  3. Verifikasie of die toestel is, het geen konfigurasie nie, in welke geval dit in die konfigurasiemodus gaan.
  4. Stel 'n speld in om die toegang tot die konfigurasie -kieslys te aktiveer. As u die pen met die grond verbind wanneer die toestel begin, blyk dit dat u die konfigurasie -kieslys kan binnegaan.
  5. Beskerm die instellingsmenu met 'n wagwoord.

Stap 1: Bronkode

Hierdie lêers bevat die bronkode van die "Configuracion" -klas, om die volgende stappe te kan gebruik:

  1. Open die gids biblioteke in die gids waarin arduino geïnstalleer is.
  2. Skep 'n gids met die naam "Configuracion".
  3. Kopieer die drie lêers na die gids "Configuracion".

Stap 2: Metodes van die "Configuracion" -klas

Die metodes wat die klas het, is die volgende:

static void declararPropiedad (String name, String initialValue);

Beskrywing

Gee die eiendomme en hul aanvanklike waarde aan.

Grense

  • naam: Naam van die eiendom, hierdie letter sal in die konfigurasie -spyskaarte vertoon word.
  • initialValue: Waarde wat standaard toegeken word op die eerste krag van die toestel.

statiese leemte nie bekend nie (int grootte, int PIN);

Beskrywing

Lees die waardes van die konfigurasie -eienskappe uit die EEPROM. As dit nie begin word nie, begin dit met die inisialiseringsproses. Voordat u hierdie metode aanroep, moet u die name van die eiendomme definieer met behulp van die metode declararPropiedad.

Grense

  • grootte: maksimum aantal grepe wat in die EEPROM gebruik moet word.
  • PIN: PIN van die ESP32 -kaart wat, wanneer dit aan GND gekoppel is, die konfigurasiekieslys kan betree.

static String leerPropiedad (string string);

Beskrywing

Kry die waarde wat in die eiendom gestoor word.

Grense

naam: Naam van die eiendom waaruit u die waarde daarvan wil verkry

static String leerPropiedad (int position);

Beskrywing

Kry die waarde wat in die eiendom gestoor word.

Grense

posisie: nommer van die posisie van die eiendom waaruit u die waarde daarvan wil verkry. Die eerste eiendom het posisie 1, die tweede 2, …

Stap 3: Hoe om die "Configuracion" -klas te gebruik

In hierdie voorbeeld wil ons die SSID en wagwoord van die router stoor waarmee ons ons ESP32 wil koppel.

Aan die begin van die opstelblok initialiseer ons die twee eienskappe wat ons wil stoor in die WIFI_SSID- en WIFI_PASSWORD -opset. Dan noem ons die metode met die waardes 1024 en CONFIGURACION_PIN (wat die waarde 13 het). Met hierdie 3 reëls kan u met die klas die waardes van die twee eiendomme bestuur; ons kan dit te eniger tyd verander.

Skep 'n nuwe projek in die Arduino IDE en voer die volgende bronkode in.

#sluit "Configuracion.h" in

#define CONFIGURACION_PIN 13 /* PIN van die ESP32 -bord, wat ons, wanneer dit aan GND gekoppel is, die moontlikheid gee om die konfigurasiekieslys te betree. */ ongeldige opstelling () {Serial.begin (115200); / * * Opstelling, die ingevoerde waardes word as standaardwaardes behandel. * Die standaardwaardes tree eers in werking wanneer u die toestel die eerste keer begin. */ Konfigurasie:: declararPropiedad ("WIFI_SSID", ""); Opstelling:: declararPropiedad ("WIFI_PASSWORD", "123456"); Konfigurasie:: iniciar (1024, CONFIGURACION_PIN); / * TODO */ Serial.println ("WIFI_SSID waarde is" + Configuracion:: leerPropiedad ("WIFI_SSID")); } void loop () {// plaas u hoofkode hier om herhaaldelik te laat loop:}

Stap 4: voer die voorbeeld vir die eerste keer uit

Begin die voorbeeld vir die eerste keer
Begin die voorbeeld vir die eerste keer
Begin die voorbeeld vir die eerste keer
Begin die voorbeeld vir die eerste keer
Begin die voorbeeld vir die eerste keer
Begin die voorbeeld vir die eerste keer
Begin die voorbeeld vir die eerste keer
Begin die voorbeeld vir die eerste keer

In die skermkiekies wat in hierdie stap is, wys wat die klas doen.

In die eerste keer dat die toestel nie geïnitialiseer is nie en vra vir die wagwoord, plaas ons QWERTY en stuur dit.

Die tweede prent toon die parameters en hul waardes, aangesien ons die enigste parameter met 'n aanvanklike waarde kan sien, is WIFI_PASSWORD. Ons sal 'n waarde vir WIFI_SSID invoer, 2 invoer en op stuur.

Dit vra ons om 'n waarde in te voer vir WIFI_SSID, tik Mi_wifi en druk stuur, die resultaat is in die derde prentjie.

Ons voer S in en stuur om te verlaat; dit wys ons die frase "INSTELLING" en wys ons die waarde van die WIFI_SSID -parameter soos ons in die voorbeeld geprogrammeer het. Die laaste prentjie toon die resultaat.

Stap 5: Voer die konfigurasie die volgende keer in

Voer die konfigurasie die volgende keer in
Voer die konfigurasie die volgende keer in

Om die konfigurasie te betree, is dit nodig om PIN 13 aan GND te koppel. By die aanvang van die bord wys ons 'n paar sekondes 'n vorderingsbalk, druk stuur en vra vir die wagwoord.

Voer QWERTY in en druk stuur.

Dit wys ons nou die hoofkonfigurasie -kieslys soos die prentjie wys.

Hierdie spyskaart stel ons in staat om:

Opsie 1, wys die waardes van die parameters.

Opsie 2, wysig eiendomswaardes, soos in die vorige stap gesien.

Opsie 3, verwyder alle konfigurasies, as u die toestel begin, sal u doen wat ons in die vorige stap gesien het.

Opsie S, afrit.

Aanbeveel: