Skip to main content

Practice 25: Obtención de datos de Firebase

✅ Práctica 25

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

Objetivo general:

  • Obtención de datos de la Realtime Database de Firebase y almacenarlos en un archivo .csv

Materiales:

  • Firebase
  • Google Colab.

Introducción:

En la práctica anterior se vio como enviar los datos sensados a la Realtime Database de Firebase. Sin embargo, no se aprendió a como obtenerlos. En la presente práctica de laboratorio se mostrará a como acceder a dichos datos para posteriormente almacenarlos en un archivo .csv para que estos luego puedan ser utilizados para cualquier interés por parte del usuario. 

En esta ocasión, no se utilizará el TSC-Lab, se usará Colab, también conocido como "Colaboratory", una herramienta de Google que permite programar y ejecutar Python en cualquier navegador sin la necesidad de alguna configuración, tiene muchas facilidades para compartir el contenido y es de acceso gratuito a GPUs.

Procedimiento:

Nota: se debe tener iniciado sesión en la cuenta de Google.  
  1. Ir a Google Colab y en la ventana que aparece se debe seleccionar Nuevo cuaderno.


  2. En la primera celda de código se debe escribir: pip install python-firebase y luego se debe ejecutar la celda. 


  3. Dirigirse a la sección de archivos y luego dar clic en la carpeta de subir nivel, tal como se ve en la imagen: 



  4. Dirigirse a este directorio: "/usr/local/lib/python3.7/dist-packages/firebase/". Dar clic en firebase para desplegar los archivos. 


  5. Cambiar el nombre al archivo async.py, en este caso se lo cambió a tsclab.py, para hacerlo se debe seguir las instrucciones de las siguientes imágenes: 





  6. Dar doble clic en el archivo __init__.py par abrirlo y en la línea 3 reemplazar .async por el nombre colocado en el paso anterior, en este caso .tsclab. Luego de hacerlo se puede cerrar el archivo.  




  7. Hacer lo mismo que el paso anterior con el archivo firebase.py en la línea 12.  




  8. Para agregar más celdas se debe dar clic en + Código para luego completarlas con ayuda del código que se adjunta para después ejecutar cada una de ellas:
      
    
  1. Refrescar la página y dirigirse a archivos, ahí se podrá ver el archivo creado, abrirlo y hasta descargarlo.  



                  

Comments

Popular posts from this blog

Practice 9: Encoder Implementation (RPM)

✅ Práctica 9 Github Repositories ▷  #TSCLab #TCLab #ESP32 #Arduino #Control #MACI En el siguiente blog se presenta la novena práctica y corresponde a la cuarta del laboratorio de control de velocidad. Objetivo general: Visualizar las RPM del motor en base a la PWM asignada. Objetivos específicos: Comparar los resultados de movimiento con diferentes parámetros. Materiales: PCB de Temperature Control Lab (TSC-Lab) Introducción: En la práctica anterior se puso en marcha en motor asignándole un valor PWM, además brindaba la opción de escoger el sentido de gira. Ahora, en el presente laboartorio se implementa un encoder óptico, que mediante el código de programación en el IDE de Arduino, permite saber a cuantas revoluciones por minuto gira el motor. Es importante mencionar que en esta ocasión se hará uso de interrupciones, cualquier pin GPIO del ESP-32 puede ser utilizado con interrupción, en este caso se ha escogido el 27, pin en el cual está conectado el encoder óptico. Procedimient...

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 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...

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 8: Motor direction control and Speed control

✅ Práctica 8 Github Repositories ▷  #TSCLab #TCLab #ESP32 #Arduino #Control #MACI En el siguiente blog se presenta la octava práctica y corresponde a la tercera del laboratorio de control de velocidad. Objetivo general: Controlar el funcionamiento del motor DC con PWM para aumentar o bajar la velocidad y su giro usando comandos. Objetivos específicos: Comparar los resultados de movimiento con diferentes parámetros. Materiales: PCB de Temperature Control Lab (TSC-Lab) Introducción: Una vez entendido que enviar señales de High y Low al motor lo puede poner en marcha y que PWM es posible ver el aumento y disminución del mismo. Ahora, en esta práctica con los conocimientos adquiridos de las prácticas anteriores, mediante comandos ingresados al monitor serie se controlará la velocidad y sentido de giro del motor. Procedimiento: Se asume que la placa del ESP-32 ha sido previamente instalada en el IDE de Arduino. Además en esta práctica se utiliza la librería separador, la cual se puede...

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 ...

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

Practice 24: Firebase

✅ Práctica 24 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 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...

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...

Practice 21: SISO using DC Motor

▷  #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/16W5_6BPTgedT5vyFnJCiYwqh7fQjR9Po?usp=sharing Se recomienda comparar el lazo cerrado con el modelo identificado: Código para el TSC-LAB: