Encendido de un bombillo con ESP32 y Firebase

Innovatic's
8 Sept 202314:08

Summary

TLDREn este video, se muestra cómo encender y apagar un bombillo utilizando una placa ESP32 y conectándola a Firebase, una plataforma digital de Google que ofrece herramientas para facilitar el desarrollo de aplicaciones. Se explica cómo crear un nuevo proyecto en Firebase, habilitar la analítica, y usar la Real Time Database para almacenar los estados de encendido y apagado del bombillo. Además, se detalla el proceso de agregar las librerías necesarias en Arduino, establecer la conexión a WiFi y Firebase, y escribir el código para que el LED refleje el estado guardado en Firebase. Finalmente, se demuestra el resultado con la placa ESP32 conectándose al WiFi, imprimiendo la IP y alternando el estado del LED según los datos de Firebase.

Takeaways

  • 🌟 Utilizar la placa ESP32 para encender y apagar un bombillo.
  • 🔗 Conectar la placa a Firebase, una plataforma digital de Google, para el desarrollo de aplicaciones.
  • 🛠️ Firebase ofrece herramientas de analítica y Real Time Database para almacenar y manipular datos en tiempo real.
  • 💡 La Real Time Database se usará para guardar el estado de encendido y apagado del bombillo.
  • 🔍 Crear un nuevo proyecto en Firebase requiere iniciar sesión con una cuenta de Gmail y seguir los pasos en la consola.
  • 📝 Configurar la analítica y seleccionar una cuenta de Google Analytics para el proyecto.
  • 📱 En la configuración de Firebase, se debe proporcionar un nombre de proyecto y conectarlo con Arduino.
  • 📚 Añadir las librerías necesarias en Arduino: ArduinoJson, Firebase ESP32 y la librería Wi-Fi.
  • 🔩 Configurar la conexión Wi-Fi y establecer las credenciales de Firebase en el código de Arduino.
  • 📡 Inicializar la comunicación con Wi-Fi y Firebase, y verificar la conexión a través de mensajes en el monitor serial.
  • 💡 El estado del LED (encendido/apagado) se controla y se muestra en la base de datos de Firebase y se refleja en el monitor serial.

Q & A

  • ¿Qué plataforma digital de Google se utiliza para facilitar el desarrollo de aplicaciones?

    -Firebase es la plataforma digital de Google utilizada para facilitar el desarrollo de aplicaciones.

  • ¿Cuál es la herramienta de Firebase que se usará para guardar la base de datos de encendido y apagado de un bombillo?

    -La herramienta de Firebase que se usará es la Real Time Database.

  • ¿Qué pasos se deben seguir para crear un nuevo proyecto en Firebase?

    -Se debe iniciar sesión en una cuenta de Gmail, ir a la consola de Firebase, agregar un proyecto, proporcionar un nombre y continuar con la creación, habilitando la analítica y seleccionando una cuenta de Google Analytics.

  • ¿Cómo se conecta la placa ESP32 a Firebase?

    -Se conecta a través de la información proporcionada en la consola de Firebase, incluyendo el Host y la clave de la base de datos.

  • ¿Qué librerías son necesarias para el proyecto en Arduino?

    -Se necesitan las librerías ArduinoJson, Firebase ESP32 y la librería Wi-Fi de Arduino.

  • ¿Cómo se establece la conexión Wi-Fi en el código de Arduino?

    -Se utiliza la librería Wi-Fi, se llama a la función begin con el nombre de la red y la contraseña, y se espera hasta que se establece la conexión.

  • ¿Cómo se inicializa el LED en el código de Arduino?

    -Se establece una variable de tipo int llamada 'estado_led' y se inicializa en 0, lo que indica que el LED está apagado.

  • ¿Cómo se actualiza el estado del LED en función de los datos de Firebase?

    -Se utiliza un bucle loop en el código de Arduino que lee el valor del estado del LED de Firebase y actualiza el pin correspondiente para encender o apagar el LED.

  • ¿Cómo se puede ver el estado actual del LED en el monitor serial de Arduino?

    -Se imprime en el monitor serial si el LED está encendido o apagado en función del valor leído de Firebase.

  • ¿Qué sucede si se escribe un valor diferente a 0 o 1 en la base de datos de Firebase para el estado del LED?

    -Si se escribe un valor diferente a 0 o 1, el código de Arduino no encenderá ni apagará el LED, y se mostrará un mensaje indicando que se está poniendo un valor diferente.

  • ¿Cómo se reinicia el LED a su estado inicial después de cada reinicio de la placa ESP32?

    -El LED se inicializa en 0 en el setup del código de Arduino, lo que significa que estará apagado después de cada reinicio.

Outlines

00:00

🚀 Creación y Configuración de un Proyecto en Firebase

En el primer párrafo, se describe el proceso de creación y configuración de un proyecto en Firebase, una plataforma digital de Google que ofrece herramientas para facilitar el desarrollo de aplicaciones. Se menciona la utilización de la herramienta Real Time Database para almacenar información sobre el encendido y apagado de un bombillo. Se indica cómo buscar Firebase en Google, iniciar sesión con una cuenta de Gmail, agregar un nuevo proyecto, activar la analítica y continuar con la creación del proyecto. Además, se detalla cómo acceder a la consola de Firebase, agregar un nombre al proyecto, habilitar la autenticación y crear una base de datos en modo de prueba sin requerir autenticación.

05:02

📚 Instalación de Librerías y Configuración del Arduino

El segundo párrafo se enfoca en la instalación de librerías necesarias para el proyecto en Arduino. Se detalla cómo agregar las librerías requeridas, buscar la versión 5.5.13 de Arduino JSON y la última versión de Firebase ESP32 Client. Además, se explica cómo buscar y instalar la librería de Wi-Fi de Arduino. Posteriormente, se describe cómo llamar a las librerías instaladas, obtener la clave del host y la contraseña de Firebase, y establecer la conexión Wi-Fi con las credenciales del proyecto. Se incluyen instrucciones para definir la velocidad de comunicación, inicializar el pin de salida, conectarse a Wi-Fi y verificar el estado de la conexión.

10:03

🔄 Control de un LED a Través de Firebase Real Time Database

El tercer párrafo explica cómo controlar un LED a través de Firebase Real Time Database. Se establece que el LED estará apagado inicialmente y se detalla cómo se puede cambiar su estado a través de la base de datos. Se describe el proceso de leer el estado del LED desde Firebase, y cómo el programa en Arduino reacciona a los cambios de estado, encendiendo o apagando el LED según corresponda. Además, se menciona cómo se puede ver la información de conexión a Wi-Fi y la IP en la consola de Arduino, y cómo se puede verificar el estado actual del LED en el monitor serial. Finalmente, se muestra cómo reiniciar la placa Arduino para que el LED comience en el estado inicial configurado.

Mindmap

Keywords

💡Firebase

Firebase es una plataforma de desarrollo de aplicaciones móviles y web propiedad de Google. Ofrece herramientas para el desarrollo de aplicaciones, incluyendo una base de datos en tiempo real llamada Firebase Realtime Database. En el video, Firebase se utiliza para crear una base de datos que almacena el estado de encendido y apagado de un bombillo.

💡Placa de ESP32

La placa de ESP32 es una placa de desarrollo de hardware que incluye un microcontrolador con capacidades de Wi-Fi y Bluetooth. En el video, se utiliza para conectarse a Firebase y controlar el estado de un bombillo.

💡Arduino

Arduino es una plataforma de prototipado abierta y de programación de hardware que se utiliza para construir proyectos electrónicos. En el video, se utiliza para programar la placa ESP32 para que pueda comunicarse con Firebase y controlar un bombillo.

💡Firebase Realtime Database

Firebase Realtime Database es una base de datos en tiempo real que permite almacenar y sincronizar datos entre la aplicación del usuario y la base de datos en la nube. En el video, se utiliza para guardar el estado del bombillo que luego es accedido por la placa ESP32.

💡Conexión Wi-Fi

La conexión Wi-Fi es la capacidad de la placa ESP32 para conectarse a una red inalámbrica y comunicarse con otros dispositivos. En el video, se establece una conexión Wi-Fi para que la placa pueda enviar y recibir información de Firebase.

💡Programación

La programación es el proceso de escribir un conjunto de instrucciones que un ordenador puede seguir para realizar una tarea específica. En el video, se programa la placa ESP32 para que pueda interactuar con Firebase y controlar el bombillo.

💡Librerías

Las librerías en programación son colecciones de código preescrito que se pueden incluir en otros programas para realizar tareas comunes. En el video, se utilizan varias librerías, incluidas las de Arduino y Firebase, para facilitar la programación de la placa ESP32.

💡Pin de salida

Un pin de salida en una placa de desarrollo es un terminal que permite enviar una señal de salida, como la que se usaría para encender un LED o un bombillo. En el video, se utiliza un pin de salida para controlar el estado del bombillo.

💡Estado del LED

El estado del LED se refiere a si el LED está encendido o apagado. En el video, el estado del LED se utiliza para representar el estado del bombillo, lo que se controla a través de Firebase y la placa ESP32.

💡Monitor Serial

El Monitor Serial es una herramienta en Arduino que permite visualizar la salida de la consola y los mensajes que se envían desde el programa. En el video, se utiliza para verificar el estado del LED y las comunicaciones entre la placa ESP32 y Firebase.

💡Firebase Console

La Firebase Console es una interfaz de usuario en línea que permite a los desarrolladores interactuar con Firebase, crear proyectos, y gestionar la base de datos y otras herramientas de Firebase. En el video, se utiliza para crear un nuevo proyecto Firebase y establecer la base de datos.

Highlights

Vamos a ver cómo encender y apagar un bombillo con la placa de ESP32 y conectarla a Firebase.

Firebase es una plataforma digital de Google utilizada para facilitar el desarrollo de aplicaciones.

Real Time Database es una herramienta de Firebase que almacenará el encendido y apagado del bombillo.

Seguidamente, se muestra cómo crear un nuevo proyecto en Firebase y habilitar la analítica.

Se describe el proceso de registro de un proyecto en la consola de Firebase.

Se explica cómo conectar Arduino con Firebase utilizando la información proporcionada en la consola.

Seguidamente, se abordan las librerías necesarias para el proyecto en Arduino IDE.

Se menciona la instalación de la versión 5.13.4 de Arduino JSON y la última versión de Firebase ESP32.

Se describe cómo buscar y agregar la librería de Wi-Fi de la biblioteca Arduino.

Se detalla cómo llamar a las librerías descargadas y establecer la conexión con Firebase.

Se indica cómo encontrar y utilizar la clave y el host de Firebase para la conexión.

Se muestra cómo establecer la conexión a una red Wi-Fi y verificar el estado de la conexión.

Se explica cómo utilizar la función begin() para iniciar la conexión con Firebase.

Se detalla cómo utilizar la variable de estado para enviar y recibir información sobre el LED.

Se describe el proceso de inicialización del pin del LED y su configuración como salida.

Se muestra cómo leer y escribir en la base de datos en tiempo real para controlar el LED.

Se detalla cómo utilizar el bucle loop() para mantener la conexión y recibir actualizaciones.

Se explica cómo interpretar los valores de la base de datos para encender o apagar el LED.

Se muestra cómo la base de datos Firebase se actualiza con el estado del LED.

Se concluye el video mostrando cómo el LED se enciende y apaga según los cambios en Firebase.

Transcripts

play00:00

[Música]

play00:06

Hola amigos de innovatics el día de hoy

play00:09

vamos a ver Cómo encender y apagar un

play00:13

bombillo con la placa de sp32 y esta

play00:18

vamos a conectarla al firebase el fair

play00:21

base es una plataforma digital de Google

play00:23

que se utiliza para

play00:25

facilitarnos el desarrollo de

play00:28

aplicaciones

play00:29

ya que tiene varias herramientas

play00:32

incluidas sobre todo de analítica pero

play00:35

también tiene una herramienta que se

play00:37

llama real Time Data base que es la que

play00:41

vamos a trabajar en este video que la

play00:44

vamos a utilizar para guardar una base

play00:46

de datos la cual va a almacenar el

play00:49

encendido y el apagado de un bombillo

play00:51

Entonces vamos a iniciar a buscar en

play00:55

Google el firebase

play01:00

y vamos a seleccionar la primera opción

play01:04

recordemos que tenemos que estar

play01:06

logueados en nuestra cuenta de Gmail y

play01:09

para crear un nuevo proyecto vamos a ir

play01:12

a la consola

play01:17

Ya estando en la consola vamos a decirle

play01:20

agregar un proyecto Aquí vamos a agregar

play01:22

el nombre que queremos ponerle a nuestro

play01:25

proyecto

play01:29

y vamos a darle continuar en esta parte

play01:31

nos está habilitando la analítica para

play01:34

nuestro proyecto Vamos a darle continuar

play01:37

y en este caso vamos a seleccionar

play01:40

una cuenta de Google analytics para

play01:46

crear el proyecto y vamos a esperar que

play01:49

se cree el proyecto cuando ya el

play01:52

proyecto ha cargado Vamos a darle

play01:54

continuar

play01:58

Una vez estando en esta parte vamos a

play02:01

darle clic al botón web

play02:04

y en esta parte vamos a escribir el

play02:08

nombre de nuestro proyecto cómo queremos

play02:10

que se llame

play02:13

y vamos a darle registrar a después nos

play02:17

va a aparecer esta información que nos

play02:21

va a servir después para conectar

play02:23

el arduinon la firebase vamos a darle

play02:29

donde dice ir a consola

play02:34

una vez creado nuestro proyecto vamos a

play02:38

ir a compilación y vamos a darle la

play02:41

herramienta del Real Time Data base y

play02:44

posterior a eso vamos a crear nuestra

play02:47

base de datos nos va a aparecer una

play02:50

pestaña vamos a dar siguiente y vamos a

play02:54

comenzar en modo de prueba para no tener

play02:56

que hacer autenticación Vamos a darle

play02:59

habilitar y así es como nos debe quedar

play03:02

nuestra base de datos

play03:06

vamos a ir a la parte de reglas para

play03:11

en esta parte vamos a borrar esta

play03:14

configuración para cuando

play03:16

necesitemos leer y escribir nos deje

play03:19

hacerlo desde cualquier parte entonces

play03:22

la vamos a habilitar con un true Vamos a

play03:26

darle true coma y lo mismo en escribir

play03:35

y vamos a publicar los cambios

play03:39

teniendo nuestro proyecto creado en el

play03:42

firebase vamos a ir a arduino Una vez

play03:46

estando en arduino lo primero que vamos

play03:48

a hacer es Añadir estas librerías que

play03:51

necesitamos en nuestro proyecto vamos a

play03:55

ir a programa en incluir librería vamos

play03:58

a seleccionar administrar bibliotecas y

play04:02

vamos a dar clic y Esperamos que se abra

play04:05

la ventana se abre el gestor de

play04:08

librerías y vamos a esperar que siempre

play04:10

tiene alguna actualización y cuando

play04:13

carga vamos a escribir primero el

play04:16

arduino Jason

play04:24

Qué es este primero pero entonces vamos

play04:28

a seleccionar una versión que sea 5

play04:32

5.13 o cualquiera Pero tiene que ser el

play04:36

número cinco ya que este tiene unas

play04:38

librerías que se van a ajustar al

play04:41

proyecto que vamos a hacer Entonces

play04:43

vamos a seleccionar esta de

play04:46

5.13.4 y vamos a darle instalar y vamos

play04:51

a esperar a que se descargue vamos a

play04:54

seguir con la de firebase y vamos a

play04:57

buscar la que diga firebase esp32 Clean

play05:01

o cliente y vamos a seleccionar la

play05:04

última versión y le vamos a dar instalar

play05:09

la última librería que vamos a necesitar

play05:12

en la librería wi-fi

play05:15

qué va a ser la de arduino 1 WiFi Depp

play05:19

de library y como podemos ver pues aquí

play05:22

ya está instalada en este caso pues

play05:25

aparecería por aquí el botoncito de

play05:27

instalar Ya teniendo estas tres

play05:30

librerías vamos a dar cerrar a esta

play05:32

pestaña y vamos a iniciar llamando las

play05:35

librerías que acabamos de Descargar la

play05:38

primera la librería wi-fi y después

play05:41

vamos a llamar a la librería firebase y

play05:45

vamos a hacerlo con un numeral incluy

play05:49

después de haber invocado las librerías

play05:51

lo que vamos a hacer es llamar el Host

play05:54

la clave el WiFi y la contraseña lo que

play05:59

vamos a hacer primero para Hallar el

play06:02

Host Es irnos a nuestra

play06:05

firebase y vamos a ir en la parte de

play06:09

compilación real Time database y vamos a

play06:14

copiar este vínculo nos devolvemos al

play06:18

arduino y este es el que vamos a pegar

play06:19

en esta parte del Host para encontrar la

play06:23

llave lo que vamos a hacer es ir de

play06:26

nuevo a la fair base y vamos a buscar en

play06:30

este cosito de la configuración

play06:32

configuración del proyecto luego vamos a

play06:35

ir a cuentas de servicio y en esta parte

play06:39

vamos a buscar donde dice secretos de la

play06:44

base de datos

play06:45

en esta parte podemos ver que está la

play06:48

contraseña Vamos a darle Mostrar y nos

play06:51

la vamos a llevar con este cosito de

play06:54

copiar vamos a ir al arduino y esta la

play06:57

vamos a pegar aquí en la fairbase

play07:01

lo siguiente que vamos a hacer es

play07:03

colocar el nombre del WiFi o la ssd del

play07:09

WiFi al que vamos a conectar nuestra SP

play07:13

y después vamos a llamar la contraseña

play07:16

lo siguiente que vamos a hacer es

play07:18

establecer una variable de tipo int para

play07:22

el estado que mandará la base que en

play07:25

este caso leemos asignado el nombre de

play07:28

estado guión bajo led uno y lo vamos a

play07:31

inicializar en 0 Y también vamos a

play07:35

llamar un Jeep que es el que nos va a

play07:39

controlar el comportamiento del bombillo

play07:43

lo que vamos a hacer después es en el

play07:46

void Setup vamos a definirle la

play07:50

velocidad en

play07:52

115.200 audios y le vamos a decir que

play07:56

espere dos segundos

play07:58

lo siguiente es inicializar el pin en

play08:02

este caso vamos a encender el pin 2 de

play08:05

la esp y lo vamos a colocar como la

play08:08

salida después vamos a

play08:12

llamar o hacer la conexión del WiFi y lo

play08:17

vamos a hacer de la siguiente forma

play08:18

vamos a llamar wi-fi que es la librería

play08:22

que instalamos hace un momento vamos a

play08:25

darle punto begin y vamos a llamar como

play08:29

habíamos definido las variables en la

play08:31

parte de arriba que es nombre guión bajo

play08:34

WiFi coma y le vamos a pasar el

play08:37

parámetro también de la contraseña lo

play08:40

siguiente que vamos a hacer es colocarle

play08:43

un mensaje para que sepamos que está

play08:45

conectando al wi-fi que acabamos de

play08:48

pasarle los parámetros después vamos a

play08:51

tener un While en este ciclo lo que va a

play08:55

hacer es verificar si está o

play08:59

desconectado y lo hace con este

play09:02

estatus que nos dice que si es diferente

play09:07

el estado de conectado lo que va a hacer

play09:11

es aparecer que está conectando y va a

play09:15

esperar dos segundos lo siguiente que

play09:19

vamos a colocar es cuando ya se ha

play09:23

conectado la SP 32 al wifi va a aparecer

play09:28

una línea en blanco y luego va a

play09:31

aparecer que ya se ha conectado al wifi

play09:33

y después nos va a imprimir la IP con la

play09:38

que se ha conectado y la vamos a llamar

play09:41

De esta forma que es WiFi punto local IP

play09:46

que este es el parámetro que le está

play09:48

pasando y ese es el que se va a imprimir

play09:51

lo siguiente es Llamar a la Face punto

play09:56

begin y le vamos a pasar los parámetros

play09:59

del Host y de la contraseña después

play10:03

vamos a colocar lo que va a ser en el

play10:06

fair base que va a ser colocar el led y

play10:10

lo va a inicializar en cero cuando lo

play10:13

inicializa en cero quiere decir que el

play10:16

led va a estar apagado y eso ya lo vamos

play10:18

a ver más adelante vamos a pasar al void

play10:22

Loop y lo que vamos a hacer en este es

play10:25

llamar la

play10:28

variable que habíamos creado en la parte

play10:30

de arriba que era estado guión bajo led

play10:33

uno y vamos a decirle que traiga lo que

play10:36

hay en la fairbase que está almacenado

play10:40

en el led uno vamos a hacer un If que es

play10:46

para saber cuando está el botón apagado

play10:49

y cuando está encendido entonces lo que

play10:52

va a hacer es que en esta variable se va

play10:55

a alojar el 1 o el 0 que nos va a decir

play10:59

cuando el bombillo está prendido o

play11:00

cuando está apagado Entonces vamos a

play11:03

iniciar con un nif y en la condición le

play11:06

vamos a poner cuando el estado del led

play11:09

es uno lo que nos va a imprimir en el

play11:13

monitor serial es que el led está

play11:16

encendido y lo que va a hacer es que el

play11:20

pin se va a encender de lo contrario si

play11:24

el estado del led está en cero lo que va

play11:29

a hacer es imprimir en el monitor serial

play11:31

que el led está apagado y vamos a

play11:35

decirle que el digital write va a

play11:39

cambiar a low es decir que va a apagarse

play11:42

el bombillo Y por último ponemos un Else

play11:45

que va a indicarnos que cuando por

play11:48

ejemplo no estamos colocando ceros o

play11:51

unos estamos colocando otros valores nos

play11:54

va a decir que estamos poniendo un valor

play11:56

diferente o que el valor que estamos

play11:59

poniendo en el fair base no es correcto

play12:03

aquí podemos ver que ya nuestro programa

play12:08

se ha ejecutado vamos a ir al monitor

play12:12

serial y efectivamente nos está

play12:15

mostrando que el pin o el led está

play12:18

apagado vamos a irnos a nuestra fair

play12:23

base

play12:24

vamos a ir en compilación vamos a ir a

play12:29

la real Time Data base aquí podemos ver

play12:32

que en la real Time datase se ha escrito

play12:36

el valor que teníamos en el arduino

play12:40

lo que vamos a hacer es cambiar el cero

play12:45

por un 1 y le vamos a dar enter y lo que

play12:49

él tiene que hacer es que el bombillo

play12:51

efectivamente se ha encendido

play12:54

vamos a ver el monitor serial

play12:58

y podemos ver que también apareció que

play13:00

el bombillo se ha encendido ahora vamos

play13:03

a ver para que no sirve el mensaje que

play13:08

escribimos de que se ha conectado al

play13:10

wi-fi pero recordemos que esto Solo

play13:13

aparece en el Setup Entonces vamos a

play13:16

reiniciar nuestra placa con este botón

play13:23

y aquí podemos ver

play13:25

que se está conectando ahí ya nos dice

play13:28

que se ha conectado y nos dice que el

play13:32

led está apagado porque lo inicializamos

play13:35

en cero Entonces siempre que la placa se

play13:38

reinicie el led va a iniciar apagado

play13:41

Vamos a ponerle el uno

play13:46

y vamos a ver cómo se prende el bombillo

play13:49

ahí se ha prendido el bombillo esto ha

play13:53

sido todo por el vídeo de hoy Espero les

play13:55

haya servido y nos vemos en un próximo

play13:57

vídeo

play13:59

[Música]

Rate This

5.0 / 5 (0 votes)

Related Tags
FirebaseESP32ArduinoIoTProgramaciónControl RemotoReal Time DatabaseProyecto ArduinoConexión Wi-FiTecnologíaInnovación
Do you need a summary in English?