Table des matières:

Domotique avec Android et Arduino : ouvrez la porte lorsque vous rentrez chez vous : 5 étapes
Domotique avec Android et Arduino : ouvrez la porte lorsque vous rentrez chez vous : 5 étapes

Vidéo: Domotique avec Android et Arduino : ouvrez la porte lorsque vous rentrez chez vous : 5 étapes

Vidéo: Domotique avec Android et Arduino : ouvrez la porte lorsque vous rentrez chez vous : 5 étapes
Vidéo: DOMOTIQUE DIY !! 🤖 Allume une ampoule à 10000km en une FRACTION de seconde en WIFI !! Tuto n°1 2024, Novembre
Anonim
Domotique avec Android et Arduino: ouvrez la porte lorsque vous rentrez chez vous
Domotique avec Android et Arduino: ouvrez la porte lorsque vous rentrez chez vous

Ce Instructable concerne la configuration d'un système domotique à contrôler via un smartphone, à l'aide d'une connexion Internet, afin qu'il soit accessible de partout où vous en avez besoin. De plus, il effectuera certaines actions chaque fois qu'un critère est rempli (comme, par exemple, allumer la lumière lorsque le smartphone se connecte au réseau wifi domestique, ouvrir le portail lorsque vous entrez dans une zone déterminée par GPS, ou tout ce que vous pourriez vouloir).

Une application Android existante sera utilisée, ce qui nécessite le moins de codage possible: il suffit de télécharger le code et le tour est joué. Le cerveau - le microcontrôleur - sera une carte Arduino ou compatible Arduino, telle qu'une Aruino Uno avec un blindage Ethernet ou une NodeMCU ESP8266.

Pour déclencher le système lorsqu'une condition est remplie (position GPS, heure, etc…) nous utiliserons le fameux Tasker; plus à ce sujet plus tard.

Lors de la réalisation du système, les points clés suivants ont été pris en compte:

  • Il doit être bon marché.
  • Il doit être accessible depuis l'extérieur du réseau domestique local (c'est-à-dire votre wifi).
  • Il doit être VRAIMENT facile et rapide à construire et à installer.
  • Il doit être fiable.

Cela étant dit, l'ensemble du projet coûtera environ 20€ (7,50€ pour un ESP8266, 8€ pour une carte relais, le reste pour du matériel supplémentaire), et vous prendra environ 30 minutes pour tout mettre en place - pas mal du tout.

Alors, si vous êtes intéressé, suivez ce guide simple et rapide, et créez le vôtre !

Étape 1: configuration du matériel

Configuration du matériel
Configuration du matériel

Une fois que vous avez rassemblé tous vos composants, la première chose à faire est de tout câbler.

Dans cet exemple, nous allons connecter une ampoule à l'ESP8266; gardez à l'esprit que vous devez être extrêmement prudent lorsque vous travaillez avec des tensions principales - les maisons utilisent du 220V, cela peut vous tuer ! Coupez toujours le courant avant de travailler dessus, et si vous n'êtes pas sûr de vous, cherchez l'aide d'un expert !

Cela dit: pour gérer de tels niveaux de tension et de courant (qui brûleront le minuscule ESPR8266), nous devons utiliser un relais approprié (comme celui-ci qui est une logique 5V, adapté à l'Arduino standard, ou celui-ci, un relais de niveau logique 3,3V, adapté au brochage 3.3V de l'ESP82666); les connexions sont assez faciles, suivez le schéma que nous avons joint.

Notez que certaines cartes relais (comme celle que nous avons liée) sont ACTIVE LOW; cela signifie que vous devez connecter le relais à la terre pour qu'il s'allume, et vice versa. Si tel est votre cas, Homotica propose une solution intéressante; nous verrons lequel dans le paragraphe suivant.

Étape 2: configuration de l'ESP8266

Configuration ESP8266
Configuration ESP8266
Configuration ESP8266
Configuration ESP8266
Configuration ESP8266
Configuration ESP8266

Maintenant que nous avons configuré le matériel du système d'automatisation, nous devons programmer le microcontrôleur.

Pour ce faire, nous aurons besoin du logiciel Arduino pour télécharger le croquis fourni sur l'ESP8266; alors accédez à la page de téléchargement Arduino et récupérez la version qui vous convient le mieux.

Une fois téléchargé, installez-le.

Maintenant que notre IDE est installé, nous avons besoin de la bibliothèque nécessaire pour que l'esquisse fonctionne; pour l'installer, ouvrez l'App Github Repo et choisissez Télécharger à partir du bouton vert sur le côté droit.

Dirigez-vous vers le dossier de téléchargement sur votre PC et, à l'aide d'un logiciel comme WinRar ou WinZip, décompressez le fichier; ouvrez le dossier nouvellement créé "homotica-master" et copiez le dossier interne nommé "Homotica" dans le dossier Arduino Editor Libraries (vous pouvez généralement le trouver sous C:\Users\your_user_name\Documents\Arduino\libraries). Supprimez les fichiers restants dans "homotica-master", nous n'en aurons pas besoin

Il manque une étape pour télécharger le code sur l'ESP8266: nous devons obtenir la bibliothèque pour que l'IDE Arduino communique avec la carte, car elle n'est pas officiellement prise en charge.

Pour ce faire, suivez ces étapes (crédits: Github ES8266 Arduino Repo):

  • Démarrez Arduino et ouvrez la fenêtre Fichiers> Préférences.
  • Entrez "https://arduino.esp8266.com/stable/package_esp8266com_index.json" (sans les guillemets) dans le champ URL du gestionnaire de carte supplémentaire. Vous pouvez ajouter plusieurs URL en les séparant par des virgules.
  • Ouvrez Boards Manager à partir du menu Tools > Board et installez la plate-forme esp8266 (recherchez "esp8266" et téléchargez "esp8266 by ESP8266 Community").

Tout est mis en place. Occupons-nous du code d'esquisse.

Ouvrez Fichier>Exemple>Homotica>Homotica ESP8266, copiez TOUT le code dans un nouveau sketch et modifiez les paramètres suivants:

  • ssid: insérez ici le nom de votre réseau sans fil
  • mot de passe: votre mot de passe wifi
  • IP, passerelle, sous-réseau: vous n'aurez probablement pas à toucher à ces paramètres; changez d'ip si vous voulez que votre ESP8266 ait une adresse différente
  • mUdpPort: le port que nous ouvrirons plus tard dans le routeur; si tu ne sais pas ce que c'est, n'y touche pas
  • code: un code unique à 8 caractères qui sera utilisé pour authentifier votre application; vous pouvez choisir ce que vous voulez.

Si vous utilisez une configuration ACTIVE LOW, n'oubliez pas d'appeler homotica.setActiveLow() comme indiqué dans l'exemple de code !

Pour finir: ajoutez homotica.addUsedPin(5) (comme indiqué dans l'exemple) pour indiquer à l'ESP8266 quel GPIO il doit gérer, entre la boucle while et homotica.set(mUdpPort, code); supprimez toutes les lignes homotica.simulateUdp(…).

Voici le code qu'il devrait vous rester:

#comprendre

#include #include const char* ssid = "mywifiname"; const char* mot de passe = "wifipassword"; Adresse IP ip (192, 168, 1, 20); Passerelle d'adresse IP (192, 168, 1, 1); sous-réseau d'adresse IP (255, 255, 255, 0); int mUdpPort non signé = 5858; code de chaîne statique = "aBc159"; Homotica homotica; void setup() { WiFi.config(ip, gateway, subnet); WiFi.begin(ssid, mot de passe); while (WiFi.status() != WL_CONNECTED) { delay(500); } homotica.addUsedPin(5); homotica.setActiveLow(); //<-- uniquement si vous en avez besoin homotica.set(mUdpPort, code); } boucle vide() { homotica.refresh(); }

Lorsque tout est correctement configuré, modifiez les paramètres du compilateur à partir du menu Outils en fonction de la capture d'écran jointe, et sélectionnez le port auquel votre ESP8266 est connecté sur votre ordinateur dans Outils> Port.

Maintenant, cliquez sur télécharger. Votre microcontrôleur est configuré et prêt à fonctionner !

Étape 3: Routeur et IP

Routeur et IP
Routeur et IP
Routeur et IP
Routeur et IP

Pour communiquer avec l'ESP8266 depuis chaque réseau, nous devrons dire au routeur de laisser entrer la commande que nous lui envoyons.

Pour ce faire, accédez à la page de configuration de votre routeur (généralement 192.168.1.1) et recherchez quelque chose comme « serveur virtuel » ou « redirection de port »; vous pouvez localiser le réglage précis de votre modèle de routeur en recherchant dans Google.

Dans la redirection de port, créez une nouvelle règle qui autorise toutes les connexions à l'ESP8266 (celui configuré plus tôt) via le port ESP8266 (encore une fois, celui configuré plus tôt). Nommez-le Homotica, insérez l'IP ESP8266 dans le champ IP et enregistrez.

Si le routeur que vous utilisez ne vous le permet pas, ne vous inquiétez pas: vous ne pourrez pas utiliser l'application depuis le réseau mobile, mais elle fonctionnera parfaitement depuis l'intérieur de votre wifi domestique.

Maintenant, pour faire référence à notre routeur depuis le monde extérieur, nous devons connaître son IP publique; l'inconvénient est que la majorité des fournisseurs d'accès Internet ne vous donnent pas d'adresse IP statique, mais dynamique, qui change avec le temps.

Mais attendez, nous pouvons résoudre ce problème !

Dirigez-vous vers NoIp, créez un nouveau compte, puis créez un nouveau nom d'hôte (voir l'image ci-jointe). Notez le nom d'hôte que vous avez (dans mon exemple: https://yourhostname.ddns.net) et passez à l'étape suivante.

