Taula de continguts:

Llum de disseny IoT amb IFTTT: 7 passos (amb imatges)
Llum de disseny IoT amb IFTTT: 7 passos (amb imatges)

Vídeo: Llum de disseny IoT amb IFTTT: 7 passos (amb imatges)

Vídeo: Llum de disseny IoT amb IFTTT: 7 passos (amb imatges)
Vídeo: Раскрываю секрет вкусного шашлыка от А до Я. Шашлык из баранины 2024, Desembre
Anonim
Làmpada de disseny IoT amb IFTTT
Làmpada de disseny IoT amb IFTTT
Làmpada de disseny IoT amb IFTTT
Làmpada de disseny IoT amb IFTTT

En aquest manual d’instruccions, us guiaré a fer una làmpada LED connectada a Internet que sigui alhora funcional i elegant.

Aquest objecte de disseny funky es pot controlar amb una aplicació web o el servei en línia IFTTT. Això últim permet connectar la làmpada a tot tipus de serveis externs com l'Assistent de Google, Alexa, Notificacions d'Android, Hora i data, Previsió meteorològica, etc. Aquest projecte suposa un coneixement bàsic de l'ESP8266 i l'editor Arduino.

Pas 1: reuniu l'electrònica

Reuneix electrònica!
Reuneix electrònica!
Reuneix electrònica!
Reuneix electrònica!

Per a aquest projecte necessitareu el següent:

  • Un NodeMCU o un altre microcontrolador ESP8266
  • Neopixel / WS2812B tira LED (1m 60LED / m)
  • Canviador de nivell *
  • Saltar cables (home a dona)
  • Cable micro-USB
  • Endoll de paret USB (5V)

La tira LED té tres cables: 5 V a (vermell), GND (blanc) i DATA a (verd). L'ESP8266 funciona a 3,3 V però té un pin VU. Aquest pin està connectat directament a l’alimentació USB, de manera que si alimenteu la placa amb 5V per USB, aquest voltatge també estarà disponible al pin VU. Farem servir aquest pin per alimentar la tira LED. Per tant, en resum:

  • Connecta terra a terra (GND A G)
  • Connecteu 5V + a Vu
  • Connecteu Din a D2

* = Segons el maquinari en concret, és possible que aquest cablejat no funcioni. Com que l’ESP8266 funciona a 3,3 V, el senyal de dades que proporciona també serà a 3,3 V. Com que el WS2812B s'alimenta amb 5V, el senyal de dades pot ser massa feble per ser rebut correctament per la cinta. Si el cablejat anterior no funciona, necessitareu un canvi de nivell que canviï el senyal de dades de 3,3 V a 5 V. Consulteu l’esquema de cablejat adjunt.

Nota! Algunes tires LED són més propenses a trencar-se que d’altres. Si mai no heu treballat amb aquestes tires, us recomano llegir la Guia Über de Neopixel per obtenir consells sobre la connexió segura d’una tira LED de Neopixel.

Pas 2: FastLED

FastLED
FastLED

Per controlar els LED podem fer ús de la biblioteca FastLED. Si encara no ho heu fet, afegiu aquesta biblioteca al vostre entorn Arduino (Sketch> Inclou biblioteca> Gestiona biblioteques> "FastLED").

Per assegurar-vos que el cablejat funciona, us recomanem que proveu un dels molts exemples que inclou la biblioteca FastLED (Fitxer> Exemples> FastLED). Assegureu-vos de canviar la configuració de cada exemple (nombre de LEDs = 60, pin de dades = 2) abans de penjar-les al tauler.

Aneu amb compte amb la configuració dels LED massa brillants mentre la placa està connectada a l'ordinador. En dibuixar més de 500 mA, és possible que l’ordinador apagui el port. Si voleu utilitzar la tira a la màxima brillantor, alimenteu-la amb un endoll de paret USB que pugui proporcionar un amperatge suficient.

Pas 3: programari

Programari
Programari

Ara és hora de programari personalitzat. El programari està disponible a GitHub:

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

Baixeu-vos el fitxer de programari, descomprimiu-lo i obriu el fitxer software.ino a l'editor Arduino. Assegureu-vos que teniu instal·lades totes les biblioteques esmentades en aquest fitxer.

Aneu a la pestanya Configuració i afegiu el nom i la contrasenya de la xarxa WiFi a aquestes línies:

const char * ssid = "";

const char * password = "";

Pot ser que també hàgiu de canviar el següent, segons el vostre encaminador:

const IPAddress staticIp (192, 168, 178, 101); // La IP local estàtica desitjada del dispositiu

passarel·la d’adreça IP const (192, 168, 178, 1); // IP de la passarel·la de la subxarxa constIPAddress del router (255, 255, 255, 0); // Subxarxa del router

A MacOS, podeu trobar aquests paràmetres a Preferències del sistema> Xarxa> Avançat> TCP / IP

Pengeu els fitxers al vostre tauler. Si tot va bé, la tira s’encendrà de blanc quan estigui connectada a la vostra xarxa WiFi. Obriu el monitor de sèrie en 115200 bauds per comprovar si hi ha informació addicional.

Pas 4: controlar-lo localment

Per demostrar el funcionament del llum, he creat una petita aplicació web que està disponible a https://lamp-app.surge.sh (font de Codepen). Aquesta aplicació envia sol·licituds JSON directament a l’ESP8266, que al seu torn actualitza els LED.

L'anterior només funcionarà si el llum i el telèfon estan connectats a la mateixa xarxa WiFi perquè us dirigiu al llum mitjançant la seva adreça IP local. Per poder controlar la llum des de qualsevol lloc, haureu d’explorar la configuració del vostre encaminador.

Pas 5: controlar-lo des de qualsevol lloc

Per obrir el llum a la màgia que és la World Wide Web, hem de fer una cosa que s’anomena reenviament de ports. Bàsicament, redirigirà les sol·licituds dirigides a la vostra adreça IP pública (la que us proporciona el vostre ISP) i el número de port (en aquest exemple arbitrari establert a 300) a l’adreça IP local local on es pot dirigir el vostre ESP8266.

Aquest procés és diferent per a tots els dispositius, de manera que si no sabeu com fer-ho al vostre encaminador específic, assegureu-vos de google "reenviament de ports" + el nom del vostre encaminador. Aquests són els paràmetres que necessiteu:

Port d’inici / final extern: 300

Port d'inici / final intern: 300

Adreça IP interna: 192.168.178.101 (l'adreça que es mostra al monitor de sèrie)

Protocol: TCP / UDP

Atenció! Després de fer això, la llum pot ser controlada per qualsevol persona que conegui la vostra adreça IP pública i el port on la llum està funcionant. Si no us sembla una idea fantàstica, es recomana implementar una capa de seguretat

Per comprovar si tot està configurat correctament, introduïu el següent al vostre navegador: (si no sabeu la vostra adreça IP pública, aneu a aquest lloc web).

[LA VOSTRA IP PÚBLICA]: 300

Hauríeu de veure un missatge de confirmació JSON. Ara podeu provar d’utilitzar l’aplicació amb la vostra adreça IP pública.

Pas 6: IFTTT

IFTTT
IFTTT
IFTTT
IFTTT
IFTTT
IFTTT
IFTTT
IFTTT

Aquí és on comença la veritable diversió. Ara que el nostre llum està connectat a ~~ Internet ~~, podem utilitzar el lloc web IFTTT per connectar-lo a tot tipus de serveis.

En aquest exemple, configurarem una ordre de l'Assistent de Google que posi els llums en vermell, però podeu triar un altre servei que us desperti la imaginació.

  1. Aneu a IFTTT.com i creeu un compte si encara no ho heu fet
  2. Aneu a "Els meus applets"> "Nou applet"
  3. Per al servei d'activació, cerqueu "Assistent de Google"
  4. Seleccioneu "Digues una frase senzilla"
  5. Vine amb algunes frases úniques
  6. Per al servei d'acció, cerqueu "Webhooks"
  7. Utilitzeu la configuració següent:

URL: https:// [YOUR-PUBLIC-IP]: 300 / api

Mètode: POST Tipus de contingut: application / json

I per al cos:

Ara, quan diem la frase escollida, l'Assistent de Google farà una sol·licitud a IFTTT, que al seu torn enviarà una sol·licitud JSON al nostre llum. Assegureu-vos de provar-ho. Busseu al codi per veure què podeu fer amb la tira.

Pas 7: fer-ho maco

Fent-ho bonic
Fent-ho bonic
Fent-ho bonic
Fent-ho bonic
Fent-ho bonic
Fent-ho bonic

La part més cara d’aquest projecte és la carcassa que alberga la tira LED. Si només voleu provar aquest projecte sense gastar-hi massa diners, també podeu considerar altres formes o simplement fer el tub de paper blanc per a impressora. Adjunt trobareu un wireframe que podeu imprimir en paper per plegar alguns suports del tub, tal com es mostra a les imatges anteriors.

Per obtenir una carcassa més sòlida, he utilitzat els elements següents:

  • Tub acrílic glaçat (longitud = 1160 mm, diàmetre = 40 mm, gruix de la paret = 2 mm)
  • 2x tap de plàstic
  • Bloc de fusta tova de 20x2x30mm
  • Tira metàl·lica de 10x1160x2mm

La tira LED en si és de 1000 mm, deixant 80 mm als dos extrems del tub per amagar l'electrònica. Vaig utilitzar paper d’impressora enrotllat al tub pels dos extrems per fer-los poc transparents. Per facilitar la inserció, vaig enganxar la tira LED sobre una tira metàl·lica llarga

He fresat les grades d’un bloc de fustes toves. Si voleu fer el mateix, el fitxer.stl es proporciona a continuació. També podeu plantejar la impressió 3D del suport.

Recomanat: