Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
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:
- Faciliter la création d'un système de configuration sur les appareils ESP32.
- Il a un menu de configuration.
- Vérification de l'absence de configuration de l'appareil, auquel cas il passe en mode configuration.
- 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.
- 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:
- Dans le dossier où arduino est installé, ouvrez le dossier des bibliothèques.
- Créez un dossier avec le nom "Configuracion".
- 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
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
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.