(Remarque: vous souhaiterez peut-être que votre ordinateur synchronise automatiquement l'IP de votre routeur avec votre nom d'hôte NoIp: téléchargez leur application gratuite pour le faire)

Étape 4: Configuration de l'application

Configuration de l'application
Configuration de l'application
Configuration de l'application
Configuration de l'application
Configuration de l'application
Configuration de l'application

Occupons-nous de l'application, d'accord ?

Téléchargez l'application depuis la page Play Store et ouvrez-la.

Ouvrez le menu de gauche, sélectionnez Tableaux et créez-en un nouveau. Nous allons renseigner les paramètres que nous avons précédemment définis dans le sketch code ESP8266:

  • Nom Arduino: ce que vous voulez (que ce soit ESP8266)
  • IP de l'hôte: cela pourrait être

    • l'IP statique du routeur référencée via le lien NoIp
    • l'IP ESP8266 si vous souhaitez l'utiliser uniquement depuis l'intérieur de votre réseau wifi domestique 192.168.1.20
  • Port hôte: celui que nous avons configuré et ouvert plus tôt 5858
  • Code d'authentification: le code à 8 caractères que nous avons défini dans le sketch aBc195

Sauvegarder. Ouvrez à nouveau le menu, créez un nouvel appareil; nous allons attacher une ampoule pour démonstration:

  • Nom: lumière
  • Nom du bouton: nous utiliserons On, choisissez ce que vous préférez
  • Numéro de broche: la broche à laquelle nous avons attaché l'ampoule. Fais attention! Sur l'ESP8266, les étiquettes des broches (D1, D2…) ne correspondent PAS au nom de la broche GPIO ! Recherchez dans Google pour déterminer quelle broche est quel GPIO (dans notre exemple: la broche 5 est étiquetée D1)
  • Comportement: vous pouvez choisir entre allumer, éteindre, changer d'état de "pousser" (allumer puis éteindre) l'appareil.

Sauvegarder. Si vous avez tout configuré correctement jusqu'à présent, appuyez sur On l'ampoule devrait s'allumer.

Cool, n'est-ce pas ?

Vous pouvez maintenant vous amuser à ajouter plus d'appareils, encore plus de tableaux et à les organiser en scènes.

Mais pour utiliser à pleine puissance ce que vous venez de créer, nous devrons utiliser Tasker.

Étape 5: Intégration de Tasker

Intégration de Tasker
Intégration de Tasker
Intégration de Tasker
Intégration de Tasker
Intégration de Tasker
Intégration de Tasker

Si vous possédez Tasker ou si vous souhaitez l'acheter, continuez à lire ! Nous l'utiliserons pour dire à Homotica quoi faire et quand le faire.

Dans cet exemple, nous allons allumer la lumière chaque fois que nous nous connectons à notre réseau wifi domestique ET que l'heure est comprise entre 16h et 18h.

Ouvrez Tasker; créez une nouvelle tâche (nommez-la Turn On Light), sélectionnez Add>Plugin>Homotica, appuyez sur l'icône du crayon pour configurer le plugin. Sélectionnez Lumière>Activé et enregistrez. De retour au menu principal créez un nouveau profil, sélectionnez État>WiFi connecté, insérez le nom du tour Wifi dans le champ SSID; appuyez sur retour et sélectionnez Allumer la lumière pour entrer dans l'activité. Maintenant, appuyez longuement sur la partie gauche du profil nouvellement créé, sélectionnez Ajouter> Heure> De 16h à 18h, puis fermez.

Nous avons fini. Notre lumière s'allumera lorsque nous entrons dans la maison à l'heure que nous avons fixée.

C'est pratique !

C'est maintenant à votre tour: soyez créatif avec Homotica et Tasker, et n'oubliez pas de nous montrer ce que vous avez créé !

Conseillé: