Skip to main content

Practice 24: Firebase

✅ Práctica 24

En el siguiente blog se presenta la cuadragésima primera práctica del laboratorio de control de temperatura y velocidad de un motor.

Objetivo general:

  • Sensar datos y subirlos a la Realtime Database de Firebase

Materiales:

  • Firebase
  • TSC-Lab

Introducción:

Firebase es una plataforma para el desarrollo de aplicaciones web y aplicaciones móviles lanzada en 2011 y adquirida por Google en 2014.​ Es una plataforma ubicada en la nube, integrada con Google Cloud Platform, que usa un conjunto de herramientas para la creación y sincronización de proyectos que serán dotados de alta calidad, haciendo posible el crecimiento del número de usuarios y dando resultado también a la obtención de una mayor monetización.

Y en la presente práctica se pretende utilizar la Realtime Database, una base de datos NoSQL alojada en la nube que te permite almacenar y sincronizar datos entre tus usuarios en tiempo real. Para ello, se sensará la temperatura y se subirá dicho valor junto al pwm del heater, dichos datos será ordenados por fecha y hora.

Procedimiento:

Nota: se debe tener iniciado sesión en la cuenta de Google. Se asume que se tiene instaladas las librerías de las prácticas anteriores y adicional se debe instalar la librería Firebase Arduino Client for ESP8266 and ESP32, versión 2.3.7 (se recomienda esta versión para evitar posibles fallas). 


Los pasos para realizar la presente práctica, son los siguientes:
  1. Ir a Firebase (google.com) y en la parte superior derecha seleccionar Ir a la consola.

  2. Si es la primera vez que utiliza Firebase, le aparecerá una pantalla como la siguiente y se debe seleccionar Crear un proyecto

  3. Coloque un nombre al proyecto, acepte las condiciones, confirme el uso de Firebase y de clic en Continuar.

  4. Habilite Google Analytics y clic en Continuar.

  5. Configure Google Analytics, seleccione como ubicación Ecuador, acepte las condiciones y clic en Crear proyecto.

  6. Se procederá a crear el proyecto y aparecerá una pantalla como la que se muestra a continuación y se debe dar clic en Continuar.

  7. En la parte izquierda de la pantalla, se debe dar clic en Compilación, se desplegarán varias opciones y se debe dar clic en Realtime Database

  8. Dar clic en Crear una base datos.

  9. Escoger Estados Unidos como ubicación y clic en Siguiente.

  10. Por esta ocasión seleccionar Comenzar en modo de prueba y clic en Habilitar

  11. Crear un método de autentificación.



  12. Clic en comenzar.

  13. Seleccionar "Anónimo".

  14. Habilitar el switch y guardar.

  15. Copiar el siguiente código al IDE de Arduino, pero aún no lo cargue al TSC-Lab.  
    
  1. Copiar el URL del proyecto y pegarlo en la línea 20 del código  (variable FIREBASE_HOST) previamente copiado.

  2. En la parte izquierda de la pantalla, dar clic aquí:

  3. Clic en Configuración del proyecto.

  4. Copiar la clave de API WEB y pegarla en la variable API_KEY.

  5. Cambiar las credenciales del WiFi y cargar el código al TSC-Lab.
  6. Una vez subido el código, en la sección de Realtime Database se podrá visualizar la carga de datos.




                  

Comments

Popular posts from this blog

Práctica 1: Initial setups and tests

✅ Práctica 1 Github Repositories ▷  #TSCLab #TCLab #ESP32 #Arduino #Control #MACI En el siguiente blog se presenta la primera práctica del laboratorio de control de temperatura. Objetivo general: Entender el funcionamiento básico de TSC-Lab para la realización de futuras prácticas. Objetivos específicos: Analizar el comportamiento de la curva cuando los heaters están activados y desactivados. Guardar las mediciones obtenidas con ayuda de Cool Term y exportarlas en un archivo  comma-separtaed-values  (csv). Materiales: Programa Cool Term PCB de Temperature Control Lab (TSC-Lab) Introducción: El laboratorio de control de temperatura es un sistema en lazo cerrado. Sin embargo, en esta y futuras prácticas a realizar se comportará como un sistema de control en lazo abierto ya que no existe retroalimentación, únicamente los heaters se activan y los sensores empiezan a medir el incremento de temperatura y al desactivarlos los sensores miden como la temperatura baja hasta...

Practice 12: Speed Control Lab

  ▷  #TSCLab #TCLab #ESP32 #Arduino #Control #MACI Repositories En el siguiente blog se presenta la vigésima segunda práctica del laboratorio de control de temperatura y velocidad de un motor. Objetivo general: Realizar la adquisición de datos en Matlab emplenado comunicación serial Materiales: Matlab TSC-Lab TSC-Lab 3D view Simulink: https://drive.google.com/drive/folders/18ANTrb-_z_2zbsUbq2Rz6FC7749ECxUc?usp=sharing Código para el TSC-LAB:

Práctica 7: Speed control using PWM

✅ Práctica 7 Github Repositories ▷  #TSCLab #TCLab #ESP32 #Arduino #Control #MACI En el siguiente blog se presenta la septima práctica y corresponde a la segunda del laboratorio de control de velocidad. Objetivo general: Entender el funcionamiento del motor DC con PWM para aumentar o bajar la velocidad usando código de programación en el IDE de Arduino. Objetivos específicos: Comparar los resultados de movimiento cambiando los parámetros. Materiales: PCB de Temperature Control Lab (TSC-Lab) Introducción: En la práctica anterior, al motor se le enviaba señales de High y Low para ponerlo en marcha. Sin embargo, dentro de la realidad a un motor no se lo controla así, en algunas ocasiones se lo requiere hacer girar con cierta velocidad y durante esta práctica para tener control sobre la misma se lo hace con señales PWM. Procedimiento: Se asume que la placa del ESP-32 ha sido previamente instalada en el IDE de Arduino. Copiar el código en el IDE de Arduino:      ...

Practice 22: Wifi connection

✅ Práctica 22 Github Repositories ▷  #TSCLab #TCLab #ESP32 #Arduino #Control #MACI En el siguiente blog se presenta la vigésima segunda práctica del laboratorio de control de temperatura y velocidad de un motor. Objetivo general: Realizar una conexión a una red WiFi utilizando el TSC-Lab Materiales: TSC-Lab Introducción: En las prácticas anteriores se realizararon la adquisición de datos de temperatura y velocidad de un motor, toda esa información fue almacenada de manera local dentro del computador con ayuda del programa CoolTearm. Sin embargo, lo antes realizado es poco práctico. Hoy en día, la mayoría de la información está almacenada en la nube, documentos, fotografías, notas, mensajes, etc. A consecuencia de esto, surgió el Internet de las Cosas (IOT), que básicamente es la interaxión de dispositivos cotidianos con el internet, por lo general la informción es alojada en algún servidor. En la presente práctica de laboratorio conectaremos el TSC-Lab a internet mediante WiFi pa...

Practice 30: NodeRed (Http) + ThingSpeak

✅ Práctica 30 Github Repositories ▷  #TSCLab #TCLab #ESP32 #Arduino #Control #MACI When using this resource, please cite the original publication: Víctor Asanza, Kevin Chica-Orellana, Jonathan Cagua, Douglas Plaza, César Martín, Diego Hernan Peluffo-Ordóñez. (2021). Temperature and Speed Control Lab (TSC-Lab). IEEE Dataport. https://dx.doi.org/10.21227/8cty-6069 En el siguiente blog se presenta la vigésima séptima práctica del laboratorio de control de temperatura y velocidad de un motor. Objetivo general: Enviar los valores sensados de temperatura del TSC-Lab por WiFi a Node-Red y ThingSpeak.  Materiales: Node-Red Thingspeak TSC-Lab Introducción: En la práctica anterior se aprendió a utilizar y familiarizarse con Node-Red, el envío de información se lo hizo por medio de comunicación serial. Sin embargo, no tiene mucho sentido que se esté enviando información a Node-Red por el puerto serial cuando se puede aprovechar el ESP-32 para conectarse a internet por medio de Wi-Fi. S...

Practice 37: Using two core of ESP-32

✅ Práctica 37 ▷  #TSCLab #TCLab #ESP32 #Arduino #Control #MACI Repositories When using this resource, please cite the original publication: Víctor Asanza, Kevin Chica-Orellana, Jonathan Cagua, Douglas Plaza, César Martín, Diego Hernan Peluffo-Ordóñez. (2021). Temperature and Speed Control Lab (TSC-Lab). IEEE Dataport. https://dx.doi.org/10.21227/8cty-6069 En el siguiente blog se presenta la trigésima cuarta práctica del laboratorio de control de temperatura y velocidad de un motor. Objetivo general: Realizar multitareascon los dos núcleos del ESP-32. Materiales: TSC-Lab Introducción: El ESP-32 posee 2 microprocesadores Xtensa LX6 de 32 bits denominados núcleo 0 y núcleo 1. Por defecto, el código se ejecuta en el núcleo 1. Sin embargo, en la presente práctica de laboratorio se aprenderá a utilizar el doble núcleo del ESP-32 realizando una multitarea, trabajando con la planta de temperatura y velocidad del motor a la vez. Procedimiento: Nota: se asume que todas las librerías han s...

Practica 3: Activation of Transistor 1 and Reading of temperature sensor 1 and 2

✅ Práctica 3 Github Repositories ▷  #TSCLab #TCLab #ESP32 #Arduino #Control #MACI En el siguiente blog se presenta la tercera práctica del laboratorio de control de temperatura. Objetivo general: Guardar las mediciones obtenidas con ayuda de Cool Term y exportarlas en un archivo comma-separtaed-values (csv). Objetivos específicos: Guardar los datos de las lecturas realizadas con el heater 2 activado. Materiales: Programa Cool Term PCB de Temperature Control Lab (TSC-Lab) Introducción: Para esta práctica, el sistema sigue sin tener retroalimentación, es decir, es en lazo abierto ya que simplemente se está midiendo el cambio de temperatura conforme los heaters estén activados o desactivados y esto dependerá con cual de los casos el estudiante desea trabajar. Caso 1: ningun heater está activado Caso 2: únicamente el heater 1 se activa y desactiva. Para esta práctica se trabajará con el caso 2 . Los mediciones son almacenadas en el ordenador gracias a Cool Term.  Procedimient...

Practice 35: NodeRed (MQTT) + Telegram

✅ Práctica 35 Github Repositories ▷  #TSCLab #TCLab #ESP32 #Arduino #Control #MACI En el siguiente blog se presenta la vigésima sextapráctica del laboratorio de control de temperatura y velocidad de un motor. Objetivo general: Recibir los valores sensados de temperatura del TSC-Lab a Telegram.  Materiales: Node-Red TSC-Lab Introducción: En la práctica anterior se aprendió a información del TSC-Lab a Node-Red mediante Wi-Fi con protocolo HTTP. Ahora a mas de enviar dicha información se pretende recibirla y monitoreada desde Telegram, la cual es una aplicación enfocada en la mensajería instantánea, el envío de varios archivos y la comunicación en masa. Se la puede descargar desde la tienda de Google Play o App Store. También se la puede utilizar desde su sitio web o versión de escritorio. En esta práctica se crearrá un bot en Telegram el cual al recibir un comando en específico, enviará de manera instantanea el valor de temperatura solicitado. Procedimiento: Nota: se asume qu...

Practice 23: ThingSpeak (Http)

✅ Práctica 23 Github Repositories ▷  #TSCLab #TCLab #ESP32 #Arduino #Control #MACI En el siguiente blog se presenta la vigésima tercera práctica del laboratorio de control de temperatura y velocidad de un motor. Objetivo general: Conectar el TSC-Lab a la plataforma ThingSpeak. Objetivos específicos: Enviar los valores sensados y estados de los transistores a ThingSpeak. Visualizar los valores sensados y estados de los transistores en ThingSpeak. Materiales: ThingSpeak TSC-Lab Introducción: En la práctica anterior se aprenció a realizar una conexión WiFi con el TSC-Lab. Ahora se le sacará provecho a dicha conexión para poder enviar información y posteriormente visualizarla en ThingSpeak, la cual es una plataforma abierta de aplicaciones, diseñada para permitir conectar personas con objetos, en este caso con la MACI y el TSC-Lab. Procedimiento: Nota:  Se asume que la placa del ESP-32 y las bibliotecas de las prácticas anteriores han sido previamente instaladas en el IDE d...

Practice 10: Data acquisition with square velocity input

✅ Práctica 10a Github Repositories ▷  #TSCLab #TCLab #ESP32 #Arduino #Control #MACI En el siguiente blog se presenta la décima práctica y corresponde a la quinta del laboratorio de control de velocidad. Github repository: https://github.com/vasanza/TSC-Lab Objetivo general: Recopilar y guardar las RPM para crear un dataset. Objetivos específicos: Comparar los resultados de movimiento con diferentes parámetros. Materiales: Aplicación de escritorio CoolTerm PCB de Temperature Control Lab (TSC-Lab) Introducción: Una vez entendido todo el funcionamiento y control de velocidad del motor, se pretende crear un dataset para mejorar el mismo, lo que se hará es tomar 10 muestras tanto en un PWM de 255 y 0 durante un periodo de 13 segundos, dichos datos pueden ser modificados en la parte inicial del código de arduino.  Procedimiento: Nota: revisar la práctica 1 donde se le recuerda a como utilizar la apliación CoolTerm. Se asume que la placa del ESP-32 ha sido previamente instalada e...