Comment faire un système domotique intelligent à l’aide du module ESP32 ?

En cette ère moderne, le concept de domotique se développe à grande vitesse. Des systèmes intelligents sont installés dans presque tous les endroits. Smart Home Systems est un concept dans lequel tous les appareils électriques ou les appareils sont contrôlés à l’aide d’une seule télécommande. Dans ces systèmes, la plupart du temps, la télécommande est une application mobile. Comme un mobile Android est le plus répandu parmi les gens, une application Android est donc la meilleure option pour contrôler tous ces appareils.

Automatisation de la maison

Donc, dans ce projet, nous allons connecter certains des appareils électriques de la maison au module Relay et le contrôler via le microcontrôleur ESP32. Nous allons créer une base de données en temps réel Firebase et la connecter à partir de l’application Android. Cette application Android enverra les données au cloud, puis elles seront envoyées au microcontrôleur pour allumer ou éteindre l’appareil électrique. La meilleure partie est que vous pouvez avoir un contrôle total sur la commutation de vos appareils de n’importe où dans le monde. Vous avez juste besoin d’une connexion Internet pour faire fonctionner l’application Android.

Comment contrôler les appareils ménagers via le WiFi ?

Les systèmes domotiques déjà disponibles sur le marché sont très coûteux. Nous pouvons utiliser une carte ESP32 pour connecter différents appareils ménagers et les contrôler à l’aide d’une application Android. Ce sera très peu coûteux et un moyen efficace d’automatiser la maison. Avançons maintenant et commençons à collecter des informations pour démarrer le projet.

Étape 1 : Collecte des composants

La meilleure approche pour démarrer un projet consiste à dresser une liste de composants et à effectuer une brève étude de ces composants, car personne ne voudra rester au milieu d’un projet simplement à cause d’un composant manquant. Une liste des composants que nous allons utiliser dans ce projet est donnée ci-dessous :

Étape 2 : Étudier les composants

Maintenant que nous connaissons le résumé de ce projet, faisons un pas en avant et passons en revue brièvement le fonctionnement des principaux composants que nous allons utiliser.

ESP32 est une carte de microcontrôleur à faible consommation et à faible coût qui dispose d’un WiFi intégré et d’un module Bluetooth bimode. Cette carte microcontrôleur est créée et développée par Espressif Systems. Cette carte a des amplificateurs de puissance intégrés, des amplificateurs de réception bas et agréables, des filtres et des commutateurs d’antenne. Il est alimenté par un câble de données Android et peut fournir jusqu’à 3,3 V en sortie. L’ESP32 exécute TCP/IP, la convention MAC WLAN 802.11 b/g/n/e/I et Wi-Fi Direct en particulier. Cela implique que l’ESP 32 peut adresser une grande partie des routeurs WiFi lorsqu’il est utilisé en mode station (client). De même, il peut créer un point d’accès avec 802.11 b/g/n/e/I complet. L’ESP32 ne soutient pas simplement le plus récent BLE Bluetooth 4.2, il renforce également le bon Bluetooth. Cela implique fondamentalement qu’il peut adresser les anciens et les nouveaux téléphones/tables Bluetooth. Si vous n’avez pas de module ESP32, vous pouvez également utiliser ESP8266 ou un Node MCU. Ces cartes peuvent être utilisées pour effectuer la même tâche si elles sont connectées au WiFi.

ESP32

Un module relais est un appareil de commutation. Il fonctionne en deux modes, normalement ouvert (NO) et normalement fermé (NC). En mode NO, le circuit est toujours interrompu à moins que vous n’envoyiez un signal HAUT au relais via Arduino. Le mode NC fonctionne dans l’autre sens, le circuit est toujours complet sauf si vous allumez le module relais. Assurez-vous de connecter le fil positif de votre appareil électrique au module de relais de la manière indiquée ci-dessous.

Assemblage du circuit du module relais

Étape 3 : Schéma fonctionnel

Diagramme

Dans le diagramme ci-dessus, le flux de ce projet est montré. Les relais sont connectés aux appareils ou appareils électriques de la maison. Une application mobile enverra une commande On ou OFF à la base de données. Ce nuage est connecté à la carte du microcontrôleur ESP32 via WiFi. Pour allumer l’appareil électronique, nous enverrons un “1” dans la base de données et pour l’éteindre, nous enverrons un “0” dans la base de données. Cette commande sera ensuite récupérée par le microcontrôleur car il est également connecté à la base de données. Sur la base de ce 0 ou 1, le microcontrôleur allume ou éteint le module relais, ce qui entraînera finalement la commutation des appareils électriques.

Alors ici, dans cet article, je vais utiliser deux modules relais pour vous montrer toute la procédure. Mais vous pouvez augmenter le nombre de relais et ajouter le même morceau de code dans votre programme si vous souhaitez contrôler un plus grand nombre d’appareils électroménagers.

Étape 4 : Assemblage des composants

Maintenant que nous avons une vision claire de ce que nous voulons faire dans ce projet, ne perdons plus de temps et commençons à assembler les composants.

  1. Prenez une maquette et fixez-y le microcontrôleur ESP32. Prenez maintenant les deux modules relais et connectez le Vcc et la masse des modules au Vin et à la masse de la carte du microcontrôleur ESP32 en parallèle. Connectez la broche d’entrée des modules de relais aux broches 34 et 35 de la carte ESP32. Vous verrez que les relais sont maintenant sous tension.
  2. Connectez les appareils électroménagers au module relais. Assurez-vous que vos connexions correspondent aux connexions indiquées dans la figure de l’étape 2.

Maintenant que nous avons connecté la partie matérielle de notre système. Nous allons développer une application Android qui sera connectée à la base de données firebase. Nous allons faire la base de données et l’application Android dans la partie 2 de cet article.

Étape 5 : Premiers pas avec ESP32

Si vous n’avez jamais travaillé sur Arduino IDE auparavant, ne vous inquiétez pas car une étape par étape pour configurer Arduino IDE est indiquée ci-dessous.

  1. Téléchargez la dernière version d’Arduino IDE depuis Arduino.
  2. Connectez votre carte Arduino au PC et ouvrez le Panneau de configuration. Cliquez sur Matériel et son. Ouvrez maintenant Périphériques et imprimantes et recherchez le port auquel votre carte est connectée. Dans mon cas, c’est COM14 mais c’est différent selon les ordinateurs.Trouver un port
  3. Cliquez sur Fichier puis sur Préférences. Copiez le lien suivant dans l’URL du gestionnaire de carte supplémentaire. “https://dl.espressif.com/dl/package_esp32_index.json”Préférences
  4. Maintenant, pour utiliser ESP32 avec Arduino IDE, nous devons importer des bibliothèques spéciales qui nous permettront de graver du code sur ESP32 et de l’utiliser. ces deux bibliothèques sont attachées dans le lien ci-dessous. Pour inclure la bibliothèque, accédez à Sketch > Inclure la bibliothèque > Ajouter une bibliothèque ZIP. Une boîte apparaîtra. Recherchez le dossier ZIP sur votre ordinateur et cliquez sur OK pour inclure les dossiers.Inclure la bibliothèque
  5. Maintenant, allez dans Sketch > Inclure la bibliothèque > Gérer les bibliothèques.Gérer les bibliothèques
  6. Un menu s’ouvrira. Dans la barre de recherche, tapez Arduino JSON. Une liste apparaîtra. Installez Arduino JSON par Benoit Blanchon.Arduino JSON
  7. Cliquez maintenant sur Outils. Un menu déroulant apparaîtra. Réglez la carte sur ESP Dev Module.Tableau de réglage
  8. Cliquez à nouveau sur le menu Outil et définissez le port que vous avez observé auparavant dans le panneau de configuration.Port de réglage
  9. Téléchargez maintenant le code joint dans le lien ci-dessous et cliquez sur le bouton de téléchargement pour graver le code sur le microcontrôleur ESP32.Télécharger

Alors maintenant, lorsque vous téléchargerez le code, une erreur peut se produire. C’est l’erreur la plus courante qui peut se produire si vous utilisez une nouvelle version de l’IDE Arduino et de l’Arduino JSON. Le Suivant sont les erreurs que vous pouvez voir à l’écran.

Il n’y a rien à craindre car nous pouvons éliminer ces erreurs en suivant quelques étapes simples. Ces erreurs surviennent parce que la nouvelle version d’Arduino JSON a une autre classe au lieu de StaticJsonBuffer. Il s’agit de la classe de JSON 5. Nous pouvons donc simplement éliminer cette erreur en rétrogradant la version d’Arduino JSON de notre IDE Arduino. Allez simplement dans Sketch > Inclure la bibliothèque > Gérer les bibliothèques. Recherchez Arduino JSON de Benoit Blanchon que vous avez déjà installé. Désinstallez-le d’abord, puis définissez sa version sur 5.13.5. Maintenant que nous avons défini une ancienne version d’Arduino JSON, réinstallez-la et recompilez le code. Cette fois, votre code sera compilé avec succès.

Pour télécharger le code, Cliquez sur ici.

Étape 6 : Comprendre le code

Le code de ce projet est très simple et bien commenté. Mais encore, le code est brièvement expliqué ci-dessous.

1. Au début, des bibliothèques sont incluses afin que la carte ESP32 puisse être connectée à la connexion WiFi locale à la maison ou au bureau. Après cela, un lien vers votre projet firebase et l’authentification de votre projet firebase sont définis. Ensuite, le nom et le mot de passe de votre connexion wifi locale sont définis afin que l’ESP32 puisse être connecté au Wifi. Certaines broches de l’ESP32 sont définies pour être connectées aux modules relais. et enfin une variable est déclarée qui stockera des données temporaires qui proviendront du cloud Firebase.

#include // Inclut la bibliothèque pour se connecter à la connexion Wifi locale #include // Inclut la bibliothèque pour se connecter à la base de données Firebase #define FIREBASE_HOST “coma-patient.firebaseio.com” // lien de votre projet firebase #define FIREBASE_AUTH “UrzlDZXMBNRhNdc5i73DRW10KFEuw8ZPEAN9lmdf” // authentification de votre projet firebase #define WIFI_SSID “abcd” // nom de la connexion WiFi #define WIFI_PASSWORD “abcd” // mot de passe de la connexion WiFi = 34;t r1 // broche pour connecter le relais 1 int r2 = 35; // broche pour connecter le relais 2 int temp; // variab pour transporter des données

2. void setup() est une fonction dans laquelle nous initialisons les broches INPUT ou OUTPUT. Cette fonction définit également le débit en bauds à l’aide de la commande Serial.begin(). Baud Rate est la vitesse de communication du microcontrôleur. Quelques lignes de code sont ajoutées ici pour connecter l’ESP32 à la connexion wifi locale. La carte essaiera de se connecter à la connexion wifi locale et imprimera « connexion ». dans le moniteur série. Il imprimera « Connecté » lorsque la connexion sera établie. Donc, pour surveiller cela, il est préférable d’ouvrir le moniteur série et de vérifier son état.

void setup() { Serial.begin(115200); // réglage du débit en bauds // connexion au wifi. WiFi.begin(WIFI_SSID, WIFI_PASSWORD); Serial.println(“connexion”); while (WiFi.status() != WL_CONNECTED) { Serial.print(“.”); retard (500); } Serial.println(); Serial.print(“connecté : “); Serial.println(WiFi.localIP()); Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH); }

3. void loop() est une fonction qui s’exécute à plusieurs reprises dans une boucle. Dans cette boucle, nous écrivons un code qui indique à la carte du microcontrôleur quelles tâches effectuer et comment. Nous avons récupéré les données contre la lumière et le courant alternatif de la base de données et les avons stockées dans les deux variables temporaires. Ensuite, quatre conditions sont appliquées pour commuter les deux appliances en fonction du 0 ou du 1 récupéré dans la base de données.

void loop() { // obtenir la valeur temp1 = Serial.println(Firebase.getFloat(“light”)); // obtient la valeur pour la commutation de la lumière temp2 = Serial.println(Firebase.getFloat(“AC”)); // obtient la valeur pour la commutation du délai du ventilateur (1000); if (temp1 == 1 && temp2 == 1){ // Pour allumer la lumière et le ventilateur digitalWrite(r1,HIGH); digitalWrite(r2,HIGH); } if (temp1 == 0 && temp2 == 1){ // Pour allumer le ventilateur et éteindre la lumière digitalWrite(r1,LOW); digitalWrite(r2,HIGH); } if (temp1 == 1 && temp2 == 0){ // Pour éteindre le ventilateur et allumer la lumière digitalWrite(r1,HIGH); digitalWrite(r2,LOW); } if (temp1 == 0 && temp2 == 0){ // Pour éteindre le ventilateur et éteindre la lumière digitalWrite(r1,LOW); digitalWrite(r2,LOW); } }

Il s’agissait de la première partie de la section « Comment créer un système domestique intelligent à l’aide d’ESP32 ? ». Vous pouvez ajouter plus de modules de relais si vous souhaitez contrôler plus d’appareils ménagers, la seule chose que vous devrez faire est de lire les données de la firebase et d’ajouter quelques conditions supplémentaires pour la commutation. Dans le prochain article, j’expliquerai comment développer une application Android et une base de données Firebase. Je vais expliquer la procédure étape par étape pour connecter l’application Android à la base de feu et lui envoyer des données.

Pour aller au prochain tutoriel cliquez ici

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *