Table des matières:
- Étape 1: Fonctionnalités clés
- Étape 2: Comparaison entre ESP32, ESP8266 et Arduino R3
- Étape 3: Types d'ESP32
- Étape 4: Nœud Wi-FiMCU-32S ESP-WROOM-32
- Étape 5: Configuration de l'IDE Arduino (Windows)
- Étape 6: Analyse Wi-Fi
- Étape 7: Coder
- Étape 8: configuration
- Étape 9: boucle
- Étape 10: Fichiers
Vidéo: Introduction à ESP32 : 10 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
Dans cet article, nous allons parler de l'ESP32, que je considère comme un frère aîné de l'ESP8266. J'aime beaucoup ce microcontrôleur car il dispose du WiFi. Juste pour que vous ayez une idée, avant que l'ESP n'existe, si vous aviez besoin d'un Arduino pour avoir du WiFi, vous devriez débourser entre 200 $ et 300 $ pour acheter un adaptateur Wifi. L'adaptateur pour câble réseau n'est pas si cher, mais pour le WiFi, il a toujours été et est toujours cher. Mais heureusement, Espressif Systems a lancé ESP et résout nos vies.
J'aime l'ESP32 avec ce format qui a un port USB. Ce schéma NodeMCU est facile à manipuler car il ne nécessite aucune électronique. Il suffit de brancher le câble, d'alimenter l'appareil et de le programmer. Cela fonctionne comme un Arduino.
Quoi qu'il en soit, aujourd'hui, nous allons parler des aspects généraux de l'ESP32 et de la façon de configurer l'IDE Arduino pour programmer plus d'appareils du type. Nous allons également créer un programme qui recherche les réseaux et montre lequel est le plus puissant.
Étape 1: Fonctionnalités clés
Puce avec WiFi intégré: norme 802.11 B/G/N, fonctionnant dans la plage de 2,4 à 2,5 GHz
Modes de fonctionnement: Client, Point d'accès, Station + Point d'accès
Microprocesseur double cœur Tensilica Xtensa 32 bits LX6
Horloge réglable de 80MHz à 240MHz
Tension de fonctionnement: 3,3 VCC
Il a une SRAM de 512 Ko
Comprend une ROM de 448 Ko
Il a une mémoire flash externe de 32 Mo (4 mégaoctets)
Le courant maximum par broche est de 12mA (il est recommandé d'utiliser 6mA)
Il a 36 GPIO
GPIO avec fonctions PWM / I2C et SPI
Il a Bluetooth v4.2 BR / EDR et BLE (Bluetooth Low Energy)
Étape 2: Comparaison entre ESP32, ESP8266 et Arduino R3
Étape 3: Types d'ESP32
ESP32 est né avec beaucoup de frères et sœurs. Aujourd'hui, j'utilise le premier en partant de la gauche, Espressif, mais il existe plusieurs marques et types, dont l'écran Oled intégré. Cependant, les différences sont toutes de la même puce: la Tensilica LX6, 2 Core.
Étape 4: Nœud Wi-FiMCU-32S ESP-WROOM-32
C'est le schéma de l'ESP que nous utilisons dans notre montage. C'est une puce qui a beaucoup d'attrait et de puissance. Ce sont plusieurs broches que vous choisissez si elles veulent fonctionner en analogique numérique, en numérique analogique ou même si cela fonctionne comme en numérique.
Étape 5: Configuration de l'IDE Arduino (Windows)
Voici comment configurer l'IDE Arduino afin que nous puissions compiler pour ESP32:
1. Téléchargez les fichiers via le lien:
2. Décompressez le fichier et copiez le contenu dans le chemin suivant:
C:/Utilisateurs/[YOUR_USER_NAME]/Documents/Arduino/hardware/espressif/esp32
Remarque: S'il n'y a pas de répertoire "espressif" et "esp32", créez-les simplement normalement.
3. Ouvrez le répertoire
C:/Utilisateurs/[YOUR_USER_NAME]/Documents/Arduino/hardware/espressif/esp32/tools
Exécutez le fichier "get.exe".
4. Une fois le "get.exe" terminé, branchez l'ESP32, attendez que les pilotes soient installés (ou installez-les manuellement).
Prêt, il suffit maintenant de choisir la carte ESP32 dans "outils >> carte" et de compiler votre code.
Étape 6: Analyse Wi-Fi
Voici un exemple de recherche de réseaux WiFi disponibles à proximité de l'ESP-32, ainsi que la force du signal de chacun d'eux. À chaque analyse, nous découvrirons également quel réseau a la meilleure force de signal.
Étape 7: Coder
Incluons d'abord la librairie "WiFi.h", elle sera nécessaire pour nous permettre de travailler avec la carte réseau de notre appareil.
#include "WiFi.h"
Voici deux variables qui seront utilisées pour stocker le SSID (nom) du réseau et la force du signal.
String networkSSID = "";int StrengthSignal = -9999;
Étape 8: configuration
Dans la fonction setup(), nous allons définir le mode de comportement WiFi de notre appareil. Dans ce cas, puisque le but est de rechercher les réseaux disponibles, nous allons configurer notre appareil pour qu'il fonctionne comme une "station".
void setup(){ // Initialiser Serial pour se connecter Serial Monitor Serial.begin(115200);
// configuration du mode de fonctionnement du WiFi en tant que station WiFi.mode(WIFI_STA);//WIFI_STA est une constante indiquant le mode de la station
// se déconnecte du point d'accès s'il est déjà connecté WiFi.disconnect(); retard (100);
// Serial.println("Configuration terminée");}
Étape 9: boucle
Dans la fonction loop(), nous allons rechercher les réseaux disponibles puis imprimer le log dans les réseaux trouvés. Pour chacun de ces réseaux, nous allons faire la comparaison pour trouver celui avec la force de signal la plus élevée.
void loop(){ // Serial.println("scan start"); // effectue le scan des réseaux disponibles
int n = WiFi.scanNetworks();
Serial.println("Analyse effectuée");
//vérifiez si vous avez trouvé un réseau if (n == 0) { Serial.println("Aucun réseau trouvé"); } else { networkSSID = ""; forceSignal= -9999; Serial.print(n); Serial.println(" réseaux trouvés\n"); for (int i = 0; i < n; ++i) { //impression sur le moniteur série chacun des réseaux trouvés Serial.print("SSID: "); Serial.println(WiFi. SSID(i)); //nom du réseau (ssid) Serial.print("SIGNAL: "); Serial.print(WiFi. RSSI(i)); //force du signal Serial.print("\t\tCHANNEL: "); Serial.print((int)WiFi.channel(i)); Serial.print("\t\tMAC: "); Serial.print(WiFi. BSSIDstr(i)); Serial.println("\n\n"); if(abs(WiFi. RSSI(i)) < abs(forceSignal)) { forceSignal = WiFi. RSSI(i); networkSSID = WiFi. SSID(i); Serial.print("RÉSEAU AVEC LE MEILLEUR SIGNAL TROUVÉ: ("); Serial.print(networkSSID); Serial.print(") - SIGNAL: ("); Serial.print(strengthSignal); Serial.println(")"); } délai(10); } } Serial.println("\n------------------------------------------ -------------------------------------------\n");
// intervalle de 5 secondes pour effectuer un nouveau scan delay (5000); }
"Si (abs (WiFi. RSSI (i))"
Notez que dans l'instruction ci-dessus, nous utilisons abs(), cette fonction prend la valeur absolue (c'est-à-dire non négative) du nombre. Dans notre cas, nous l'avons fait pour trouver la plus petite des valeurs de la comparaison, car l'intensité du signal est donnée sous la forme d'un nombre négatif et plus le signal est proche de zéro, meilleur est le signal.
Étape 10: Fichiers
Téléchargez tous mes fichiers sur: www.fernandok.com
Conseillé:
Casque de sécurité Covid, partie 1 : une introduction aux circuits Tinkercad ! : 20 étapes (avec photos)
Casque de sécurité Covid Partie 1 : une introduction aux circuits Tinkercad ! : Bonjour, mon ami ! Dans cette série en deux parties, nous allons apprendre à utiliser les circuits de Tinkercad - un outil amusant, puissant et éducatif pour découvrir le fonctionnement des circuits ! L'une des meilleures façons d'apprendre, c'est de faire. Alors, nous allons d'abord concevoir notre propre projet : e
Introduction aux circuits IR : 8 étapes (avec photos)
Introduction aux circuits IR : l'IR est une technologie complexe mais très simple à utiliser. Contrairement aux LED ou aux LASER, l'infrarouge ne peut pas être vu avec l'œil humain. Dans ce Instructable, je vais démontrer l'utilisation de l'infrarouge à travers 3 circuits différents. Les circuits ne seront pas u
Jeux!!! - Introduction : 5 étapes
Jeux!!! - Introduction : Salut ! Je vais vous apprendre à créer trois jeux différents sur code.org. Sous chaque didacticiel de jeu, je publierai un modèle que vous pourrez remixer et utiliser tout en regardant ma vidéo. J'espère que vous passerez un bon moment !! Si vous voulez juste voir mes jeux en o
Python Introduction - Katsuhiko Matsuda & Edwin Cijo - Notions de base : 7 étapes
Python Introduction - Katsuhiko Matsuda & Edwin Cijo - Notions de base : Bonjour, nous sommes 2 étudiants en MYP 2. Nous souhaitons vous enseigner les bases du codage de Python. Il a été créé à la fin des années 1980 par Guido van Rossum aux Pays-Bas. Il a été conçu pour succéder au langage ABC. Son nom est "Python" parce que quand
Introduction ESP32 Lora OLED Display : 8 étapes
Introduction ESP32 Lora OLED Display: Ceci est une autre vidéo concernant l'introduction de l'ESP32 LoRa. Cette fois, nous parlerons plus précisément d'un affichage graphique (de 128x64 pixels). Nous allons utiliser la bibliothèque SSD1306 pour afficher des informations sur cet écran OLED et présenter un exemple o