Cómo hacer su propio botón de conexión Wi-Fi con ESP8266

Cómo hacer su propio botón de conexión Wi-Fi con ESP8266

Internet de las cosas tiene un gran potencial de bricolaje. Con suficiente conocimiento y algunos componentes baratos, podría construir un sistema complejo de dispositivos conectados.





A veces, sin embargo, quieres algo simple. Sin campanas ni silbidos, solo un botón que realiza una sola tarea. Es posible que ya esté familiarizado con algo como esto si alguna vez ha utilizado un botón de Amazon Dash para reordenar artículos domésticos cotidianos.





Hoy crearemos un botón habilitado para Wi-Fi usando un NodeMCU, y lo programaremos para usar IFTTT para hacer… bueno, ¡cualquier cosa! Instrucciones escritas siguiendo el video, si lo prefiere.





Lo que necesitarás

Necesitará:

  • 1 x placa NodeMCU (ESP8266), disponible para $ 2-3 en AliExpress
  • 1 x pulsador
  • 1 x LED (opcional)
  • 1 x resistencia de 220 ohmios (opcional)
  • Tablero de pruebas y cables de conexión
  • Micro USB para programar
  • Computadora con Arduino IDE instalado

Aparte del NodeMCU, debería poder encontrar la mayoría de estas piezas en cualquier kit de inicio de Arduino. Este tutorial asumirá que está utilizando el LED y la resistencia opcionales, pero no son esenciales.



Paso 1: configuración del circuito

La configuración del hardware es muy simple para este proyecto. Configure su tablero de acuerdo con este diagrama.

El cable morado se adhiere pin D0 a un lado del botón. El cable verde conecta el otro lado del botón al Pin RST . El cable azul va desde pin D1 a la resistencia y al LED. La pata negativa del LED se conecta al Pin GND del NodeMCU.





Cuando se configura la placa de pruebas, debería verse así:

cómo ver una película con alguien a través de Internet

Si se está preguntando cómo conseguí que mi LED pasara al pin de tierra usando solo esos pequeños trozos de cable, nuestro rápido curso intensivo de protoboard debería ayudar a aclararlo! Verifique su configuración y conecte su NodeMCU a la computadora a través de USB.





Paso 2: configurar el IDE

Antes de comenzar con la codificación, debe hacer algunos preparativos. Si aún no lo ha hecho, configure el IDE de Arduino para que reconozca su placa NodeMCU. Puede agregarlo a su lista de tableros a través de Archivo> Preferencias .

Puede encontrar una explicación más detallada de este paso en nuestro artículo de introducción a NodeMCU.

Se requieren dos bibliotecas para este proyecto. Navegar a Croquis> Incluir biblioteca> Administrar bibliotecas . Buscar ESP8266WIFI por Ivan Grokhotkov e instálelo. Esta biblioteca está escrita para realizar conexiones Wi-Fi con la placa NodeMCU.

Siguiente búsqueda del IFTTTWebhook por John Romkey e instale la última versión. Esta biblioteca está diseñada para simplificar el proceso de envío de webhooks a IFTTT.

Esa es toda la preparación que necesitamos, ¡codifiquemos!

Cómo funcionará el código

Usaremos el ESP8266WIFI biblioteca para establecer una conexión Wi-Fi. los IFTTTWebhooks library hace una solicitud a IFTTT --- en este caso, para publicar en Twitter. Luego, indique a la placa NodeMCU que se suspenda cuando no esté en uso para ahorrar energía.

Cuando se presiona el botón, vinculará el D0 y RST patas. Esto reinicia la placa y el proceso vuelve a ocurrir.

La mayor parte del código de este tutorial es lo suficientemente simple para principiantes. Dicho esto, si está comenzando, le resultará mucho más fácil de entender después de seguir nuestra Guía para principiantes de Arduino .

Este tutorial repasa el código en fragmentos para ayudarlo a comprenderlo. Si desea ir directamente a los negocios, puede encontrar el código completo en Pastebin . ¡Tenga en cuenta que aún necesitará completar sus credenciales de Wi-Fi e IFTTT en este código para que funcione!

Paso 3: Prueba del sueño profundo

Para comenzar, crearemos una prueba simple para mostrar cómo funciona el sueño profundo. Abra un nuevo boceto en el IDE de Arduino. Ingrese los siguientes dos fragmentos de código.

|_+_|

Aquí, incluimos nuestras bibliotecas, junto con la definición de algunas variables que necesitaremos en nuestro boceto. Notará que ledPin y wakePin están numerados de manera diferente aquí en comparación con el diagrama de Fritzing anterior. El NodeMCU tiene un pinout diferente al de las placas Arduino. Sin embargo, esto no es un problema, debido a este práctico diagrama:

Ahora crea una función de configuración:

|_+_|

Aquí, configuramos nuestro puerto serie y usamos un ciclo while para esperar hasta que comience. Dado que este código se activará después de presionar el botón de reinicio, imprimimos 'Botón pulsado' al monitor de serie. Luego, le decimos al NodeMCU que entre en sueño profundo hasta que el botón que conecta el wakePin al RST se presiona el pasador.

Finalmente, para probar, agregue esto a su círculo() método:

|_+_|

Por lo general, los bocetos de Arduino ejecutan la función de bucle continuamente después de la configuración. Dado que enviamos la placa a dormir antes de que finalice la configuración, el ciclo nunca se ejecuta.

Guarde su boceto y cárguelo en el tablero. Abra el monitor en serie y debería ver 'Botón presionado'. Cada vez que se activa el botón, el tablero se reinicia y el mensaje se imprime nuevamente. ¡Funciona!

Una nota sobre el monitor en serie

Es posible que haya notado algunos caracteres sin sentido en el monitor de serie durante algunos de sus proyectos. Esto generalmente se debe a que no se configura el monitor serial a la misma velocidad en baudios que el Serial.begin (XXXX) índice.

Muchas guías sugieren iniciar la conexión en serie a una velocidad de 115200 baudios para un proyecto como este. Probé muchas combinaciones, y todas tenían distintos grados de galimatías antes y después de los mensajes seriales. Según varias publicaciones en el foro, esto podría deberse a una placa defectuosa o un problema de compatibilidad de software. Como no afecta demasiado al proyecto, elijo fingir que no está sucediendo.

que es un seguidor en facebook

Si tiene problemas con el monitor en serie, pruebe diferentes velocidades en baudios y vea cuál funciona mejor para usted.

Paso 4: Conexión a Wi-Fi

Ahora cree una función para conectarse a su red Wi-Fi.

|_+_|

Este método intenta conectarse a su red diez veces con un segundo en el medio. El éxito o el fracaso de la conexión se imprimen en el monitor en serie.

Paso 5: llamar al método de conexión

Ahora mismo, el connectToWifi () nunca se llama. Agregue una llamada a su función de configuración entre el mensaje 'Botón presionado' y el envío de la pizarra a dormir.

|_+_|

En caso de que se esté preguntando dónde encaja, debería verse así:

En la parte superior del boceto, reemplace el ssid y contraseña variables con sus credenciales de Wi-Fi. Guarde su boceto y cárguelo en el tablero.

Ahora, cuando la placa se inicie, intentará conectarse a su red Wi-Fi, antes de volver a la función de configuración. Ahora, configuremos la integración IFTTT.

Paso 6: Configurar la integración IFTTT

IFTTT permite la integración con una amplia gama de servicios web. Lo usamos en nuestro tutorial de LED de torre de PC con Wi-Fi para enviar una alerta cada vez que se recibe un nuevo correo electrónico. Hoy lo usaremos para enviar un tweet con solo presionar un botón.

Navega al Mis applets página y seleccione Nuevo subprograma

Haga clic en + esto y conectarse a Webhooks . Seleccione 'Recibir una solicitud web' y nombre su evento. Mantenlo simple ! Anote el nombre del evento, deberá agregarlo a su código NodeMCU más tarde. Hacer clic 'Crear disparador' .

Ahora seleccione + que . Busque el Gorjeo servicio y conectarse a él --- deberá autorizarlo para publicar en su cuenta de Twitter. Seleccione 'Publica un tweet' y elige tu mensaje.

La siguiente pantalla le pedirá que revise el subprograma. Haga clic en finalizar. ¡Eso es todo!

Paso 7: agregar credenciales IFTTT al código

De vuelta en el IDE de Arduino, deberá agregar su clave API IFTTT y el nombre del evento a sus variables definidas. Para encontrar la clave API, navegue hasta Mis applets y seleccione Webhooks bajo la Servicios pestaña. Seleccione Documentación para acceder a su clave.

Copie la clave y el nombre del evento en su código, reemplazando los nombres temporales configurados para ellos.

|_+_|

Tenga en cuenta que las comillas deben permanecer, solo reemplazar el texto.

Entre llamar al connectToWifi () y enviando la placa a dormir, cree una instancia del objeto de biblioteca IFTTTWebhook. El LED indica la finalización de la tarea antes de que comience de nuevo el sueño profundo.

Se eliminaron uno o más videos de la lista de reproducción porque se eliminaron de YouTube.
|_+_|

Llamando al gatillo en el gancho El objeto se dispara desde el subprograma IFTTT y debe publicarse en su cuenta de Twitter. Guarde su boceto y cárguelo. Ahora debería tener un botón para twittear completamente funcional.

Si no parece estar funcionando, revise su código y sus credenciales cuidadosamente para ver si hay errores. Si realmente te quedas atascado, obtén el código completo de arriba y compáralo con el tuyo.

¡Hecho! ¿Cómo podría mejorarlo aún más?

Esta es una versión básica de un botón de Wi-Fi, pero hay muchas formas de mejorarlo. Por simplicidad, aquí se utiliza la conexión USB para la alimentación. Una batería lo haría completamente móvil, y un estuche que sostenga el circuito sería el proyecto de impresión 3D perfecto para principiantes.

A pesar de usar el sueño profundo, es posible que se agote la batería con bastante rapidez. Hay muchos Consejos de ahorro de energía de Arduino que ayudan en este tipo de proyectos. Si bien es más difícil que este tutorial, si hiciste tu propio Arduino consciente de la energía desde cero, ¡un botón de Wi-Fi alimentado por batería podría durar meses!

Este proyecto sería perfecto para un control remoto para aplicaciones domésticas inteligentes. Ya hay una cantidad considerable de applets de domótica disponible en IFTTT. Una vez que haya aprendido lo básico, puede usar casi cualquier sensor o interruptor para activar prácticamente cualquier servicio que pueda imaginar.

Crédito de la imagen: Vadmary / Depositphotos

Cuota Cuota Pío Correo electrónico 6 alternativas audibles: las mejores aplicaciones de audiolibros gratuitas o económicas

Si no te apetece pagar por audiolibros, aquí tienes algunas aplicaciones geniales que te permiten escucharlos gratis y legalmente.

Leer siguiente
Temas relacionados
  • Bricolaje
  • Arduino
  • Tutoriales de proyectos de bricolaje
Sobre el Autor Ian Buckley(216 Artículos publicados)

Ian Buckley es un periodista, músico, intérprete y productor de video independiente que vive en Berlín, Alemania. Cuando no está escribiendo o en el escenario, está jugando con la electrónica o el código de bricolaje con la esperanza de convertirse en un científico loco.

Más de Ian Buckley

Suscríbete a nuestro boletín

¡Únase a nuestro boletín de noticias para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!

Haga clic aquí para suscribirse