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

Practice 29: NodeRed (Http) + Telegram

✅ Práctica 29 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 26 : Over-The-Air programming (OTA)

✅ Práctica 26 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 sexta práctica del laboratorio de control de temperatura y velocidad de un motor. Objetivo general: Actualizar el código del TSC-Lab utilizando OTA. Materiales: IOTAppStory TSC-Lab Introducción: A lo largo de todas las prácticas previamente realizadas, cada código se ha cargado al TSC-Lab con ayuda del cable USB por comunicación serial. Sin embargo, esta no es la única forma de hacerlo. Al igual que muchos otros dispositivos como celulares, carros inteligentes, decodificadores, entres otros se le pueden realizar ajustes y configuraciones de manera inalámbrica por una programaci...

Practice 38: Deep sleep to TSC-Lab

✅ Práctica 38 ▷  #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 quinta práctica del laboratorio de control de temperatura y velocidad de un motor. Objetivo general: Establecer el modo de suspensión profunda al TSC-Lab. Materiales: TSC-Lab Introducción: Una de las formas más fáciles para para el ahorro de energía de manera general dentro de proyectos IOT es estableciendo el modo de suspensión profunda del ESP-32. En la presente práctica se colocorá el microcontrolador del TSC-Lab en sueño profundo (deep sleep) y se lo despertará con un temporizador. Cabe recalcar que existen más alternativas para despertarlo, entre ellas está el despertador táctil...

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 1 (VS Code): Initial setups and tests

✅ Práctica 1 (VS Code) 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 cuadragésima tercerapráctica del laboratorio de control de temperatura y velocidad de un motor. Objetivo general: Descargar e instalar Visual Studio Code para programar el TSC-Lab utilizando el ESP-IDF (framework que recomienda su fabricante, Espressif) Materiales: Visual Studio Code TSC-Lab Introducción: A lo largo de todas estas prácticas se ha venido programando el ESP-32 del TSC-Lab en el IDE de Arduino. Sin embargo, esta no es la única forma de programarlo, una de ellas e inclusive la que recomienda su fabricante es utilizando el ESP-IDF, siendo este el framework de desarr...

Practice 15: System 3, using Motor

▷   #TSCLab #TCLab #ESP32 #Arduino #Control #MACI By: Ulbio Alejandro Repositories En el siguiente blog se presenta la vigésima sextapráctica del laboratorio de control de temperatura y velocidad de un motor. Objetivo general: Realizar la identificacion de sistemas, empleando datos anteriormente adquiridos de un Motor DC. Materiales: Matlab TSC-Lab TSC-Lab 3D view Código de Matlab: Introducción: Es importante realizar una prueba en lazo abierto sobre la dinámica del sistema, el mismo que por medio de un Tren de pulsos podemos obtener los datos de la salida, los cuales resultaron la velocidad del motor DC en RPM. Para este ejercicio, se utiliza un archivo denominado OpenLoopMotorDC.csv el cual contiene tanto la entrada como la salida de la planta, cabe destacar que la entrada es un pulso unitario para experimentar la dinámica del sistema. Ilustración 1 Variables de proceso del archivo tipo .csv Mediante código de MATLAB, procedemos abrir el archivo para extraer los datos tanto la en...

Practice 32: MQTT Server (mydata-lab)

✅ Práctica 32 Github Repositories ▷  #TSCLab #TCLab #ESP32 #Arduino #Control #MACI En el siguiente blog se presenta la vigésima novena práctica del laboratorio de control de temperatura y velocidad de un motor. Objetivo general: Enviar los valores sensados y estados de los transistores al servidor del TSC-Lab y visualizarlo en MyData-Lab.  Materiales: MQTTLens MyData-Lab TSC-Lab Introducción: En la práctica anterior se realizó la conexión MQTT entre el TSC-Lab y el servidor. Sin embargo, un caso práctico no consiste únicamente en enviar una cadena de caracteres, sino una serie de información útil para que pueda ser trabajada o procesada, siendo así el caso del envío de los valores de temperatura y estado de los transistores para a futuro poder realizar un control PID u otra clase de proyectos. Procedimiento: Nota:  Se asume que la placa del ESP-32 y las libreías de las práticas anteriores han sido previamente instaladas en el IDE de Arduino. Sin embargo, se requiere la ...

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 34: SISO using temperature sensor

▷  #TSCLab #TCLab #ESP32 #Arduino #Control #MACI Repositories En el siguiente blog se presenta la trigésima primera práctica del laboratorio de control de temperatura y velocidad de un motor. Objetivo general: Embeber un sistema de control PID para la temperatura del TSC-Lab Materiales: TSC-Lab Introducción: Una de las alternativas para implementar un sistema de control dentro del ESP-32 es mediante un controlador PID. En la presente práctica se usará el propuesto por Ziegler Nichols.  Procedimiento: Nota: se asume que todas las librerías han sido previamente instaladas. Además se cree que la función de transferencia del sistema ya se lo tiene por lo que se procederá a cambiar los valores tanto de la ganacia, tau y retardo del código.  Copiar y cargar el siguiente código al TSC-Lab.      Repositories:  https://github.com/vasanza/TSC-Lab/tree/main/Practice31