Table des matières:

Lampe design IoT avec IFTTT : 7 étapes (avec photos)
Lampe design IoT avec IFTTT : 7 étapes (avec photos)

Vidéo: Lampe design IoT avec IFTTT : 7 étapes (avec photos)

Vidéo: Lampe design IoT avec IFTTT : 7 étapes (avec photos)
Vidéo: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Novembre
Anonim
Lampe design IoT avec IFTTT
Lampe design IoT avec IFTTT
Lampe design IoT avec IFTTT
Lampe design IoT avec IFTTT

Dans ce Instructable, je vais vous guider dans la fabrication d'une lampe LED connectée à Internet qui est à la fois fonctionnelle et élégante.

Cet objet design funky est contrôlable avec une application Web ou le service en ligne IFTTT. Ce dernier permet de brancher la lampe à toutes sortes de services externes comme Google Assistant, Alexa, les notifications Android, l'heure et la date, les prévisions météorologiques, etc. Ce projet suppose une connaissance de base de l'ESP8266 et de l'éditeur Arduino.

Étape 1: Rassemblez l'électronique

Rassemblez l'électronique !
Rassemblez l'électronique !
Rassemblez l'électronique !
Rassemblez l'électronique !

Pour ce projet, vous aurez besoin des éléments suivants:

  • Un NodeMCU ou autre microcontrôleur ESP8266
  • Ruban LED Neopixel/WS2812B (1m 60LED/m)
  • Changeur de niveau*
  • Fils de saut (mâle à femelle)
  • Câble micro-USB
  • Prise murale USB (5V)

La bande LED a trois câbles: 5V in (rouge), GND (blanc) et DATA in (vert). L'ESP8266 fonctionne à 3,3 V mais possède une broche VU. Cette broche est directement connectée à l'alimentation USB, donc si vous alimentez votre carte en 5V via USB, cette tension sera également disponible sur la broche VU. Nous utiliserons cette broche pour alimenter la bande LED. Donc, en bref:

  • Connecter la terre à la terre (GND TO G)
  • Connectez 5V+ à Vu
  • Connectez Din à D2

* = Selon votre matériel particulier, ce câblage peut ne pas fonctionner. Étant donné que l'ESP8266 fonctionne à 3,3 V, le signal de données qu'il fournit sera également à 3,3 V. Étant donné que le WS2812B est alimenté en 5 V, le signal de données peut être trop faible pour être correctement reçu par la bande. Si le câblage ci-dessus ne fonctionne pas, vous aurez besoin d'un Level Shifter qui déplace le signal de données de 3,3 V à 5 V. Voir le schéma de câblage ci-joint.

Noter! Certaines bandes LED sont plus sujettes à la rupture que d'autres. Si vous n'avez jamais travaillé avec ces bandes, je vous recommande fortement de lire l'Überguide Neopixel pour obtenir des conseils sur la connexion en toute sécurité d'une bande LED Neopixel.

Étape 2: FastLED

LED rapide
LED rapide

Pour contrôler les LED, nous pouvons utiliser la bibliothèque FastLED. Si vous ne l'avez pas déjà fait, ajoutez cette bibliothèque à votre environnement Arduino (Esquisse > Inclure la bibliothèque > Gérer les bibliothèques > 'FastLED').

Pour vous assurer que votre câblage fonctionne, vous pouvez essayer l'un des nombreux exemples fournis avec la bibliothèque FastLED (Fichier > Exemples > FastLED). Assurez-vous de modifier les paramètres dans chaque exemple (nombre de LED = 60, broche de données = 2), avant de les télécharger sur votre carte.

Faites attention à ne pas régler les LED trop lumineuses lorsque la carte est connectée à votre ordinateur. Lorsque vous consommez plus de 500 mA, votre ordinateur peut fermer le port. Si vous souhaitez utiliser la bande à pleine luminosité, alimentez-la avec une prise murale USB pouvant fournir un ampérage suffisamment élevé.

Étape 3: Logiciel

Logiciel
Logiciel

Il est maintenant temps pour le logiciel personnalisé. Le logiciel est disponible sur GitHub:

github.com/dpkn/lamp/tree/master/software

Téléchargez le fichier du logiciel, décompressez-le et ouvrez le fichier software.ino dans votre éditeur Arduino. Assurez-vous que toutes les bibliothèques mentionnées dans ce fichier sont installées.

Allez dans l'onglet Config et ajoutez le nom et le mot de passe de votre réseau WiFi à ces lignes:

const char* ssid = "";

const char* mot de passe = "";

En fonction de votre routeur, vous devrez peut-être également modifier les éléments suivants:

const IPAddress staticIp (192, 168, 178, 101); // L'IP locale statique souhaitée de l'appareil

const IPAddress passerelle (192, 168, 178, 1); // Passerelle IP du routeur constIPAddress subnet(255, 255, 255, 0); // Sous-réseau du routeur

Sur MacOS, vous pouvez trouver ces paramètres sous Préférences Système > Réseau > Avancé > TCP/IP

Téléchargez les fichiers sur votre tableau. Si tout se passe bien, la bande s'allumera en blanc lorsqu'elle sera connectée à votre réseau WiFi. Ouvrez le moniteur série à 115 200 bauds pour rechercher des informations supplémentaires.

Étape 4: le contrôler localement

Pour démontrer le fonctionnement de la lampe, j'ai créé une petite web-app disponible sur https://lamp-app.surge.sh (source sur Codepen). Cette application envoie des requêtes JSON directement à l'ESP8266, qui à son tour met à jour les LED.

Ce qui précède ne fonctionnera que si votre lampe et votre téléphone sont connectés au même réseau WiFi, car vous adressez la lampe par son adresse IP locale. Pour pouvoir contrôler la lampe de n'importe où, vous devrez creuser dans les paramètres de votre routeur.

Étape 5: le contrôler de n'importe où

Pour ouvrir votre lampe à la chose magique qu'est le World Wide Web, nous devons faire quelque chose qui s'appelle la redirection de port. Fondamentalement, cela redirigera les demandes adressées à votre adresse IP publique (celle qui est fournie par votre FAI) et votre numéro de port (dans cet exemple, arbitrairement défini sur 300) vers l'adresse IP interne et locale sur laquelle votre ESP8266 est adressable.

Ce processus est différent pour chaque appareil, donc si vous ne savez pas comment le faire sur votre routeur spécifique, assurez-vous de rechercher sur Google « redirection de port » + le nom de votre routeur. Voici les paramètres dont vous aurez besoin:

Port externe de début/fin: 300

Port interne de début/fin: 300

Adresse IP interne: 192.168.178.101 (l'adresse qui est affichée dans le moniteur série)

Protocole: TCP/UDP

Avertissement! Après cela, votre lampe peut être contrôlée par toute personne connaissant votre IP publique et le port sur lequel la lampe fonctionne. Si vous ne pensez pas que ce soit une bonne idée, la mise en œuvre d'une couche de sécurité est recommandée

Pour tester si tout est configuré correctement, entrez ce qui suit dans votre navigateur: (si vous ne connaissez pas votre adresse IP publique, rendez-vous sur ce site Web.)

[VOTRE IP PUBLIQUE]: 300

Vous devriez voir un message de confirmation JSON. Vous pouvez maintenant essayer d'utiliser l'application avec votre adresse IP publique.

Étape 6: IFTTT

IFTTT
IFTTT
IFTTT
IFTTT
IFTTT
IFTTT
IFTTT
IFTTT

C'est là que commence le vrai plaisir. Maintenant que notre lampe est connectée à ~~ Internet ~~, nous pouvons utiliser le site Web IFTTT pour la connecter à tous les types de services.

Dans cet exemple, nous allons configurer une commande Google Assistant qui allume les lumières en rouge, mais vous pouvez choisir un autre service qui stimule votre imagination.

  1. Allez sur IFTTT.com et créez un compte si vous ne l'avez pas déjà fait
  2. Accédez à « Mes applets » > « Nouvelle applet »
  3. Pour le service de déclenchement, recherchez "Google Assistant"
  4. Sélectionnez « Dites une phrase simple »
  5. Trouvez quelques phrases uniques
  6. Pour le service d'action, recherchez « Webhooks »
  7. Utilisez les paramètres suivants:

URL:

Méthode: POST Type de contenu: application/json

Et pour le corps:

{ "luminosité":120, "state":4, "color":"red" }

Maintenant, lorsque nous disons la phrase que nous avons choisie, Google Assistant fera une demande à IFTTT, qui à son tour enverra une demande JSON à notre lampe. Assurez-vous de l'essayer! Plongez dans le code pour voir ce que vous pouvez faire d'autre avec la bande.

Étape 7: le rendre joli

Le rendre joli
Le rendre joli
Le rendre joli
Le rendre joli
Le rendre joli
Le rendre joli

La partie la plus chère de ce projet est le boîtier qui abrite la bande LED. Si vous voulez juste essayer ce projet sans dépenser trop d'argent, vous pouvez également envisager d'autres formes ou simplement fabriquer le tube avec du papier d'imprimante blanc. Vous trouverez ci-joint un fil de fer que vous pouvez imprimer sur papier pour plier des supports pour le tube, comme le montrent les images ci-dessus.

Pour un boîtier plus solide, j'ai utilisé les éléments suivants:

  • Tube acrylique givré (longueur = 1160 mm, diamètre = 40 mm, épaisseur de paroi = 2 mm)
  • 2x capuchon en plastique
  • Bloc de bois résineux 20x2x30mm
  • Bande métallique 10x1160x2mm

La bande LED elle-même mesure 1000 mm, laissant 80 mm aux deux extrémités du tube pour cacher l'électronique. J'ai utilisé du papier d'imprimante enroulé dans le tube aux deux extrémités pour les rendre non transparents. Pour faciliter l'insertion, j'ai collé la bande LED sur une longue bande métallique

J'ai fraisé les supports d'un bloc de bois résineux. Si vous souhaitez faire de même, le fichier.stl est fourni ci-dessous. Vous pouvez également envisager d'imprimer le support en 3D.

Conseillé: