Guide de démarrage rapide pour les systèmes ESP32 – Domotique

Facebook Twitter Google Plus Instagram YouTube Twitch

Les microcontrôleurs ESP32 sont devenus une option populaire pour de nombreux projets électroniques grâce à leur puissance, leur polyvalence et leur prix abordable. Que vous soyez un débutant complet ou un hobbyiste chevronné, ce guide de démarrage rapide vous aidera à explorer le monde excitant des ESP32 et à commencer à créer vos propres projets dès aujourd’hui.


*Schéma représentant un ESP32 avec tous les pins et leurs fonctions*

Histoire et Origine

Les ESP32 ont été développés par Espressif Systems, une société chinoise spécialisée dans la conception de puces pour l’Internet des objets (IoT). Lancés en 2016, les ESP32 sont la génération suivante des populaires ESP8266, offrant des performances améliorées et des fonctionnalités étendues.

Utilisations Types

Les ESP32 sont utilisés dans une grande variété de projets, notamment :

  • Objets connectés

  • Capteurs et dispositifs de surveillance

  • Contrôleurs de domotique

  • Robots et drones

  • Projets d’automatisation industrielle

Où s’en procurer & à quel prix ?

Les ESP32 sont largement disponibles auprès de nombreux fournisseurs en ligne et dans les magasins d’électronique. Ils sont souvent vendus sous forme de modules prêts à l’emploi, avec des prix variant en fonction des fonctionnalités et de la qualité de fabrication. En général, vous pouvez vous procurer un ESP32 pour aussi peu que quelques euros.

Modules pour ESP et types d’ESP

Il existe une multitude de modules supplémentaires conçus pour étendre les fonctionnalités des ESP32, tels que les modules de caméra, les écrans OLED, les modules de capteurs, etc. De plus, en plus de l’ESP32, Espressif propose d’autres types d’ESP, notamment l’ESP8266, l’ESP32-S2 et l’ESP32-C3, chacun offrant des fonctionnalités et des performances spécifiques adaptées à différents types de projets.

Quelles connaissances sont nécessaires ou obligatoires ?

Vous n’avez pas besoin d’une vaste expérience en électronique pour commencer à travailler avec les ESP32, mais quelques connaissances de base seront utiles :

  • Programmation en langage C ou Arduino

  • Compréhension des principes de base des circuits électroniques

  • Familiarité avec les concepts de base du Wi-Fi et du Bluetooth

Quels outils seront nécessaires

Pour démarrer avec les ESP32, vous aurez besoin de quelques outils essentiels :

  • Un ordinateur avec un port USB

  • Un câble micro USB pour la connexion à l’ESP32

  • Un logiciel de développement tel que l’IDE Arduino ou PlatformIO

  • Éventuellement, un module de développement ESP32 avec des broches d’E/S facilement accessibles pour les projets plus avancés

Installation des outils de développement

Pour commencer, téléchargez et installez l’IDE Arduino à partir du site officiel. Ensuite, ouvrez l’IDE Arduino et allez dans « Préférences ». Dans la section « Gestionnaire de cartes », ajoutez l’URL suivante : https://espressif.github.io/arduino-esp32/package_esp32_index.json.

Ensuite, accédez à « Outils » > « Type de carte » > « Gestionnaire de cartes » et recherchez « ESP32 ». Installez le package esp32 by Espressif Systems (préférez la dernière version stable de la branche 3.x) en cliquant sur « Installer ».

Écrire et téléverser un programme simple

Maintenant que vous avez installé les outils de développement, créez un nouveau fichier dans l’IDE Arduino. Commencez par inclure la bibliothèque (facultatif pour un blink simple, mais si nécessaire) :

#include <Arduino.h>

Ensuite, écrivez votre programme en utilisant les fonctions et les bibliothèques disponibles pour l’ESP32. Par exemple, vous pouvez contrôler une LED connectée à l’ESP32 en utilisant le code suivant :

#define LED_PIN 2

void setup() { pinMode(LED_PIN, OUTPUT); }

void loop() { digitalWrite(LED_PIN, HIGH); delay(1000); digitalWrite(LED_PIN, LOW); delay(1000); }

Une fois que vous avez écrit votre programme, sélectionnez votre carte ESP32 dans le menu « Outils » > « Type de carte », choisissez le bon port série dans le menu « Port », puis cliquez sur le bouton « Téléverser » pour charger votre programme sur l’ESP32. Et voilà, vos premières lignes de code sont maintenant opérationnelles.

Utiliser des fonctionnalités avancées telles que le Wi-Fi et le Bluetooth

Les ESP32 offrent une connectivité Wi-Fi et Bluetooth intégrée, ce qui les rend idéaux pour les projets IoT. Pour utiliser le Wi-Fi, vous pouvez utiliser la bibliothèque WiFi.h pour se connecter à un réseau sans fil et échanger des données avec des serveurs Web ou d’autres appareils. De même, la bibliothèque BluetoothSerial.h vous permet de communiquer avec d’autres périphériques Bluetooth. Ils offrent une plateforme puissante et flexible pour réaliser une grande variété de projets électroniques.

La domotique, ou maison connectée, offre un moyen pratique et innovant de contrôler et d’automatiser divers appareils et systèmes dans votre domicile. Nous allons explorer comment utiliser les systèmes ESP, tels que l’ESP8266 et l’ESP32, pour créer un système domotique personnalisé, du matériel à la programmation.

La domotique avec les systèmes ESP

Afin de montrer qu’il est possible de faire quelque chose relativement correct avec seulement quelques accessoires, voici un exemple de ce que l’on peut faire chez soi :

Matériel nécessaire

Avant de commencer, voici le matériel dont vous aurez besoin :

  • Système ESP (ESP8266 ou ESP32)

  • Capteurs (capteurs de mouvement, de lumière, de température, etc.)

  • Actionneurs (relais, servomoteurs, etc.)

  • Composants électroniques (résistances, LED, boutons-poussoirs, etc.)

  • Breadboard et fils de connexion

  • Alimentation électrique (pile, adaptateur secteur, etc.)

Étape 1: Configuration de l’ESP

Commencez par configurer votre ESP en suivant les étapes suivantes :

  1. Connectez votre ESP à votre ordinateur à l’aide d’un câble USB.

  2. Ouvrez l’IDE Arduino et installez le package ESP correspondant à votre modèle (ESP8266 ou ESP32).

  3. Sélectionnez le bon port série et le type de carte dans le menu Outils.

Étape 2: Création du réseau Wi-Fi

Utilisez les fonctions WiFi.h pour connecter votre ESP à votre réseau Wi-Fi domestique. Voici un exemple de code pour vous guider :

#include <WiFi.h> // Utilisez <ESP8266WiFi.h> si vous êtes sur ESP8266

const char* ssid = « NomDuReseauWiFi »; const char* password = « MotDePasseWiFi »;

void setup() { Serial.begin(115200); WiFi.mode(WIFI_STA); WiFi.begin(ssid, password); Serial.print(« Connexion au réseau WiFi en cours »); while (WiFi.status() != WL_CONNECTED) { Serial.print(« . »); delay(400); } Serial.println(« \nConnecté au réseau WiFi ! »); }

void loop() { // Votre code ici }

Étape 3: Intégration des capteurs et actionneurs

Connectez vos capteurs (par exemple, un capteur de mouvement) et vos actionneurs (par exemple, un relais pour contrôler une lumière) à votre ESP en utilisant des broches d’E/S. Assurez-vous d’utiliser les résistances nécessaires pour protéger votre ESP.

Étape 4: Programmation de la logique domotique

Dans cette étape, nous allons programmer la logique nécessaire pour contrôler une lampe à l’aide d’un relais, en fonction des données fournies par un capteur de mouvement. Ce projet illustre comment vous pouvez automatiser l’allumage et l’extinction d’une lampe basée sur la détection de mouvement.

Matériel Requis

  • ESP8266 ou ESP32 (Coût moyen : Environ 5 à 10 €)

  • Relais module relais 5V (Coût moyen : Environ 3 à 5 €)

  • Capteur de Mouvement PIR (Coût moyen : Environ 2 à 4 €)

  • Lampe (Coût moyen : Variable selon le type choisi)

  • Câbles de Connexion et Breadboard (Coût moyen : Environ 5 à 10 €)

Schéma de Connexion

Relais :

  • Connectez la broche de contrôle du relais à une broche GPIO de l’ESP (par exemple, GPIO 23 pour ESP32 ou D1 pour ESP8266).

  • Connectez les deux bornes du relais aux fils de l’alimentation de la lampe. Assurez-vous que le relais est correctement dimensionné pour la lampe que vous utilisez.

Capteur de Mouvement (PIR) :

  • Connectez la sortie du capteur PIR à une broche GPIO de l’ESP (par exemple, GPIO 22 pour ESP32 ou D2 pour ESP8266).

  • Assurez-vous de connecter également les broches d’alimentation du capteur PIR aux broches VCC et GND de l’ESP.

Code Exemple :

#include <WiFi.h> // Pour ESP32 ; utilisez <ESP8266WiFi.h> pour ESP8266

const char* ssid = « NomDuReseauWiFi »; const char* password = « MotDePasseWiFi »;

// Définition des broches (GPIO) const int relaisPin = 23; // GPIO 23 (très courant sur devkits ESP32) const int capteurPin = 22; // GPIO 22 (très courant sur devkits ESP32)

void setup() { Serial.begin(115200); // Initialise la communication série à 115200 bauds WiFi.mode(WIFI_STA); WiFi.begin(ssid, password); // Démarre la connexion Wi-Fi avec le SSID et le mot de passe Serial.print(« Connexion au réseau WiFi en cours »); while (WiFi.status() != WL_CONNECTED) { Serial.print(« . »); delay(400); } Serial.println(« \nConnecté au réseau WiFi ! »); pinMode(relaisPin, OUTPUT); // Configure la broche du relais comme une sortie pinMode(capteurPin, INPUT); // Configure la broche du capteur comme une entrée }

void loop() { int mouvement = digitalRead(capteurPin); // Lit l’état du capteur de mouvement if (mouvement == HIGH) { digitalWrite(relaisPin, HIGH); // Allume la lampe Serial.println(« Mouvement détecté. Lampe allumée. »); } else { digitalWrite(relaisPin, LOW); // Éteint la lampe Serial.println(« Pas de mouvement. Lampe éteinte. »); } delay(1000); // Pause de 1 seconde avant la prochaine lecture }

Explications du Code

Inclusion des Bibliothèques : #include <WiFi.h> Cette ligne inclut la bibliothèque nécessaire pour gérer la connexion Wi-Fi avec l’ESP32.

Définition des Informations de Connexion : const char* ssid = « NomDuReseauWiFi »; const char* password = « MotDePasseWiFi »; Remplacez ces valeurs par les informations de votre réseau Wi-Fi.

Configuration Initiale (Fonction setup()) : Cette fonction initialise la communication série pour le débogage, connecte l’ESP au réseau Wi-Fi, attend que la connexion soit établie et configure les broches du relais et du capteur.

Communication Série et Baud Rate

Communication Série : La communication série est un mode de transmission de données où les bits sont envoyés un par un sur un seul canal. C’est souvent utilisé pour échanger des données entre un microcontrôleur et un ordinateur.

Baud Rate (Vitesse de Transmission) : Le baud rate indique la vitesse de transmission sur le canal série, mesurée en bauds (bits par seconde). Un baud rate de 115200 signifie que 115200 bits sont transmis chaque seconde.

Initialisation de la Communication Série : Dans le code, on utilise Serial.begin(115200); pour configurer cette vitesse. 115200 est un taux courant permettant une communication rapide et fluide pour le débogage.

Pourquoi Utiliser un Baud Rate de 115200 ?

  • Rapidité : Permet de transmettre plus de données par seconde, idéal pour le débogage en temps réel.

  • Précision : Fournit une communication fluide si les deux dispositifs sont synchronisés sur la même vitesse.

  • Compatibilité : Taux largement supporté par les outils de développement.

Considérations : Il est important de choisir un baud rate stable et de s’assurer que la valeur définie dans le code correspond à celle configurée dans le moniteur série de votre ordinateur.

Boucle Principale (Fonction loop())

La boucle lit l’état du capteur de mouvement. Si un mouvement est détecté (état HIGH), le relais est activé pour allumer la lampe. Si aucun mouvement n’est détecté (état LOW), le relais est désactivé. La boucle se répète toutes les secondes.

Étape 5: Test et ajustements

Téléversez votre code sur votre ESP et testez votre système domotique. Assurez-vous que tout fonctionne comme prévu et ajustez votre code au besoin.

Avis Personnel

Avec les systèmes ESP et un peu de programmation, il est facile de créer un système domotique personnalisé pour automatiser et contrôler votre maison. Que ce soit pour la sécurité, le confort ou la commodité, les possibilités sont infinies. Commencez dès aujourd’hui et explorez les merveilles de la domotique avec les systèmes ESP !

 

Leave a Reply