Table des matières:

Classe pour gérer la configuration dans l'EEPROM ESP32 : 5 étapes
Classe pour gérer la configuration dans l'EEPROM ESP32 : 5 étapes

Vidéo: Classe pour gérer la configuration dans l'EEPROM ESP32 : 5 étapes

Vidéo: Classe pour gérer la configuration dans l'EEPROM ESP32 : 5 étapes
Vidéo: Premiers tests pour bien débuter avec l'ESP32 [ESP32 #1] 2024, Novembre
Anonim
Classe pour gérer la configuration dans l'EEPROM ESP32
Classe pour gérer la configuration dans l'EEPROM ESP32

Bonjour, je souhaite partager avec vous toute la classe que j'ai développée et cela simplifie la tâche d'ajouter des informations de configuration sur les appareils ESP32.

La classe les objectifs suivants:

  1. Faciliter la création d'un système de configuration sur les appareils ESP32.
  2. Il a un menu de configuration.
  3. Vérification de l'absence de configuration de l'appareil, auquel cas il passe en mode configuration.
  4. Définissez une épingle pour activer l'entrée dans le menu de configuration. Connecter cette broche à la terre au démarrage de l'appareil apparaît comme la possibilité d'entrer dans le menu de configuration.
  5. Protégez le menu de configuration par mot de passe.

Étape 1: Code source

Ces fichiers contiennent le code source de la classe "Configuracion", pour pouvoir l'utiliser suivez les étapes suivantes:

  1. Dans le dossier où arduino est installé, ouvrez le dossier des bibliothèques.
  2. Créez un dossier avec le nom "Configuracion".
  3. Copiez les trois fichiers dans le dossier "Configuracion".

Étape 2: Méthodes de la classe "Configuracion"

Les méthodes de la classe sont les suivantes:

static void declararPropiedad(String name, String initialValue);

La description

Déclarez les propriétés et leur valeur initiale.

Paramètres

  • name: Nom de la propriété, ce littéral sera affiché dans les menus de configuration.
  • initialValue: Valeur qui sera attribuée par défaut à la première mise sous tension de l'appareil.

static void iniciar(int size, int PIN);

La description

Lisez les valeurs des propriétés de configuration de l'EEPROM. S'il n'est pas démarré, il démarre le processus d'initialisation. Avant d'appeler cette méthode, vous devez définir les noms des propriétés à l'aide de la méthode declararPropiedad.

Paramètres

  • size: nombre maximum d'octets à utiliser dans l'EEPROM.
  • PIN: PIN de la carte ESP32 qui, lorsqu'il est connecté à GND, permet d'entrer dans le menu de configuration.

chaîne statique leerPropiedad(Nom de la chaîne);

La description

Obtenez la valeur stockée dans la propriété.

Paramètres

name: Nom de la propriété dont vous voulez obtenir sa valeur

static String leerPropiedad(int position);

La description

Obtenez la valeur stockée dans la propriété.

Paramètres

position: Numéro de la position de la propriété à partir de laquelle vous souhaitez obtenir sa valeur. La première propriété a la position 1, la seconde 2, …

Étape 3: Comment utiliser la classe "Configuracion"

Dans cet exemple, nous voulons stocker le SSID et le mot de passe du routeur auquel nous voulons que notre ESP32 se connecte.

Au début du bloc de configuration, nous initialisons les deux propriétés que nous voulons stocker dans la configuration WIFI_SSID et WIFI_PASSWORD. Ensuite, nous appelons la méthode iniciar avec les valeurs 1024 et CONFIGURACION_PIN (qui a la valeur 13). Avec ces 3 lignes la classe permet de gérer les valeurs des deux propriétés, on peut les modifier à tout moment.

Créez un nouveau projet dans l'IDE Arduino et entrez le code source suivant.

#include "Configuration.h"

#define CONFIGURACION_PIN 13 /* PIN de la carte ESP32 qui, lorsqu'il est connecté à GND, nous donne la possibilité d'entrer dans le menu de configuration. */ void setup() { Serial.begin(115200); /* * Configuration, les valeurs saisies sont traitées comme des valeurs par défaut. * Les valeurs par défaut ne prennent effet qu'au premier démarrage de l'appareil. */ Configuration::declararPropiedad("WIFI_SSID", ""); Configuration::declararPropiedad("WIFI_PASSWORD", "123456"); Configuration::iniciar(1024, CONFIGURACION_PIN); /* TODO */ Serial.println("La valeur WIFI_SSID est " + Configuration::leerPropiedad("WIFI_SSID")); } void loop() { // mettez votre code principal ici, pour l'exécuter à plusieurs reprises: }

Étape 4: Exécutez l'exemple pour la première fois

Exécuter l'exemple pour la première fois
Exécuter l'exemple pour la première fois
Exécuter l'exemple pour la première fois
Exécuter l'exemple pour la première fois
Exécuter l'exemple pour la première fois
Exécuter l'exemple pour la première fois
Exécuter l'exemple pour la première fois
Exécuter l'exemple pour la première fois

Dans les captures d'écran de cette étape, montrez ce que fait la classe.

Dans la première vérification que l'appareil n'est pas initialisé et demande le mot de passe, nous mettons QWERTY et envoyons.

La deuxième image montre les paramètres et leurs valeurs, car nous pouvons voir que le seul paramètre qui a une valeur initiale est WIFI_PASSWORD. Nous allons entrer une valeur pour WIFI_SSID, entrer 2 et appuyer sur envoyer.

Il nous demande d'entrer une valeur pour WIFI_SSID, tapez Mi_wifi et appuyez sur envoyer, le résultat est dans la troisième image.

Nous entrons en S et envoyons pour sortir, il nous montre la phrase "SETTING OUT" et nous montre la valeur du paramètre WIFI_SSID comme nous l'avons programmé dans l'exemple. La dernière image montre le résultat.

Étape 5: Entrez la configuration la prochaine fois

Entrez la configuration la prochaine fois
Entrez la configuration la prochaine fois

Pour entrer dans la configuration, il est nécessaire de connecter le PIN 13 à GND, au démarrage de la carte, il nous montre une barre de progression pendant quelques secondes, appuyez sur envoyer et demandez le mot de passe.

Entrez QWERTY et appuyez sur envoyer.

Maintenant, il nous montre le menu de configuration principal comme le montre l'image.

Ce menu nous permet de:

Option 1, afficher les valeurs des paramètres.

Option 2, modifiez les valeurs de propriété, comme indiqué à l'étape précédente.

Option 3, supprimer toute la configuration, lors du démarrage de l'appareil ferait ce que nous avons vu à l'étape précédente.

Option S, sortie.

Conseillé: