Tabla de contenido:

Lámpara de diseño IoT con IFTTT: 7 pasos (con imágenes)
Lámpara de diseño IoT con IFTTT: 7 pasos (con imágenes)

Video: Lámpara de diseño IoT con IFTTT: 7 pasos (con imágenes)

Video: Lámpara de diseño IoT con IFTTT: 7 pasos (con imágenes)
Video: Internet de las cosas en packet tracer 2024, Mes de julio
Anonim
Lámpara de diseño IoT con IFTTT
Lámpara de diseño IoT con IFTTT
Lámpara de diseño IoT con IFTTT
Lámpara de diseño IoT con IFTTT

En este Instructable, lo guiaré para hacer una lámpara LED conectada a Internet que sea funcional y elegante.

Este objeto de diseño original se puede controlar con una aplicación web o el servicio en línea IFTTT. Este último permite conectar la lámpara a todo tipo de servicios externos como Google Assistant, Alexa, Notificaciones de Android, Fecha y hora, Previsión meteorológica, etc. Este proyecto asume un conocimiento básico del ESP8266 y del editor Arduino.

Paso 1: ¡Reúna los dispositivos electrónicos

¡Reúna la electrónica!
¡Reúna la electrónica!
¡Reúna la electrónica!
¡Reúna la electrónica!

Para este proyecto, necesitará lo siguiente:

  • Un NodeMCU u otro microcontrolador ESP8266
  • Tira de LED Neopixel / WS2812B (1m 60LED / m)
  • Cambiador de nivel *
  • Saltar cables (macho a hembra)
  • Cable micro-USB
  • Enchufe de pared USB (5V)

La tira de LED tiene tres cables: 5V en (rojo), GND (blanco) y DATA en (verde). El ESP8266 funciona a 3,3 V pero tiene un pin VU. Este pin está conectado directamente a la alimentación USB, por lo que si alimenta su placa con 5V a través de USB, este voltaje también estará disponible en el pin VU. Usaremos este pin para alimentar la tira de LED. Entonces, en resumen:

  • Conecte tierra a tierra (GND TO G)
  • Conecte 5V + a Vu
  • Conecte Din a D2

* = Dependiendo de su hardware particular, es posible que este cableado no funcione. Dado que el ESP8266 funciona a 3,3 V, la señal de datos que proporciona también será de 3,3 V. Debido a que el WS2812B se alimenta con 5V, la señal de datos puede ser demasiado débil para ser recibida correctamente por la tira. Si el cableado anterior no funciona, necesitará un cambiador de nivel que cambie la señal de datos de 3.3V a 5V. Consulte el esquema de cableado adjunto.

¡Nota! Algunas tiras de LED son más propensas a romperse que otras. Si nunca ha trabajado con estas tiras, le recomiendo encarecidamente leer la Überguide de Neopixel para obtener consejos sobre cómo conectar de forma segura una tira de LED de Neopixel.

Paso 2: FastLED

FastLED
FastLED

Para controlar los LED podemos hacer uso de la librería FastLED. Si aún no lo ha hecho, agregue esta biblioteca a su entorno Arduino (Sketch> Incluir biblioteca> Administrar bibliotecas> 'FastLED').

Para asegurarse de que su cableado esté funcionando, es posible que desee probar uno de los muchos ejemplos que vienen con la biblioteca FastLED (Archivo> Ejemplos> FastLED). Asegúrese de cambiar la configuración en cada ejemplo (número de LED = 60, pin de datos = 2), antes de cargarlos en su placa.

Tenga cuidado con configurar los LED demasiado brillantes mientras la placa está conectada a su computadora. Al consumir más de 500 mA, su computadora puede apagar el puerto. Si desea utilizar la tira con el máximo brillo, enciéndala con un enchufe de pared USB que pueda suministrar un amperaje suficientemente alto.

Paso 3: software

Software
Software

Ahora es el momento del software personalizado. El software está disponible en GitHub:

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

Descargue el archivo de software, descomprímalo y abra el archivo software.ino en su editor Arduino. Asegúrese de tener instaladas todas las bibliotecas que se mencionan en este archivo.

Vaya a la pestaña Configuración y agregue el nombre y la contraseña de su red WiFi a estas líneas:

const char * ssid = "";

const char * contraseña = "";

Es posible que también deba cambiar lo siguiente, según su enrutador:

const IPAddress staticIp (192, 168, 178, 101); // La IP local estática deseada del dispositivo

puerta de enlace const IPAddress (192, 168, 178, 1); // IP de puerta de enlace del enrutador constIPAddress subnet (255, 255, 255, 0); // Subred del enrutador

En MacOS, puede encontrar estas configuraciones en Preferencias del sistema> Red> Avanzado> TCP / IP

Sube los archivos a tu tablero. Si todo va bien, la tira se iluminará en blanco cuando esté conectada a su red WiFi. Abra Serial Monitor en 115200 baudios para verificar información adicional.

Paso 4: controlarlo localmente

Para demostrar el funcionamiento de la lámpara, hice una pequeña aplicación web que está disponible en https://lamp-app.surge.sh (fuente en Codepen). Esta aplicación envía solicitudes JSON directamente al ESP8266, que a su vez actualiza los LED.

Lo anterior solo funcionará si su lámpara y teléfono están conectados a la misma red WiFi porque está direccionando la lámpara por su dirección IP local. Para poder controlar la lámpara desde cualquier lugar, deberá profundizar en la configuración de su enrutador.

Paso 5: controlarlo desde cualquier lugar

Para abrir su lámpara a la cosa mágica que es la World Wide Web, necesitamos hacer algo llamado reenvío de puertos. Básicamente, esto redirigirá las solicitudes dirigidas a su dirección IP pública (la que le proporciona su ISP) y el número de puerto (en este ejemplo establecido arbitrariamente en 300) a la dirección IP local interna en la que se puede direccionar su ESP8266.

Este proceso es diferente para cada dispositivo, por lo que si no sabe cómo hacer esto en su enrutador específico, asegúrese de buscar en Google 'reenvío de puertos' + el nombre de su enrutador. Estas son las configuraciones que necesitará:

Puerto de inicio / fin externo: 300

Puerto de inicio / fin interno: 300

Dirección IP interna: 192.168.178.101 (la dirección que se muestra en Serial Monitor)

Protocolo: TCP / UDP

¡Advertencia! Después de hacer esto, su lámpara puede ser controlada por cualquier persona que conozca su IP pública y el puerto en el que se está ejecutando la lámpara. Si no cree que sea una gran idea, se recomienda implementar alguna capa de seguridad

Para probar si todo está configurado correctamente, ingrese lo siguiente en su navegador: (si no sabe que su dirección IP pública es, vaya a este sitio web).

[SU IP PÚBLICA]: 300

Debería ver un mensaje de confirmación JSON. Ahora puede intentar usar la aplicación con su dirección IP pública.

Paso 6: IFTTT

IFTTT
IFTTT
IFTTT
IFTTT
IFTTT
IFTTT
IFTTT
IFTTT

Aquí es donde comienza la verdadera diversión. Ahora que nuestra lámpara está conectada a ~~ Internet ~~, podemos usar el sitio web IFTTT para conectarla a todos los diferentes tipos de servicios.

En este ejemplo, configuraremos un comando del Asistente de Google que enciende las luces en rojo, pero puede elegir otro servicio que despierte su imaginación.

  1. Vaya a IFTTT.com y cree una cuenta si aún no lo ha hecho
  2. Vaya a 'Mis subprogramas'> 'Nuevo subprograma'
  3. Para el servicio de activación, busque 'Asistente de Google'
  4. Seleccione 'Diga una frase simple'
  5. Piensa en algunas frases únicas
  6. Para el servicio de acción, busque 'Webhooks'
  7. Utilice la siguiente configuración:

URL: https:// [SU-IP-PÚBLICA]: 300 / api

Método: POST Tipo de contenido: aplicación / json

Y para el Cuerpo:

Ahora, cuando digamos nuestra oración elegida, Google Assistant hará una solicitud a IFTTT, que a su vez enviará una solicitud JSON a nuestra lámpara. ¡Asegúrate de probarlo! Sumérjase en el código para ver qué más puede hacer que haga la tira.

Paso 7: haciéndolo bonito

Haciéndolo bonito
Haciéndolo bonito
Haciéndolo bonito
Haciéndolo bonito
Haciéndolo bonito
Haciéndolo bonito

La parte más cara de este proyecto es la carcasa que alberga la tira de LED. Si solo desea probar este proyecto sin gastar demasiado dinero en él, también puede considerar otras formas o simplemente hacer el tubo con papel de impresora blanco. Adjunto encontrará una estructura alámbrica que puede imprimir en papel para doblar algunos soportes para el tubo, como se muestra en las imágenes de arriba.

Para una carcasa más sólida utilicé los siguientes elementos:

  • Tubo de acrílico esmerilado (longitud = 1160 mm, diámetro = 40 mm, espesor de pared = 2 mm)
  • 2x tapa de plástico
  • Bloque de madera blanda de 20x2x30mm
  • Tira de metal de 10x1160x2mm

La tira de LED en sí es de 1000 mm, dejando 80 mm en ambos extremos del tubo para ocultar la electrónica. Usé papel de impresora enrollado en el tubo en ambos extremos para que no fueran transparentes. Para facilitar la inserción, pegué la tira de LED en una tira de metal larga

Fresé los soportes de un bloque de maderas blandas. Si desea hacer lo mismo, el archivo.stl se proporciona a continuación. También puede considerar la impresión en 3D del soporte.

Recomendado: