Tabla de contenido:

Clase para administrar la configuración en la EEPROM ESP32: 5 pasos
Clase para administrar la configuración en la EEPROM ESP32: 5 pasos

Video: Clase para administrar la configuración en la EEPROM ESP32: 5 pasos

Video: Clase para administrar la configuración en la EEPROM ESP32: 5 pasos
Video: IOT con ESP32 - Control Desde Todo El Mundo 2024, Mes de julio
Anonim
Clase para administrar la configuración en la EEPROM ESP32
Clase para administrar la configuración en la EEPROM ESP32

Hola, quiero compartir con ustedes toda la clase que he desarrollado y simplifica la tarea de agregar información de configuración en los dispositivos ESP32.

La clase los siguientes objetivos:

  1. Facilitar la creación de un sistema de configuración en dispositivos ESP32.
  2. Tiene un menú de configuración.
  3. Verificación de si el dispositivo no tiene configuración, en cuyo caso entra en modo de configuración.
  4. Establezca un pin para activar la entrada al menú de configuración. Conectando ese pin a tierra cuando el dispositivo arranca, aparece la posibilidad de ingresar al menú de configuración.
  5. Proteja el menú de configuración con contraseña.

Paso 1: código fuente

Estos archivos contienen el código fuente de la clase "Configuracion", para poder utilizarlo siga los siguientes pasos:

  1. En la carpeta donde está instalado arduino, abra la carpeta de bibliotecas.
  2. Crea una carpeta con el nombre "Configuracion".
  3. Copie los tres archivos a la carpeta "Configuracion".

Paso 2: Métodos de la clase "Configuracion"

Los métodos que tiene la clase son los siguientes:

static void declararPropiedad (String name, String initialValue);

Descripción

Declare las propiedades y su valor inicial.

Parámetros

  • name: Nombre de la propiedad, este literal se mostrará en los menús de configuración.
  • initialValue: Valor que se asignará de forma predeterminada la primera vez que se encienda el dispositivo.

iniciar vacío estático (tamaño int, PIN int);

Descripción

Lea los valores de las propiedades de configuración de la EEPROM. Si no se inicia, inicia el proceso de inicialización. Antes de llamar a este método hay que definir los nombres de las propiedades utilizando el método declararPropiedad.

Parámetros

  • tamaño: número máximo de bytes que se utilizarán en la EEPROM.
  • PIN: PIN de la placa ESP32 que, al conectarse a GND, permite entrar en el menú de configuración.

static String leerPropiedad (String name);

Descripción

Obtenga el valor almacenado en la propiedad.

Parámetros

name: Nombre de la propiedad de la que desea obtener su valor

static String leerPropiedad (posición int);

Descripción

Obtenga el valor almacenado en la propiedad.

Parámetros

position: Número de la posición de la propiedad de la que se quiere obtener su valor. La primera propiedad tiene la posición 1, la segunda 2,…

Paso 3: Cómo utilizar la clase "Configuración"

En este ejemplo, queremos almacenar el SSID y la contraseña del enrutador al que queremos que se conecte nuestro ESP32.

Al inicio del bloque de setup inicializamos las dos propiedades que queremos almacenar en la configuración WIFI_SSID y WIFI_PASSWORD, luego llamamos al método iniciar con los valores 1024 y CONFIGURACION_PIN (que tiene el valor 13). Con estas 3 líneas la clase te permite administrar los valores de las dos propiedades, podemos modificarlas en cualquier momento.

Cree un nuevo proyecto en el IDE de Arduino e ingrese el siguiente código fuente.

#include "Configuracion.h"

#define CONFIGURACION_PIN 13 / * PIN de la placa ESP32 que, al conectarse a GND, nos da la posibilidad de entrar en el menú de configuración. * / void setup () {Serial.begin (115200); / * * Configuración, los valores ingresados se tratan como valores predeterminados. * Los valores predeterminados solo tienen efecto cuando inicia el dispositivo por primera vez. * / Configuracion:: declararPropiedad ("WIFI_SSID", ""); Configuracion:: declararPropiedad ("WIFI_PASSWORD", "123456"); Configuracion:: iniciar (1024, CONFIGURACION_PIN); / * TODO * / Serial.println ("El valor de WIFI_SSID es" + Configuracion:: leerPropiedad ("WIFI_SSID")); } void loop () {// ponga su código principal aquí, para que se ejecute repetidamente:}

Paso 4: ejecutar el ejemplo por primera vez

Ejecute el ejemplo por primera vez
Ejecute el ejemplo por primera vez
Ejecute el ejemplo por primera vez
Ejecute el ejemplo por primera vez
Ejecute el ejemplo por primera vez
Ejecute el ejemplo por primera vez
Ejecute el ejemplo por primera vez
Ejecute el ejemplo por primera vez

En las capturas de pantalla que se encuentran en este paso, muestre lo que hace la clase.

En la primera comprobamos que el dispositivo no está inicializado y pide la contraseña, ponemos QWERTY y enviamos.

La segunda imagen muestra los parámetros y sus valores, como podemos ver el único parámetro que tiene un valor inicial es WIFI_PASSWORD, ingresaremos un valor para WIFI_SSID, ingresamos 2 y presionamos enviar.

Nos pide que ingresemos un valor para WIFI_SSID, ingrese Mi_wifi y presione enviar, el resultado está en la tercera imagen.

Ingresamos S y enviamos para salir, nos muestra la frase "SETTING OUT" y nos muestra el valor del parámetro WIFI_SSID como lo hemos programado en el ejemplo. La última imagen muestra el resultado.

Paso 5: Ingrese la configuración la próxima vez

Ingrese la configuración la próxima vez
Ingrese la configuración la próxima vez

Para ingresar a la configuración es necesario conectar el PIN 13 a GND, al arrancar la placa nos muestra una barra de progreso por unos segundos, presionar enviar y pedir la contraseña.

Ingrese QWERTY y presione enviar.

Ahora nos muestra el menú principal de configuración como muestra la imagen.

Este menú nos permite:

Opción 1, muestra los valores de los parámetros.

Opción 2, editar los valores de propiedad, como se vio en el paso anterior.

Opción 3, borrar toda la configuración, al arrancar el dispositivo haría lo que hemos visto en el paso anterior.

Opción S, salir.

Recomendado: