- Prise intelligente ESP pour la domotique
- Matériaux nécessaires
- Programme Smart Plug pour ESP8266
- Schéma
- Boîtier imprimé en 3D pour prise Smart Plug
Depuis que j'ai commencé à travailler avec les modules Wi-Fi ESP, j'ai toujours voulu créer une prise Wi-Fi intelligente qui me permette de contrôler mes charges AC sans fil via un téléphone intelligent. Bien que des produits comme ceux-ci soient déjà disponibles sur le marché, comme le populaire Moko WiFi Smart Plug ou Sonoff, ils sont un peu chers et en plus de cela, cela ne vous donne pas la joie de créer le vôtre. Donc, dans ce projet, je vais vous montrer comment créer votre propre prise intelligente à l'aide du module Wi-Fi ESP8266. L'appareil que nous avons construit peut facilement être branché sur n'importe quelle prise secteur sortante, puis à l'autre extrémité, vous pouvez connecter la charge réelle simplement en la branchant dans cette prise de notre appareil. Après cela, gardez l'interrupteur principal de votre prise toujours allumé et vous pourrez contrôler votre charge directement depuis votre smartphone. Fun non? Alors entrons dans le projet….
Prise intelligente ESP pour la domotique
Nous avons déjà construit une poignée de projets de domotique, de la simple domotique basée sur RF à ma domotique à commande vocale basée sur l'assistant Google préférée. Mais aujourd'hui, l'exigence de ce projet est légèrement différente.
Ici, le but est d'allumer / éteindre mon routeur Wi-Fi en utilisant simplement le Smartphone directement depuis mon poste de travail. Parce que parfois ma connexion Internet tombe en panne et lorsque j'appelle mon service client, la réponse standard que j'obtiens est «Monsieur, je suis désolé pour la gêne occasionnée. Veuillez redémarrer votre routeur, en l'éteignant puis en le rallumant après quelques secondes » Puffff! Fatigué de me rendre au routeur à chaque fois, j'ai décidé de créer cette prise intelligente wifi et de contrôler mon routeur en l'utilisant.
Mais attendez une minute! Je n'aurai plus accès à Internet une fois mon routeur éteint. Alors, comment puis-je le rallumer à distance? Heureusement, notre ESP8266 peut être utilisé comme point d'accès, ce qui signifie qu'il peut également agir comme un routeur en envoyant son propre signal wi-fi. Ce signal Wi-Fi sera toujours disponible tant que l'ESP8266 est alimenté. Par conséquent, nous programmerons notre ESP8266 en tant que portail captif, de cette façon, une fois que nous nous serons connectés au signal Wi-Fi de l'ESP, nous serons redirigés vers une page Web à partir de laquelle nous pouvons activer / désactiver notre charge.
Matériaux nécessaires
1. Module Wi-Fi ESP8266
2. Convertisseur CA / CC Hi-Link (3,3 V)
3. Relais 3V
4. Transistor NPN BC547
5. Module de programmation FTDI
6. Blindage Wi-Fi Arduino
7. Fils de connexion
Remarque: nous utilisons ce bouclier Wi-Fi Arduino que nous avons construit précédemment. La carte n'est utilisée que pour télécharger le code Arduino dans le module ESP8266. Si vous n'avez pas cette carte, vous pouvez soit en créer une en utilisant le lien d'utilisation de ce circuit de programmation ESP8266 simple pour télécharger votre code.
Programme Smart Plug pour ESP8266
Avant de continuer, plongeons directement dans le programme pour comprendre comment notre prise intelligente DIY WiFi fonctionnera. Comme vous pouvez le voir ici, nous commençons le programme en incluant quelques fichiers d'en-tête et en configurant un serveur de réseau DNS
#comprendre
Ensuite, nous initialisons la broche GPIO 2 de l'ESP comme sortie qui sera utilisée pour contrôler notre charge. Après quoi, nous avons un long code HTML pour notre page Web. Ici, nous avons totalement trois écrans sur notre page Web, à savoir l'écran d'accueil, l'écran à l'écran et l'écran désactivé.
String Home_Screen = "" // Page 1 - Code HTML de l'écran d'accueil "" " " + style_detials + "
""Bienvenue - CircuitDigest
"" "; String ON_Screen =" "// Page 2 - Si l'appareil est allumé" "" "+ style_detials +" ""Smart Plug - Allumé
"" "; String OFF_Screen =" "// Page 3 - Si l'appareil est éteint " " " " + style_detials + " " "Prise intelligente - Éteint
" " ";Ces trois pages Web une fois ouvertes apparaîtront quelque chose comme ceci. Vous pouvez personnaliser votre page Web pour qu'elle apparaisse comme vous l'aimez.
Ensuite, nous avons notre fonction de configuration vide à l' intérieur de laquelle nous définissons notre ESP pour qu'il fonctionne comme un point d'accès et fournissons également un nom pour celui-ci, ici «ESP_Smart_Plug». Lorsqu'un utilisateur se connecte à ce Wi-Fi, il sera redirigé vers la page d'accueil que nous avons définie précédemment.
pinMode (LED_BUILTIN, OUTPUT); // Broche LED comme sortie pour l'indication pinMode (GPIO_2, OUTPUT); // Broche GPIO comme sortie pour le contrôle de relais WiFi.mode (WIFI_AP); // Définit ESP en mode AP WiFi.softAPConfig (apIP, apIP, IPAddress (255, 255, 255, 0)); WiFi.softAP ("ESP_Smart_Plug"); // Nommez votre réseau AP dnsServer.start (DNS_PORT, "*", apIP); webServer.onNotFound (() { webServer.sendHeader ("Location", String ("http://www.circuitdigest-automation.com/home.html"), true); // Ouvrir l'écran d'accueil par défaut webServer.send (302, "text / plain", ""); });
Sur la page d'accueil, si l'utilisateur clique sur le bouton ON, la page à l'écran s'affichera et la broche GPIO 2 sera réglée haut
// ON_Screen webServer.on ("/ relay_ON", () {// Si allumer le bouton est pressé digitalWrite (LED_BUILTIN, LOW); // Éteint la LED digitalWrite (GPIO_2, HIGH); // Désactive le relais webServer.send (200, "text / html", ON_Screen); // Afficher cet écran });
De même, si l'utilisateur clique sur le bouton d'arrêt, la page hors écran sera affichée et la broche GPIO 2 sera définie sur BAS.
// OF_Screen webServer.on ("/ relay_OFF", () {// Si vous appuyez sur le bouton d'arrêt digitalWrite (LED_BUILTIN, HIGH); // Allume la LED digitalWrite (GPIO_2, LOW); // Allume le relais webServer.send (200, "text / html", OFF_Screen); // Afficher cet écran });
Le code complet ainsi que les fichiers de la bibliothèque peuvent être téléchargés sous forme de fichier ZIP à partir du lien ci-dessous. Maintenant que notre code est prêt, nous pouvons le télécharger sur notre module ESP en cliquant simplement sur le bouton de téléchargement et en attendant que le code soit téléchargé. Le programme complet ainsi que les fichiers de la bibliothèque peuvent être téléchargés à partir du lien ci-dessous
ESP8266 Smart Plug - Téléchargement du code Arduino
Ceux qui ont le bouclier Wi-Fi peuvent simplement brancher vos modules ensemble comme indiqué ci-dessus et le connecter à votre ordinateur pour commencer à programmer notre ESP8266 à l'aide de l'IDE Arduino. Les personnes qui n'ont pas cette carte peuvent utiliser le schéma de circuit comme mentionné précédemment.
Une fois le code téléchargé, recherchez les réseaux Wi-Fi sur votre téléphone et vous devriez trouver un signal nommé «ESP_Smart_Plug». Connectez-vous et vous serez redirigé vers la page Web que nous venons de concevoir. Ici, lorsque vous appuyez sur le bouton d'arrêt, vous devriez remarquer que le voyant de notre carte ESP s'éteint et lorsque vous appuyez sur le bouton d'allumage, le voyant doit s'allumer à nouveau.
Après avoir vérifié le code plusieurs fois, nous n'aurons plus besoin de la carte de programmation pour ce projet. Maintenant, nous devons construire un circuit pour alimenter notre module ESP directement à partir de la tension secteur et utiliser sa broche GPIO pour basculer un relais. Pour construire ce circuit, j'ai utilisé un module convertisseur AC-DC de Hi-Link qui convertit la tension secteur AC en 3,3 V DC avec un courant de sortie de 900 mA suffisant pour alimenter le module ESP via le secteur. Le relais côté sortie est un relais 3,3 V qui peut être contrôlé par la broche GPIO de l'ESP via un transistor comme ce BC547. Nous aurons également besoin d'une résistance 1k pour limiter le courant de base de notre transistor.
Schéma
Le schéma de circuit complet de la prise intelligente Wi-Fi ressemblerait à ceci.
Le secteur pour alimenter notre projet sera obtenu grâce à cette prise. Les autres composants sont ceux qui ont expliqué Eariler. Une autre chose importante à se concentrer est de maintenir le GPIO-0 et le GPIO-2 à un niveau élevé lors du démarrage. Sinon, le module ESP entrera en mode de programmation et le code de sortie ne fonctionnera pas. Par conséquent, j'ai utilisé une résistance de 10k (des valeurs comprises entre 3,3k et 10k peuvent être utilisées) pour tirer la broche GPIO vers le haut par défaut. Vous pouvez également utiliser un transistor PNP à la place du BC547 et commuter le relais du côté haut. Avec le schéma de circuit prêt, j'ai prévu comment souder ces composants en gardant la taille de la carte aussi petite que possible afin qu'elle s'insère dans un petit boîtier et procéder à la soudure de la carte.
Boîtier imprimé en 3D pour prise Smart Plug
Ensuite, j'ai mesuré les dimensions de la carte à l'aide de mon vernier et mesuré également les dimensions de la fiche et de la prise pour concevoir un boîtier pour ma prise intelligente. Ma conception ressemblait à ceci ci-dessous une fois qu'elle a été faite.
Après avoir été satisfait de la conception, je l'ai exporté sous forme de fichier STL, je l'ai découpé en tranches en fonction des paramètres de l'imprimante et je l'ai finalement imprimé. Encore une fois, le fichier STL est également disponible au téléchargement sur thingiverse et vous pouvez imprimer votre propre boîtier en l'utilisant.
Une fois l'impression terminée, j'étais assez satisfait du résultat. Ensuite, j'ai ajouté les fils à ma carte et les ai également vissés aux bornes d'alimentation et à la prise. Une fois la connexion terminée, j'ai assemblé le circuit dans mon boîtier et tout était bien ajusté comme vous pouvez le voir ici.
Avec ma prise intelligente prête à l'action, je suis allé à mon routeur, tracé son fil pour trouver son adaptateur. Ensuite, je l'ai retiré de la prise et connecté la prise intelligente à la même prise et l'ai allumée. Maintenant, j'ai rebranché l'adaptateur sur notre prise intelligente et comme ça je peux le contrôler à partir de mon téléphone.De la même manière, vous pouvez contrôler n'importe quelle charge secteur de faible puissance dans votre maison et vous amuser.
Le code complet peut être téléchargé à partir d'ici et une vidéo de travail pour cette prise de courant intelligente DIY se trouve au bas de cette page. J'espère que vous avez apprécié le projet, faites-moi savoir dans la section des commentaires ce que vous automatiseriez avec cet appareil. Si vous avez des questions, laissez-les dans le forum et je ferai de mon mieux pour y répondre.