Innehållsförteckning:
- Steg 1: Källkod
- Steg 2: Metoder i klassen "Konfiguration"
- Steg 3: Så här använder du klassen "Konfiguration"
- Steg 4: Kör exemplet för första gången
- Steg 5: Ange konfigurationen nästa gång
Video: Klass för att hantera konfigurationen i ESP32 EEPROM: 5 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:44
Hej, jag vill dela med mig av hela klassen som jag har utvecklat och det förenklar uppgiften att lägga till konfigurationsinformation på ESP32 -enheter.
Klassen följande mål:
- Underlätta skapandet av ett konfigurationssystem på ESP32 -enheter.
- Den har en konfigurationsmeny.
- Verifiering av om enheten har ingen konfiguration, i så fall går den in i konfigurationsläget.
- Ställ in en nål för att aktivera posten till konfigurationsmenyn. Att ansluta den stiftet till marken när enheten startas visar möjligheten att komma in i konfigurationsmenyn.
- Skydda installationsmenyn med lösenord.
Steg 1: Källkod
Dessa filer innehåller källkoden för "Configuracion" -klassen, för att kunna använda den följer du följande steg:
- Öppna mappen bibliotek i mappen där arduino är installerat.
- Skapa en mapp med namnet "Configuracion".
- Kopiera de tre filerna till mappen "Configuracion".
Steg 2: Metoder i klassen "Konfiguration"
De metoder som klassen har är följande:
static void declararPropiedad (String name, String initialValue);
Beskrivning
Deklarera egenskaperna och deras ursprungliga värde.
Parametrar
- name: Egenskapens namn, denna bokstav kommer att visas i konfigurationsmenyerna.
- initialValue: Värde som tilldelas som standard vid den första strömmen på enheten.
static void iniciar (int size, int PIN);
Beskrivning
Läs värdena för konfigurationsegenskaperna från EEPROM. Om den inte startas startar den initialiseringsprocessen. Innan du ringer den här metoden måste du definiera namnen på egenskaperna med metoden declararPropiedad.
Parametrar
- storlek: Maximalt antal byte som ska användas i EEPROM.
- PIN: PIN för ESP32 -kortet som, när den är ansluten till GND, gör det möjligt att komma in i konfigurationsmenyn.
static String leerPropiedad (Strängnamn);
Beskrivning
Få värdet lagrat i fastigheten.
Parametrar
name: Namn på egenskapen från vilken du vill hämta dess värde
statisk String leerPropiedad (int position);
Beskrivning
Få värdet lagrat i fastigheten.
Parametrar
position: Nummer på positionen för egenskapen från vilken du vill erhålla dess värde. Den första fastigheten har position 1, den andra 2,…
Steg 3: Så här använder du klassen "Konfiguration"
I det här exemplet vill vi lagra SSID och lösenord för routern som vi vill att vår ESP32 ska ansluta till.
I början av installationsblocket initierar vi de två egenskaper som vi vill lagra i WIFI_SSID och WIFI_PASSWORD -konfigurationen. Sedan kallar vi metoden iniciar med värdena 1024 och CONFIGURACION_PIN (som har värdet 13). Med dessa 3 rader tillåter klassen dig att hantera värdena för de två egenskaperna, vi kan när som helst ändra dem.
Skapa ett nytt projekt i Arduino IDE och ange följande källkod.
#inkludera "Configuracion.h"
#define CONFIGURACION_PIN 13 /* PIN för ESP32 -kortet som, när det är anslutet till GND, ger oss möjlighet att gå in i konfigurationsmenyn. */ void setup () {Serial.begin (115200); / * * Konfiguration, de angivna värdena behandlas som standardvärden. * Standardvärdena träder i kraft först när du startar enheten för första gången. */ Konfiguration:: declararPropiedad ("WIFI_SSID", ""); Konfiguration:: declararPropiedad ("WIFI_PASSWORD", "123456"); Konfiguration:: iniciar (1024, CONFIGURACION_PIN); / * TODO */ Serial.println ("WIFI_SSID -värdet är" + Konfiguration:: leerPropiedad ("WIFI_SSID")); } void loop () {// lägg din huvudkod här för att köra upprepade gånger:}
Steg 4: Kör exemplet för första gången
På skärmdumparna som finns i detta steg visar vad klassen gör.
I den första kontrollen att enheten inte är initialiserad och frågar efter lösenordet lägger vi QWERTY och skickar.
Den andra bilden visar parametrarna och deras värden, eftersom vi kan se att den enda parametern som har ett initialvärde är WIFI_PASSWORD. Vi kommer att ange ett värde för WIFI_SSID, ange 2 och tryck på skicka.
Den ber oss att ange ett värde för WIFI_SSID, skriv Mi_wifi och tryck på skicka, resultatet finns i den tredje bilden.
Vi anger S och skickar för att avsluta, det visar oss frasen "SETTING OUT" och visar oss värdet på WIFI_SSID -parametern som vi har programmerat i exemplet. Den sista bilden visar resultatet.
Steg 5: Ange konfigurationen nästa gång
För att komma in i konfigurationen är det nödvändigt att ansluta PIN 13 till GND, när kortet startas visar det oss en förloppsindikator i några sekunder, tryck på skicka och be om lösenordet.
Ange QWERTY och tryck på skicka.
Nu visar det oss huvudkonfigurationsmenyn som bilden visar.
Denna meny gör att vi kan:
Alternativ 1, visa parametrarnas värden.
Alternativ 2, redigera fastighetsvärden, enligt föregående steg.
Alternativ 3, ta bort all konfiguration, när enheten startas skulle göra vad vi har sett i föregående steg.
Alternativ S, avsluta.
Rekommenderad:
Utformning av strömlägesbaserad oscillator för ljudförstärkare i klass D: 6 steg
Utformning av strömlägesbaserad oscillator för ljudförstärkare i klass D: Under senare år har ljudförstärkare i klass D blivit den föredragna lösningen för bärbara ljudsystem som MP3 och mobiltelefoner på grund av deras höga effektivitet och låga strömförbrukning. Oscillatorn är en viktig del av klass D au
555 Timer för att avge signal för att avbryta Atmega328: 7 steg
555 Timer to Emit Signal to Interrupt Atmega328: Huvudmålet med denna krets är att spara energi. Så jag tänker inte prata om arduino eftersom styrelsen själv har onödig kraftöverlag för en slutprodukt. Det är bra för utveckling. Men, inte särskilt bra för slutprojekt som körs på batt
Väggfäste för iPad som kontrollpanel för hemautomation, med servostyrd magnet för att aktivera skärmen: 4 steg (med bilder)
Väggfäste för iPad Som kontrollpanel för hemautomation, med servostyrd magnet för att aktivera skärmen: På senare tid har jag ägnat ganska mycket tid åt att automatisera saker i och runt mitt hus. Jag använder Domoticz som min hemautomationsapplikation, se www.domoticz.com för mer information. I min sökning efter en instrumentpanelapplikation som visar all Domoticz -information tillsammans
Hantera det med ögonskydd (för synanpassning när du vaknar): 35 steg
Deal With It Eye Shield (för synanpassning när du vaknar): Stort problem: När vi vaknar från sömnen och vår vän tänder rumsljuset blir de flesta av oss omedelbart förblindade av ljusen eftersom våra ögon behöver tid att justera från en mörk miljö till en ljus miljö. Vad ska vi göra om vi vill lösa
Övertyga dig själv om att bara använda en 12V-till-AC-omriktare för LED-ljussträngar istället för att koppla om dem för 12V: 3 steg
Övertyga dig själv om att bara använda en 12V-till-AC-linjeomvandlare för LED-ljussträngar istället för att koppla om dem för 12V: Min plan var enkel. Jag ville klippa upp en väggdriven LED-ljussträng i bitar och sedan dra om den för att gå av 12 volt. Alternativet var att använda en kraftomvandlare, men vi vet alla att de är fruktansvärt ineffektiva, eller hur? Höger? Eller är de det?