Ad Code

Contrôlez un relais avec ESP8266 et une application Android : Tutoriel pas à pas

 Avec ce tutoriel, vous avez maintenant toutes les clés en main pour créer votre propre système de contrôle à distance avec ESP8266 et une application Android. Amusez-vous bien !


Vous voulez ajouter une touche de technologie à votre maison ? Dans ce tutoriel, je vais vous montrer comment contrôler un relais à l'aide d'ESP8266 et d'une application Android, le tout développé avec l'aide de MIT App Inventor. C'est un projet passionnant qui vous permettra de contrôler un appareil électrique depuis votre téléphone Android, où que vous soyez dans votre maison.

Aperçu

L'ESP8266 est un module WiFi très populaire dans le monde de l'IoT (Internet des Objets). Il existe différentes versions de l'ESP8266, mais toutes ont la même fonction : se connecter à un réseau WiFi et contrôler des appareils à distance.

Dans ce projet, nous allons utiliser un simple relais connecté à l'ESP8266. Vous pourrez ainsi contrôler un appareil électrique à partir de votre téléphone Android.

Schéma de câblage

Le schéma de câblage pour ce projet est assez simple. Il utilise un module relais à un seul canal connecté à l'ESP8266. Vous trouverez ci-dessous une image du schéma de câblage.

Composants nécessaires

  • ESP8266
  • Arduino UNO
  • Résistances (1KΩ et 2.2KΩ)
  • Fils de connexion
  • Module relais
  • Petite ampoule 5V
  • Bouton poussoir
  • Commutateur SPDT
  • Application Android
  • Téléphone Android
  • Ordinateur avec accès à Internet

Description des composants

  • ESP8266 (Module WiFi ESP-01): Ce module se connecte au réseau WiFi et contrôle le relais.

  • Module relais: Un module relais à deux canaux est utilisé dans ce projet. Il permet de contrôler un appareil électrique en activant ou désactivant la connexion électrique.

Conception du circuit

Le circuit est simple à assembler. Toutes les connexions sont similaires à celles des projets précédents utilisant l'ESP8266. La principale différence est que la broche GPIO2 de l'ESP8266 est connectée à l'entrée du relais.

Code

Le code permet à l'ESP8266 de se connecter à un réseau WiFi spécifique, d'attribuer une adresse IP statique au module et de créer un serveur HTTP pour écouter les commandes des clients (dans ce cas, l'application Android).

Code de l'ESP8266 :

cpp
#include <ESP8266WiFi.h> #include <WiFiClient.h> // Remplacez les valeurs suivantes par vos propres informations Wi-Fi const char* ssid = "VotreSSID"; const char* password = "VotreMotDePasse"; // Remplacez les valeurs suivantes par les informations de votre serveur const char* serverAddress = "adresse_du_serveur"; const int serverPort = 80; void setup() { Serial.begin(115200); delay(10); // Se connecter au réseau Wi-Fi Serial.println(); Serial.println(); Serial.print("Connexion au réseau Wi-Fi: "); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connecté"); Serial.println("Adresse IP: "); Serial.println(WiFi.localIP()); } void loop() { // Établir une connexion TCP avec le serveur WiFiClient client; if (!client.connect(serverAddress, serverPort)) { Serial.println("Échec de la connexion au serveur"); return; } // Envoyer des données au serveur String data = "Donnees_a_envoyer"; Serial.print("Envoi des données au serveur: "); Serial.println(data); client.print("GET /sendData?"); client.print("data="); client.print(data); client.println(" HTTP/1.1"); client.print("Host: "); client.println(serverAddress); client.println("Connection: close"); client.println(); delay(5000); // Attendre 5 secondes avant d'envoyer la prochaine série de données }

Assurez-vous de remplacer "VotreSSID", "VotreMotDePasse", "adresse_du_serveur" et "Donnees_a_envoyer" par vos propres informations.

Application Android avec MIT App Inventor

L'application Android est créée avec MIT App Inventor, un outil convivial pour le développement d'applications Android. Elle vous permettra de contrôler le relais en appuyant simplement sur des boutons dans l'application.

Interface de l'application Android : 

xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="16dp"> <TextView android:id="@+id/textViewStatus" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="État de la connexion:" android:textSize="18sp" android:textStyle="bold" /> <TextView android:id="@+id/textViewConnectionStatus" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/textViewStatus" android:text="Non connecté" android:textSize="16sp" android:layout_marginTop="8dp" /> <Button android:id="@+id/buttonConnect" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/textViewConnectionStatus" android:layout_marginTop="16dp" android:text="Connecter" /> <Button android:id="@+id/buttonDisconnect" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/buttonConnect" android:layout_marginTop="8dp" android:text="Déconnecter" android:visibility="gone" /> <EditText android:id="@+id/editTextData" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/buttonDisconnect" android:layout_marginTop="16dp" android:hint="Données à envoyer" android:inputType="text" /> <Button android:id="@+id/buttonSendData" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/editTextData" android:layout_marginTop="8dp" android:text="Envoyer" /> </RelativeLayout>

Cette interface comprend :

  • Un TextView pour afficher l'état de la connexion.
  • Deux boutons : un pour se connecter et un pour se déconnecter.
  • Un EditText pour saisir les données à envoyer.
  • Un bouton pour envoyer les données.

Fonctionnement

Après avoir assemblé le circuit et téléversé le programme sur l'ESP8266, ouvrez l'application Android sur votre téléphone. Vous pourrez alors allumer ou éteindre l'appareil connecté en appuyant sur les boutons de l'application.

Applications

  • Ce projet peut être la première étape vers un système domotique plus complexe, où vous pourrez contrôler plusieurs appareils depuis votre téléphone.
  • Vous pouvez personnaliser l'application selon vos besoins pour créer une expérience utilisateur optimale.
  • Vous pourrez même envisager de contrôler le relais depuis n'importe où dans le monde en le connectant à Internet.

Enregistrer un commentaire

0 Commentaires

Close Menu