Table des matières:

Lampe IoT DIY pour la domotique -- Tutoriel ESP8266 : 13 étapes (avec photos)
Lampe IoT DIY pour la domotique -- Tutoriel ESP8266 : 13 étapes (avec photos)

Vidéo: Lampe IoT DIY pour la domotique -- Tutoriel ESP8266 : 13 étapes (avec photos)

Vidéo: Lampe IoT DIY pour la domotique -- Tutoriel ESP8266 : 13 étapes (avec photos)
Vidéo: DOMOTIQUE DIY !! 🤖 Allume une ampoule à 10000km en une FRACTION de seconde en WIFI !! Tuto n°1 2024, Juillet
Anonim
Image
Image
Lampe IoT DIY pour la domotique || Tutoriel ESP8266
Lampe IoT DIY pour la domotique || Tutoriel ESP8266

Dans ce tutoriel, nous allons créer une lampe intelligente connectée à Internet. Cela ira profondément dans l'Internet des objets et ouvrira un monde de domotique !

La lampe est connectée au WiFi et conçue pour avoir un protocole de message ouvert. Cela signifie que vous pouvez sélectionner le mode de contrôle que vous voulez ! Il peut être contrôlé via un navigateur Web, des applications domotiques, des assistants intelligents comme Alexa ou Google Assistant, et bien plus encore !

En prime, cette lampe est accompagnée d'une application pour contrôler le projet. Ici, vous pouvez sélectionner différents modes de couleur, effectuer un fondu entre les couleurs RVB et régler des minuteries.

La lampe se compose d'un panneau LED et d'un panneau de contrôle. La carte LED utilise trois types de LED différents pour un total de cinq canaux LED ! Il s'agit de RVB avec du blanc chaud et du blanc froid. Étant donné que tous ces canaux peuvent être réglés individuellement, vous disposez d'un total de 112,3 combinaisons péta !

Commençons!

[Lire la vidéo]

Étape 1: Pièces et outils

Pièces et outils
Pièces et outils

les pièces

  • Wemos D1 Mini
  • 15 x LED 5050 blanc chaud
  • 15 x LED blanc froid 5050
  • 18 LED RVB 5050
  • 6 résistances 300 ohms 1206
  • 42 x 150 ohms 1206 résistances
  • 5 résistances de 1k ohm
  • 5 x NTR4501NT1G

    MOSFET

  • Régulateur de tension linéaire, 5V
  • PCB

    Téléchargez les fichiers gerber dans l'étape du circuit pour créer vos propres PCB

  • Alimentation 12V 2A

Outils

  • Fer à souder

    • Étain à souder
    • Flux de soudure liquide
  • Ruban de masquage
  • Ruban adhésif double face
  • Imprimante 3D
  • Pince à dénuder

Étape 2: le plan

Le plan
Le plan

Le projet complet se compose de quatre parties principales:

  1. Circuit

    Le circuit est réalisé sur un PCB. Le circuit terminé sera composé de plus de 100 composants individuels. C'est un énorme soulagement de ne pas câbler tout ça à la main sur une planche perforée

  2. Code Arduino

    J'utilise le Wemos D1 Mini qui utilise un ESP8266 comme microcontrôleur connecté WiFi. Le code démarrera un serveur sur le D1. Lorsque vous visitez l'adresse de ce serveur, le D1 interprétera cela comme des commandes différentes. Le microcontrôleur agit alors sur cette commande pour régler les lumières en conséquence

  3. Télécommande

    • J'ai créé une application juste pour ce projet afin de faciliter au maximum le contrôle de la lampe à votre guise
    • La lampe intelligente peut vraiment être contrôlée par tout ce qui est capable d'envoyer une requête http GET. Cela signifie que la lampe accepte les commandes d'un éventail presque illimité d'appareils
  4. impression en 3D

    Cette lampe intelligente mérite un étui cool. Et comme pour tant de projets où vous aviez besoin d'un étui sympa, l'impression 3D vient à la rescousse

Étape 3: Circuit

Circuit
Circuit
Circuit
Circuit
Circuit
Circuit

J'ai commandé mes PCB sur jlcpcb.com. Temps de divulgation complet: ils ont également parrainé ce projet.

Le PCB se compose de deux parties. Il a la carte LED et le tableau de commande. Le PCB peut être séparé pour connecter ultérieurement ces deux parties par un fil flexible. Cela est nécessaire à la fois pour garder la lampe imprimée en 3D mince et pour incliner la carte LED pour répartir la lumière uniformément à travers la pièce du trou.

La carte de commande abrite le microcontrôleur D1 ainsi que cinq MOSFET pour la gradation des LED et un régulateur de tension pour donner au microcontrôleur un 5V fluide.

La carte LED dispose de cinq canaux LED dans trois types de LED différents. Parce que nous utilisons une source d'alimentation 12V, les LED sont configurées comme trois LED en série avec une résistance, puis répétées 16 fois en parallèle.

Une LED blanche ordinaire consomme généralement 3,3 V. Sur un segment de la carte, trois de ces LED sont en série, ce qui signifie que la chute de tension est agrégée dans le circuit. Trois LED qui consomment 3,3 V chacune signifient qu'un segment de LED consomme 9,9 V. Le circuit est alimenté en 12 V, ce qui laisse 2,1 V.

Si le segment ne comprenait que les trois LED, elles obtiendraient plus de tension qu'elles n'en dissiperaient. Ce n'est pas bon pour les LED et peut rapidement les endommager. C'est pourquoi chaque segment possède également une résistance en série avec les trois LED. Cette résistance est là pour laisser tomber les 2,1 V restants dans la jonction série.

Donc, si chaque segment représente 12 V, cela signifie que chacun des segments est connecté les uns aux autres en parallèle. Lorsque les circuits sont connectés en parallèle, ils obtiennent tous la même tension et le courant est agrégé. Le courant dans une connexion en série est toujours le même.

Une LED ordinaire consomme 20 mA de courant. Cela signifie qu'un segment, composé de trois LED et d'une résistance en série, consommera toujours 20 mA. Lorsque nous connectons plusieurs segments en parallèle, nous ajoutons le courant. Si vous coupez six LED de la bande, vous avez deux de ces segments en parallèle. Ce qui signifie que votre circuit total consomme toujours 12 V, mais qu'il consomme 40 mA de courant.

Étape 4: Souder les LED

LED à souder
LED à souder
LED à souder
LED à souder
LED à souder
LED à souder

En essayant quelques trucs, j'ai trouvé qu'un simple ruban de masquage est tout simplement le plus efficace et le plus flexible pour empêcher le PCB de se déplacer.

Pour les pièces à plusieurs broches, comme les 6 broches sur une LED 5050, je commence par placer de la soudure sur l'un des plots du PCB. Ensuite, il suffit de garder cette soudure fondue avec le fer à souder tout en faisant glisser le composant à sa place avec une pince à épiler.

Maintenant, les autres pastilles peuvent être facilement collées avec de la soudure. Cependant, pour accélérer ce travail, je suggère de prendre du flux de soudure liquide. Je ne peux vraiment pas recommander assez ce genre de choses.

Appliquez une partie du flux sur les pastilles de soudure, puis faites fondre de la soudure sur la pointe de votre fer à souder. Il ne reste plus qu'à amener la soudure fondue sur les plots et tout se met en place. Agréable et simple.

En ce qui concerne les résistances et autres composants à deux plots, aucun flux de soudure n'est vraiment nécessaire. Appliquez de la soudure sur l'un des plots et mettez la résistance en place. Maintenant, faites simplement fondre de la soudure sur le tampon numéro deux. Peasy facile.

Jetez un œil à la cinquième image de cette étape. Faites attention à l'orientation des LED. Les LED blanches chaudes et froides ont leur encoche orientée dans le coin supérieur droit. Les LED RVB ont leur encoche dans le coin inférieur gauche. Il s'agit d'une erreur de conception de ma part, car je n'ai pas pu trouver la fiche technique des LED RVB utilisées dans ce projet. Eh bien, vivez et apprenez et tout ça !

Étape 5: Tableau de contrôle de soudure

Tableau de contrôle de soudure
Tableau de contrôle de soudure
Tableau de contrôle de soudure
Tableau de contrôle de soudure
Tableau de contrôle de soudure
Tableau de contrôle de soudure
Tableau de contrôle de soudure
Tableau de contrôle de soudure

Après avoir terminé le marathon de la carte LED, la carte de contrôle est un jeu d'enfant à souder. J'ai placé les cinq MOSFET et les résistances grille-source correspondantes, avant de passer au régulateur de tension.

Le régulateur de tension dispose d'espaces optionnels pour le lissage des condensateurs. Alors que je les ai soudés sur cette photo, j'ai fini par les retirer car ils n'étaient pas vraiment nécessaires.

L'astuce pour obtenir une carte de contrôle mince est de mettre les en-têtes de broches en haut par le bas. Une fois les broches en place, la longueur inutilisée peut être coupée par l'arrière avec le plastique noir. Cela rend la face inférieure complètement lisse.

Avec tous les composants en place, il est temps de réunir les deux cartes. J'ai juste coupé et dénudé six petits fils de 2,5 pouces (7 cm) et connecté les deux PCB.

Étape 6: configuration Wi-Fi

Configuration Wi-Fi
Configuration Wi-Fi
Configuration Wi-Fi
Configuration Wi-Fi

Il y a six lignes simples dans le code que vous devez modifier.

  1. ssid, ligne 3

    Le nom de votre routeur. Assurez-vous que la casse des lettres est correcte lorsque vous écrivez ceci

  2. wifiPass, ligne 4

    Le mot de passe de votre routeur. Encore une fois, faites attention au boîtier

  3. ip, ligne 8

    L'adresse IP statique de votre lampe intelligente. J'ai choisi une adresse IP aléatoire sur mon réseau et j'ai essayé de la cingler dans la fenêtre de commande. S'il n'y a pas de réponse de l'adresse, vous pouvez supposer qu'elle est disponible

  4. passerelle, ligne 9

    Ce sera la passerelle sur votre routeur. Ouvrez une fenêtre de commande et tapez "ipconfig". La passerelle et le sous-réseau sont entourés en rouge sur l'image

  5. sous-réseau, ligne 10

    Comme pour la passerelle, cette information est encerclée dans l'image pour cette étape

  6. fuseau horaire, ligne 15

    Le fuseau horaire dans lequel vous vous trouvez. Modifiez-le si vous souhaitez utiliser les fonctions de minuterie intégrées pour allumer et éteindre les lumières à des heures spécifiques. La variable est un simple plus ou moins GMT

Étape 7: Code du microcontrôleur

Code du microcontrôleur
Code du microcontrôleur
Code du microcontrôleur
Code du microcontrôleur
Code du microcontrôleur
Code du microcontrôleur
Code du microcontrôleur
Code du microcontrôleur

Après avoir modifié tous les paramètres pertinents à l'étape précédente, il est enfin temps de télécharger le code sur le Wemos D1 Mini !

Le code arduino nécessite quelques bibliothèques et dépendances. Suivez d'abord ce guide de sparkfun si vous n'avez jamais téléchargé de code depuis arduino IDE vers un ESP8266.

Téléchargez maintenant la bibliothèque Time et la bibliothèque TimeAlarms. Décompressez-les et copiez-les dans le dossier de la bibliothèque arduino sur votre ordinateur. Tout comme l'installation de n'importe quelle autre bibliothèque arduino.

Faites attention aux paramètres de téléchargement dans l'image à cette étape. Sélectionnez la même configuration, à l'exception du port com. Ce sera le port COM auquel votre microcontrôleur est connecté sur votre ordinateur.

Lorsque le code est téléchargé, ouvrez le terminal série à un message d'une connexion réussie, espérons-le ! Vous pouvez maintenant ouvrir votre navigateur et visiter l'adresse IP statique que vous avez enregistrée dans le microcontrôleur. Félicitations, vous venez de créer votre propre serveur et hébergez une page Web dessus !

Étape 8: Ouvrir le protocole de message

Protocole de message ouvert
Protocole de message ouvert
Protocole de message ouvert
Protocole de message ouvert
Protocole de message ouvert
Protocole de message ouvert
Protocole de message ouvert
Protocole de message ouvert

Lorsque vous contrôlez la lampe intelligente avec l'application, tous les messages seront automatiquement traités pour vous. Voici une liste des messages que la lampe accepte, si vous souhaitez créer votre propre télécommande. J'ai utilisé un exemple d'adresse IP pour illustrer comment utiliser les commandes.

  • 192.168.0.200/&&R=1023G=0512B=0034C=0500W=0500

    • Définit les lumières rouges à la valeur maximale, les lumières vertes à la moitié de la valeur et les lumières bleues à 34. Le blanc froid et le blanc chaud sont à peine allumés
    • Lors de la saisie des valeurs, vous pouvez choisir entre 0 et 1023. Écrivez toujours les valeurs claires sous forme de quatre chiffres dans l'URL
  • 192.168.0.200/&&B=0800

    Définit les lumières bleues à la valeur 800 tout en éteignant simultanément toutes les autres lumières

  • 192.168.0.200/LED=OFF

    Éteint complètement toutes les lumières

  • 192.168.0.200/LED = FONDU

    Commence lentement à s'estomper entre toutes les couleurs RVB possibles. Parfait pour l'ambiance

  • 192.168.0.200/NOTIFYR=1023-G=0512-B=0000

    Clignote la couleur donnée deux fois pour indiquer la notification entrante. Parfait si vous voulez, par exemple, créer un programme sur votre ordinateur pour faire clignoter la lampe en rouge chaque fois que vous recevez un nouvel e-mail

  • 192.168.0.200/DST=1

    • Ajuste l'horloge à l'heure d'été. Ajoute une heure à l'horloge
    • /DST=0 utilisez ceci pour revenir à l'heure d'été, supprime une heure de l'horloge si l'heure d'été est active
  • 192.168.0.200/TIMER1H=06M=30R=1023G=0512B=0034C=0000W=0000

    Enregistre l'état de la minuterie 1. Cette minuterie activera les valeurs RVB données à 06h30 du matin

  • 192.168.0.200/TIMER1H=99

    Réglez l'heure de la minuterie sur 99 pour désactiver la minuterie. Les valeurs RVB sont toujours stockées, mais la minuterie n'allumera pas les lumières lorsque l'heure est réglée sur 99

  • La lampe a quatre minuteries individuelles. Remplacez "TIMER1" par "TIMER2", "TIMER3" ou "TIMER4" pour régler l'une des autres minuteries intégrées.

Ce sont les commandes actuellement intégrées. Laissez un commentaire si vous avez des idées intéressantes pour de nouvelles commandes à créer dans le code arduino ou dans l'application distante !

Étape 9: Télécommande

Télécommande
Télécommande
Télécommande
Télécommande
Télécommande
Télécommande
Télécommande
Télécommande

Cliquez ici pour télécharger l'application. La configuration est très simple, il suffit d'entrer l'adresse IP de votre lampe intelligente et de sélectionner si vous souhaitez contrôler uniquement les LED RVB ou les LED RVB + blanches chaudes et froides.

