Tecnología Informática      Técnico en Instalaciones de Telecomunicaciones About

 Encender una Bombilla con firebase appinventor y nodemcu

bombilla

 

En esta sencilla práctica, vamos a integrar tres componentes ( firebase, app inventor y NodeMcu ) para encender una bombilla en remoto.

Recordemos que en redes se habla de local cuando los dispositivos están todos en la misma red ( por tanto no necesitamos salir fuera y no necesitamos conexión a internet ) y en remoto cuando los dispositivos están en diferentes redes ( es necesario Internet para comunicarse )

Lo haremos desde los conocimientos básicos de los alumnos de grado medio del ciclo de Instalaciones de teleco

Será una práctica tutorada donde el alumno debe seguir los pasos indicados, pero además, indagar en los problemas que vayamos encontrando

Vamos a los pasos necesarios

Creamos la base de datos. Firebase es una aplicación en línea que funciona como base de datos en tiempo real y que además es muy fácil de crear y configurar. Tan sólo tenemos que ir a su página web ->https://firebase.google.com/ , luego ir a consola ( arriba a la derecha ) y crear proyecto.

Nos pide el nombre del proyecto, por ejemplo bombilla, y luego en continuar.

En el siguiente paso, nos pegunta por  Google Analytics para tu proyecto de Firebase. Desactivamos esta opción

Al continuar, empezará la creación de la base de datos. Una vez dentro, pinchamos en Realtime Database y luego en el botón Crear una base de datos. NO va a pedir la ubicación, y seleccionamos Belgica. Luego el modo, donde está seleccionado el modo bloqueo.

Modo bloqueo significa que  De forma predeterminada, tus datos son privados. Lo seleccionamos.

Una vez dentro, pinchamos en Reglas y cambiamos false por true, como se indica en imagen inferior

Cambiar reglas firebase

En la pestaña Datos, encontraremos la url de nuestra base de datos. Por ahora es suficiente. Pasaremos ahora a crear la App

Como siempre, abrimos nuetro app inventor y crearemos el proyecto  Bombilla

Tenemos que incluir dos botones, que harán la tarea de encender y apagar la bombilla. Para que resulte más vistoso y nos recuerde cómo está la bombilla, al hacer click en el botón encender, el fondo del la pantalla cambiará a verde y en caso de activar el botón apagar, el fondo cambiará a apagado.

Cada uno de los botones los tenemos que renombrar. Por ejemplo, cuando aparece el botón 1 , con su texto, hay que cambiarlos a Encender y el texto también encender. Lo mismo para apagar

Una segunda tarea que vamos a incorporar es cambiar el valor del campo LUZ de la base de datos para que , según el botón que se active, se ponga a 0 o a 1

Para actuar sobre la base de datos tenemos que incorporarla a nuestra app. Para ello, seguimos los pasos que se indican en la siguiente imagen

configuración base firebase

la base de datos la tenemos que arrastrar al móvil y luego configurarla como se indica. En url ponemos nuestra base de datos y lo demás quedará tal como se muestra

Los bloque que tenemos que poner quedará de la forma:

bloques encendido y apagado

Ya sabemos la primera parte. Lo que añadimos ahora es llamar a la base de datos y guardar un valor. La etiqueta la hemos llamado luz y el valor  1  para encendido y  0 para apagado

Procedemos como se indica todos los pasos y vamos a nuestra firebase a ver si con nuestra app se cambian los valores del campo luz.

Qué  ocurre ?.

Funciona, pero hay algún cambio nuevo ?.

Tener en cuenta que en firebase, tenemos que pinchar en la base de datos para que se abra los campos que tiene en su interior

El tercer paso es conectar nuestro NodeMcu para que lea los datos de la base de datos y active un puerto de los muchos que tiene. Ese puerto tendrá una salida alta, que activará  un relé cuyos contactos dejará pasar la corriente para alimentar una bombilla de 220 Voltios.

Vamos a ello.

Hay tres bloques importantes, que podemos resumir brevemente en:

  1. En una primera parte incluimos las librerías y creamos las variables para el LED que vamos a usar como salida y las variables de la red ( SSID y password ). Además hay que añadir la variable que tiene la url de la base de datos y otra para la clave secreta de esa base de datos
  2. En la parte de setup  iniciamos la conexión wifi y la conexión a la base de datos ( usando los valores dado antes )
  3. Luego vamos a tener void loop(), donde a leer los valores de la base de datos y en base a ellos, actuamos sobre el puerto que enciende  activa el relé.

 

Antes de seguir veamos el Error de conexión de firebase

De modo resumido, conectamos a la base de datos con protocolo la base de datos https y en el mismo tenemos un certificado de seguridad que se llama Fingerprint ( huella dactilar )

Para entrar en la base de datos necesitamos esa huella, huella que tenemos que incluir en el archivo  FirebaseHttpClient  que lo encontramos en la ruta -> Documents\Arduino\libraries\firebase-arduino-master\src

Abrimos ese archivo y en la parte inferior tenemos algo como :

static const char kFirebaseFingerprint[] = "54:11:BF:7D:0C:82:E0:9C:C7:B2:F5:74:29:D5:91:B5:10:1B:30:DE";

Esa es la fingerprint que tenemos que cambiar. Para ello, copiamos la url de la base de datos y la ponemos en la casilla Custom Site Fingerprinting dentro de la página ->https://www.grc.com/fingerprints.htm

El valor hexadecimal que resuelva es el que tenemos que poner en la líne anteriorstatic const char kFirebaseFingerprint[] . Luego guardamos, cerramos arduino y volvemos a cargar nuestro programa. Mas info en ->https://www.youtube.com/watch?v=ZZ5JvSA-Ed8

Vemos ahora el programa para entrar en NodeMcu

  Comprobamos que todo está bien. Conectamos nuestra app en el móvil, cambiamos la base de datos de 0 a 1 y comprobamos que nuestro led de la placa se enciende. Conectamos nuestro relé para encender una bombilla de 220 voltios.

releEl relé es ampliamente usado para diversos fines, siempre con el fin de controlar grandes corrientes mediante pequeñas corrientes.

 En la imagen de la izquierda, al presionar el pulsador, pasa una corriente por la bobina que genera un campo magnético que desplaza ( por un mecanismo que no aparece en la imagen ) el contacto C ( común ) al contacto NO ( normalmente abierto) y de esa forma, pasar una gran corriente que permite alimentar a la bombilla.

El esquema de conexión y más detalles sobre el relé lo podemos encontrar en esta página->https://programarfacil.com/blog/rele-y-arduino-mkr1000/

 

 

 

Me tengo que poner las pilas !!!Si llegamos a éste punto y bajamos los archivos, significa que ha pasado el tiempo de hacer la tarea y tomamos la base que dejo en los link.

Solución, o casi, porque el proyecto sigue y hay que mejorar o modificar acorde a las diferentes exigencias.

Archivo para el NodeMcu

Archivo para appinventor

 

 

 

Diseño PCB Principios básicos de antenas

Ciclo de Grado Medio Instalaciones de Telecomunicaciones. Ies Mare Nostrum. Málaga