Table des matières:

ESP8266 et ESP32 avec WiFiManager : 10 étapes
ESP8266 et ESP32 avec WiFiManager : 10 étapes

Vidéo: ESP8266 et ESP32 avec WiFiManager : 10 étapes

Vidéo: ESP8266 et ESP32 avec WiFiManager : 10 étapes
Vidéo: WiFiManager with ESP32 - Stop Hard-coding WiFi Credentials! 2024, Novembre
Anonim
Image
Image
BROCHAGE
BROCHAGE

Connaissez-vous WiFiManager ? C'est une bibliothèque qui sert de gestionnaire de connexion sans fil, et avec elle, nous avons un moyen plus simple de configurer à la fois un point d'accès et une station. J'ai reçu plusieurs suggestions pour discuter de ce sujet; donc aujourd'hui je vais vous présenter cette bibliothèque et ses fonctions. Je ferai également une démonstration de son utilisation avec l'ESP32 et l'ESP8266.

Étape 1: BROCHER

BROCHAGE
BROCHAGE

Ici, je montre le PINOUT des deux appareils que nous utiliserons:

  • NodeMCU ESP-12E
  • NodeMCU ESP-WROOM-32

Étape 2: WiFiManager

Le WiFiManager n'est vraiment rien de plus qu'une bibliothèque écrite au-dessus de WiFi.h pour une gestion facile des connexions sans fil. N'oubliez pas qu'avec lui, nous avons une plus grande facilité pour configurer à la fois un point d'accès et une station. Pour le mode Station, nous configurons via un portail dans le navigateur.

Certaines fonctionnalités:

• Cela dépend de la connectivité automatique

• Initialisation du portail de configuration non automatique

• Fonctionne sélectivement en mode double

Étape 3: Comment ça marche

Comment ça fonctionne
Comment ça fonctionne
Comment ça fonctionne
Comment ça fonctionne

L'ESP lancera un portail de configuration WiFi lorsqu'il sera connecté et enregistrera les données de configuration dans une mémoire non volatile. Par la suite, le portail de configuration ne redémarrera que si un bouton est enfoncé dans le module ESP.

Ici, vous pouvez vérifier le flux de configuration et suivre cette étape par étape:

1. À l'aide de n'importe quel appareil compatible WiFi avec un navigateur, connectez-vous au point d'accès nouvellement créé et entrez l'adresse 192.168.4.1.

2. Sur l'écran, vous aurez deux options pour vous connecter à un réseau existant:

• Configurer le Wi-Fi

• Configurer le WiFi (pas de scan)

3. Choisissez l'un des réseaux et saisissez le mot de passe (si nécessaire). Ensuite, enregistrez et attendez que l'ESP redémarre.

4. À la fin du démarrage, ESP tente de se connecter au réseau enregistré. Si vous ne pouvez pas le faire, vous activerez un point d'accès.

Étape 4: Bibliothèques

Bibliothèques
Bibliothèques

Ajouter la bibliothèque "WifiManager-ESP32".

Allez sur https://github.com/zhouhan0126/WIFIMANAGER-ESP32 et téléchargez la bibliothèque.

Décompressez le fichier et collez-le dans le dossier des bibliothèques de l'IDE Arduino.

C:/Program Files (x86)/Arduino/bibliothèques

Ajoutez la bibliothèque "DNSServer-ESP32".

Accédez au lien https://github.com/zhouhan0126/DNSServer---esp32 et téléchargez la bibliothèque.

Décompressez le fichier et collez-le dans le dossier des bibliothèques de l'IDE Arduino.

C:/Program Files (x86)/Arduino/bibliothèques

Ajoutez la bibliothèque "WebServer-ESP32".

Accédez au lien https://github.com/zhouhan0126/WebServer-esp32 et téléchargez la bibliothèque.

Décompressez le fichier et collez-le dans le dossier des bibliothèques de l'IDE Arduino.

C:/Program Files (x86)/Arduino/bibliothèques

Noter:

La bibliothèque WiFiManager-ESP32 possède déjà les paramètres qui fonctionnent avec ESP8266, nous n'utiliserons donc que cela, au lieu de deux bibliothèques WiFiManager (une pour chaque type de puce).

Comme nous le verrons plus tard, ESP8266WiFi et ESP8266WebServer sont des bibliothèques que nous n'avons pas besoin de télécharger, car elles viennent déjà lorsque nous installons ESP8266 dans l'IDE Arduino.

Étape 5: Fonctions

Les fonctions
Les fonctions
Les fonctions
Les fonctions
Les fonctions
Les fonctions

Voici quelques fonctions que le WiFiManager nous offre.

1. autoConnect

La fonction autoConnect est responsable de la création d'un point d'accès. Nous pouvons l'utiliser de trois manières.

• autoConnect ("nom du réseau", "mot de passe"); - crée un réseau avec le nom et le mot de passe définis.

• autoConnect ("nom du réseau"); - crée un réseau ouvert avec le nom défini.

• autoConnect (); - crée un réseau ouvert et nommé automatiquement avec le nom 'ESP' + chipID.

2. démarrerConfigPortal

La fonction startConfigPortal est responsable de la création d'un point d'accès sans tenter de se connecter à un réseau précédemment enregistré.

• startConfigPortal ("nom de réseau", "mot de passe"); - crée un réseau avec le nom et le mot de passe définis.

• startConfigPortal (); - crée un réseau ouvert et nommé automatiquement avec le nom 'ESP' + chipID.

3. getConfigPortalSSID

Renvoie le SSID du portail (Access Point)

4. obtenir le SSID

Cela renvoie le SSID du réseau auquel il est connecté.

5. obtenir le mot de passe

Celui-ci renvoie le mot de passe du réseau auquel il est connecté.

6. setDebugOutput

La fonction setDebugOutput est responsable de l'impression des messages de débogage sur le moniteur série. Ces messages sont déjà définis dans la bibliothèque. Au fur et à mesure que vous parcourez les fonctions, les données seront imprimées.

Par défaut, cette fonction est définie sur TRUE. Si vous souhaitez désactiver les messages, définissez simplement la fonction sur FALSE.

7. setMinimumSignalQuality

La fonction setMinimumSignalQuality est responsable du filtrage des réseaux en fonction de la qualité du signal. Par défaut, WiFiManager n'affichera pas les réseaux de connexion inférieurs à 8%.

8. setRemoveDuplicateAPs

La fonction setRemoveDuplicateAPs est chargée de supprimer les doublons du réseau.

Par défaut, il est défini sur TRUE.

9. setAPStaticIPConfig

La fonction setAPStaticIPConfig est chargée de définir les paramètres d'adresse statique en mode point d'accès.

(IP, PASSERELLE, SOUS-RÉSEAU)

10. setSTAStaticIPConfig

La fonction setSTAStaticIPConfig est chargée de définir les paramètres d'adresse statique en mode station.

(IP, PASSERELLE, SOUS-RÉSEAU)

Vous devez ajouter la commande avant autoConnect!!!

11. setAPCallback

La fonction setAPCallback est chargée de vous informer que le mode AP a démarré.

Le paramètre est une fonction qui doit être créée pour l'indiquer comme rappel;

12. setSaveConfigCallback

La fonction setSaveConfigCallback est chargée de vous informer qu'une nouvelle configuration a été enregistrée et que la connexion a été effectuée avec succès.

Le paramètre est une fonction à créer et l'indique comme un allback.

Vous devez ajouter la commande avant autoConnect !!!

Étape 6: Assemblage

Assemblée
Assemblée

Exemple

Dans notre exemple, nous allons créer un point d'accès avec ESP (le code servira à la fois ESP8266 et ESP32). Après la création de l'AP, nous accéderons au portail via IP 192.168.4.1 (qui est la valeur par défaut pour y accéder). Alors, récupérons les réseaux disponibles, sélectionnez-en un et économisez. À partir de là, l'ESP redémarrera et tentera de s'y connecter, puis il fonctionnera comme une station et non plus comme un point d'accès.

Après être entré en mode station, vous pouvez faire revenir l'ESP en mode point d'accès uniquement à l'aide du bouton.

Étape 7: Coder

Bibliothèques

Commençons par définir les bibliothèques que nous utiliserons.

Notez que nous avons les commandes #ifdefined, #else et #endif. Ils sont conditionnels à inclure les bibliothèques nécessaires relatives à la puce. Cette partie est extrêmement importante pour exécuter le même code sur ESP8266 et ESP32.

#si défini(ESP8266)

#include //Bibliothèque WiFi principale ESP8266 #else #include //Bibliothèque WiFi principale ESP32 #endif

#si défini(ESP8266)

#include //Serveur Web local utilisé pour servir le portail de configuration

#autre

#include //Serveur DNS local utilisé pour rediriger toutes les requêtes vers le portail de configuration (https://github.com/zhouhan0126/DNSServer---esp32)

#fin si

#include //Serveur Web local utilisé pour servir le portail de configuration (https://github.com/zhouhan0126/DNSServer---esp32) #include // Magie de configuration WiFi (https://github.com/zhouhan0126/DNSServer-- -esp32) >> https://github.com/zhouhan0126/DNSServer---esp32 (ORIGINAL)

Étape 8: configuration

Lors de la configuration, nous configurons notre WiFiManager de la manière la plus simple. Définissons simplement les rappels et créons le réseau.

const int PIN_AP = 2;

void setup() { Serial.begin(9600); pinMode(PIN_AP, ENTRÉE); //déclaration de l'objet wifiManager WiFiManager wifiManager;

//utilizando esse comando, as configurações são apagadas da memória //caso tiver salvo alguma rede para conectar automaticamente, ela é apagada. // wifiManager.resetSettings(); //rappel pour le mode de configuration AP wifiManager.setAPCallback(configModeCallback); //rappel pour quand on se connecte à un rede, ou seja, quand on passe à un mode de connexion wifiManager.setSaveConfigCallback(saveConfigCallback); //Cria uma rede de nome ESP_AP com senha 12345678 wifiManager.autoConnect("ESP_AP", "12345678"); }

Étape 9: boucle

Dans la boucle, nous lirons la broche du bouton pour voir si elle a été enfoncée, puis nous appellerons la méthode pour réactiver le mode AP.

boucle vide() {

WiFiManager wifiManager; //se o botão foi pressionado if (digitalRead(PIN_AP) == HIGH) { Serial.println("resetar"); // tente d'ouvrir le portail if(!wifiManager.startConfigPortal("ESP_AP", "12345678")){ Serial.println("Falha ao conectar"); retard (2000); ESP.restart(); retard(1000); } Serial.println("Conectou ESP_AP!!!"); }

Lorsque vous appuyez sur le bouton, l'ESP quitte le mode Station et ouvre votre point d'accès et votre portail.

N'oubliez pas que nous n'utilisons pas la commande resetSettings(). Les paramètres sont toujours enregistrés pour le prochain démarrage de l'ESP.

Étape 10: Rappels

Les fonctions de rappel, associées à des événements, vous permettent d'avoir le moment exact d'une opération, dans notre cas, l'entrée en mode AP et en mode Station. Nous pouvons ensuite mettre en œuvre une routine souhaitée, telle que la récupération du SSID du réseau connecté, par exemple.

//rappel que indica que o ESP entrou no modo AP

void configModeCallback (WiFiManager * myWiFiManager) { // Serial.println ("Entré en mode de configuration"); Serial.println("Entrez sans modo de configuration"); Serial.println(WiFi.softAPIP()); //imprime o IP do AP Serial.println(myWiFiManager->getConfigPortalSSID()); //Imprime o SSID criado da rede

}

//rappel que indica que salvamos uma nova rede para se conectar (modo estação)

void saveConfigCallback () { // Serial.println("Doit enregistrer la configuration"); Serial.println("Configuration salva"); Serial.println(WiFi.softAPIP()); //imprime o IP do AP }

Conseillé: