Sommario:

Classe per gestire la configurazione nella EEPROM ESP32: 5 passaggi
Classe per gestire la configurazione nella EEPROM ESP32: 5 passaggi

Video: Classe per gestire la configurazione nella EEPROM ESP32: 5 passaggi

Video: Classe per gestire la configurazione nella EEPROM ESP32: 5 passaggi
Video: SH162 - Giochiamo con le EPROM e non solo !. 2024, Dicembre
Anonim
Classe per gestire la configurazione nella EEPROM ESP32
Classe per gestire la configurazione nella EEPROM ESP32

Ciao, voglio condividere con te tutta la classe che ho sviluppato e semplifica il compito di aggiungere informazioni di configurazione sui dispositivi ESP32.

La classe ha i seguenti obiettivi:

  1. Facilitare la creazione di un sistema di configurazione sui dispositivi ESP32.
  2. Ha un menu di configurazione.
  3. Verifica se il dispositivo è privo di configurazione, nel qual caso entra in modalità di configurazione.
  4. Imposta un pin per attivare la voce nel menu di configurazione. Collegando quel pin a massa all'avvio del dispositivo compare la possibilità di entrare nel menù di configurazione.
  5. Proteggi il menu di configurazione tramite password.

Passaggio 1: codice sorgente

Questi file contengono il codice sorgente della classe "Configuracion", per poterlo utilizzare seguire i seguenti passaggi:

  1. Nella cartella in cui è installato arduino, apri la cartella delle librerie.
  2. Crea una cartella con il nome "Configuracion".
  3. Copia i tre file nella cartella "Configuracion".

Fase 2: Metodi della classe "Configuracion"

I metodi di cui dispone la classe sono i seguenti:

static void declararPropiedad(String name, String initialValue);

Descrizione

Dichiarare le proprietà e il loro valore iniziale.

Parametri

  • nome: Nome della proprietà, questo letterale verrà visualizzato nei menu di configurazione.
  • valoreiniziale: Valore che verrà assegnato di default alla prima accensione del dispositivo.

static void iniciar(int size, int PIN);

Descrizione

Leggere i valori delle proprietà di configurazione dalla EEPROM. Se non è avviato, avvia il processo di inizializzazione. Prima di chiamare questo metodo è necessario definire i nomi delle proprietà utilizzando il metodo declararPropiedad.

Parametri

  • size: Numero massimo di byte da utilizzare nella EEPROM.
  • PIN: PIN della scheda ESP32 che, collegata a GND, permette di entrare nel menu di configurazione.

static String leerPropiedad(String name);

Descrizione

Ottieni il valore archiviato nella proprietà.

Parametri

nome: Nome della proprietà da cui si vuole ottenere il suo valore

static String leerPropiedad(int position);

Descrizione

Ottieni il valore archiviato nella proprietà.

Parametri

posizione: Numero della posizione dell'immobile da cui si vuole ricavare il suo valore. La prima proprietà ha posizione 1, la seconda 2, …

Passaggio 3: come utilizzare la classe "Configuracion"

In questo esempio vogliamo memorizzare l'SSID e la password del router a cui vogliamo connettere il nostro ESP32.

All'inizio del blocco di setup inizializziamo le due proprietà che vogliamo memorizzare nella configurazione WIFI_SSID e WIFI_PASSWORD. Quindi chiamiamo il metodo iniciar con i valori 1024 e CONFIGURACION_PIN (che ha il valore 13). Con queste 3 righe la classe permette di gestire i valori delle due proprietà, possiamo modificarli in qualsiasi momento.

Crea un nuovo progetto nell'IDE di Arduino e inserisci il seguente codice sorgente.

#include "Configurazione.h"

#define CONFIGURACION_PIN 13 /* PIN della scheda ESP32 che, collegata a GND, ci dà la possibilità di entrare nel menu di configurazione. */ void setup() { Serial.begin(115200); /* * Configurazione, i valori immessi vengono trattati come valori predefiniti. * I valori predefiniti hanno effetto solo al primo avvio del dispositivo. */ Configuracion::declararPropiedad("WIFI_SSID", ""); Configuracion::declararPropiedad("WIFI_PASSWORD", "123456"); Configuracion::iniciar(1024, CONFIGURACION_PIN); /* DA FARE */ Serial.println("Il valore WIFI_SSID è " + Configuracion::leerPropiedad("WIFI_SSID")); } void loop() { // inserisci qui il tuo codice principale, per eseguirlo ripetutamente: }

Passaggio 4: eseguire l'esempio per la prima volta

Eseguire l'esempio per la prima volta
Eseguire l'esempio per la prima volta
Eseguire l'esempio per la prima volta
Eseguire l'esempio per la prima volta
Eseguire l'esempio per la prima volta
Eseguire l'esempio per la prima volta
Eseguire l'esempio per la prima volta
Eseguire l'esempio per la prima volta

Negli screenshot che si trovano in questo passaggio, mostra cosa fa la classe.

Nella prima verifica che il dispositivo non sia inizializzato e chiede la password, mettiamo QWERTY e inviamo.

La seconda immagine mostra i parametri ei loro valori, come possiamo vedere l'unico parametro che ha un valore iniziale è WIFI_PASSWORD. Inseriremo un valore per WIFI_SSID, inseriremo 2 e premere invio.

Ci chiede di inserire un valore per WIFI_SSID, digitare Mi_wifi e premere invio, il risultato è nella terza immagine.

Inseriamo S e inviamo per uscire, ci mostra la frase "SETTING OUT" e ci mostra il valore del parametro WIFI_SSID come abbiamo programmato nell'esempio. L'ultima immagine mostra il risultato.

Passaggio 5: immettere la configurazione la prossima volta

Inserisci la configurazione la prossima volta
Inserisci la configurazione la prossima volta

Per entrare nella configurazione è necessario collegare il PIN 13 a GND, all'avvio la scheda ci mostra una barra di avanzamento per alcuni secondi, premere invio e chiedere la password.

Immettere QWERTY e premere invio.

Ora ci mostra il menu di configurazione principale come mostra l'immagine.

Questo menù ci permette di:

Opzione 1, mostra i valori dei parametri.

Opzione 2, modifica i valori delle proprietà, come visto nel passaggio precedente.

Opzione 3, eliminare tutta la configurazione, all'avvio il dispositivo farebbe ciò che abbiamo visto nel passaggio precedente.

Opzione S, esci.

Consigliato: