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 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 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 27: NodeRed (USB)

✅ Práctica 27 Github Repositories ▷  #TSCLab #TCLab #ESP32 #Arduino #Control #MACI En el siguiente blog se presenta la vigési cuarta práctica del laboratorio de control de temperatura y velocidad de un motor. Objetivo general: Enviar los valores sensados del motor del TSC-Lab por comunicación serial a Node-Red y visualizarlo.  Materiales: Node-Red TSC-Lab Introducción: En la presente práctica se muestra otra de las alternativas para visualizar y controlar dispositivos, la cual es Node-Red, siendo esta una herramienta de desarrollo basada en flujo para programación visual desarrollada originalmente por IBM para conectar dispositivos de hardware, API y servicios en línea como parte de Internet of Things. Para ir familiarizándose con el entorno de Node-Red se hará una conexión por comunicación seríal con el TSC-Lab. Procedimiento: Se necesita instalar Node-Red, a continuación se mostrará como hacerlo en un sistema operativo de Windows.  Instalar Node.js, puede descargarlo ...

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