Comme expliqué à l'étape précédente, vous savez maintenant quel protocole de message l'application utilise. Il envoie une requête http GET avec les URL. Cela signifie que vous pouvez également créer votre propre circuit de microcontrôleur tout en utilisant cette application pour contrôler vous-même les fonctions que vous développez.

Parce que nous avons vraiment examiné en profondeur le protocole de message, vous pouvez également contrôler la lampe intelligente par tout ce qui est capable d'envoyer une requête http GET. Cela signifie n'importe quel navigateur sur un téléphone ou un ordinateur, ou des appareils domestiques intelligents ou des assistants comme Alexa ou Google Assistant.

Tasker est une application qui vous permet essentiellement de créer des conditions pour contrôler à peu près n'importe quoi. J'ai utilisé cela pour faire clignoter la lampe intelligente avec la couleur d'une notification lorsque je la reçois sur mon téléphone. J'ai également configuré Tasker pour allumer les lumières à blanc complet, lorsque le téléphone se connecte à mon réseau Wi-Fi domestique après 16h00 un jour de semaine. Cela signifie que les lumières s'allument automatiquement lorsque je rentre de l'école. C'est vraiment cool de rentrer à la maison avec les lumières allumées automatiquement !

Étape 10: Impression 3D

impression en 3D
impression en 3D

Le boîtier de la lampe lui-même peut être imprimé presque entièrement sans supports. Les seules pièces qui ont vraiment besoin de support sont les chevilles destinées à l'accouplement avec le PCB. C'est pourquoi j'ai rendu le stl disponible avec et sans une petite structure de support pour ces chevilles. L'avantage d'utiliser ce support personnalisé est que l'impression est beaucoup plus rapide ! Et nous ne bénéficions d'un support d'impression que sur les pièces qui en ont vraiment besoin.

Vous pouvez télécharger les fichiers.stl ici

Étape 11: Tout rassembler

Rassemblez tout
Rassemblez tout
Rassemblez tout
Rassemblez tout
Rassemblez tout
Rassemblez tout

Après l'impression 3D commencez par retirer le support d'impression. Les câbles d'alimentation passent dans des canaux séparés et sont attachés ensemble. Ce nœud créera une décharge de traction empêchant les câbles d'être arrachés du PCB. Soudez les câbles d'alimentation à l'arrière du PCB et assurez-vous d'avoir la bonne polarité !

Le PCB de contrôle est ensuite fixé avec un morceau de ruban adhésif pour qu'il reste aligné à l'intérieur du boîtier. Le PCB LED peut être simplement mis à sa place où il repose à plat contre le boîtier tout seul.

Étape 12: accrocher la lampe

Suspendre la lampe
Suspendre la lampe
Suspendre la lampe
Suspendre la lampe
Suspendre la lampe
Suspendre la lampe

Il y a beaucoup d'options pour accrocher cette lampe au mur. Parce que je pourrais continuellement mettre à jour le code pour améliorer la lampe, je voulais un moyen de démonter la lampe de temps en temps. Vous pouvez utiliser de la colle chaude, mais je recommande du ruban adhésif double face. Il est préférable d'utiliser le ruban adhésif double face épais et mousseux car il maintient la lampe le mieux contre un mur texturé.

Étape 13: Terminé

Fini
Fini
Fini
Fini
Fini
Fini

Avec la lampe accrochée au mur et prête à accepter des commandes, cela signifie que vous avez terminé !

Le panneau LED est incliné de manière à disperser la lumière uniformément dans la pièce. C'est un bel ajout à n'importe quel espace de travail et la possibilité d'intégration avec la domotique est un grand plus. J'aime beaucoup la possibilité de définir les couleurs RVB et d'ajuster la balance des blancs entre la lumière froide et la lumière chaude. Il a l'air élégant et est d'une grande aide pour régler les lumières d'ambiance ou de travail, pour répondre à tous les besoins d'éclairage que j'ai en ce moment.

Félicitations, vous avez maintenant fait un grand saut dans le monde de l'IoT et de la domotique !