Skip to main content

Practice 26 : Over-The-Air programming (OTA)

✅ Práctica 26

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ón por aire llamada OTA (over the air) y los ESP-32 que tienen los TSC-Lab no son la excepción.

Para esta práctica de laboratorio se utilizará IOTAppStory, una plataforma IoT que permite alojar firmware y cargas estas aplicaciones por aire (OTA). La idea principal de IOTAppStory es tener proyectos que contengan uno o más dispositivos que se deseen actualizar por OTA. 

Procedimiento:

Nota: Se asume que se tiene instaladas las librerías de las prácticas anteriores y adicional se debe instalar la librería ESP de IOTAppStory, disponible aquí; también la librería AsyncTCP, aquí y ESPAsyncWebServer, aquí.
  1. Copiar el siguiente código al IDE de Arduino, pero no se lo debe cargar al TSC-Lab.  
  2.     
  3. Se debe generar un archivo .bin, para ello se debe seguir el procededimiento que se ve en la imagen para compilar el código.

  4. Ahora hay que dirigirse a IOTAppStory.com y en la parte superior derecha seleccionar Register para crearse una cuenta o a menos de ya tener una cuente se debe iniciar sesión. 


  5. Una vez con la cuenta creada o luego de haber iniciado sesión, se debe dar clic en Control Panel

  6. Dar clic en My Apps y luego en New App.

  7. Colocar un nombre a la App, de manera adicional se puede colocar un comentario o agregar una imagen y luego se debe dar clic en Next.


  8. Seleccionar la versión con la que desea iniciar la App y dar clic en Next.

  9. Seleccionar la tarjeta a compilar que se muestra en la imagen.

  10. Dar clic en Click here para subir el archivo binario compilado.


  11. Buscar el directorio donde se generó el archivo .bin, el cual es el mismo donde se guardó el archivo .ino.

  12. Clic en Save.

  13. Dar clic en Projects y New Project.


  14. Colocar un nombre al proyecto, de manera adicional se puede colocar un comentario o agregar una imagen y luego se debe dar clic en "X", cerrar.


  15. Clic en View project.


  16. Dar clic en Add app.



  17. Seleccionar la App que se creó.


  18. Por ahora no hay ningún dispositivo y se lo creará con ayuda de un ejemplo, para ello se debe abrir un nuevo proyecto de Arduino.
  19. Abrir el ejemplo de la librería IOTAppStory llamado IASLoader y subirlo al TSC-Lab. Esto se hará una sola vez con el fin de conectar el dispositivo con una red WiFi y cargar el código que se cargó en el paso 16 de manera inalámbrica.

  20. Cargar dicho código al TSC-Lab, abrir el monitor serial.

  21. Con ayuda del celular buscar y conectarse a la red WiFi que se imprimió en el monitor serial y en un navegador colocar la IP que también se muestra.





  22. Seleccionar la red WiFi y colocar la respectiva contraseña para luego avanzar presionando Save.
  23. Se realizará la conexión y para ello se puede esperar o presionar la dirección IP que muestra.
  24. Iniciar sesión.

  25. Colocar el nombre del dispositivo que se desea crear y seleccionar la misma tarjeta que se escogió en el paso 8. Luego dar clic en Next.

  26. Agregar el proyecto que se creó y clic en Save.
     
  27. Dirigirse al símbolo de WiFi y nuevamente colocar la contraseña de la red que se realizó la conexión previamente. Seleccionar Save.
  28. Seleccionar el último símbolo que sale a la derecha y luego presionar Yes para salir.
  29. Si vuelve a pedir que se realice la conexión con la red que se creó, hay que aplastar el botón reset del ESP-32. Si luego de esto pide realizar nuevamente la configuración, se debe nuevamente a la dirección IP que se muestra en el monitor serial y repetir los pasos 26 y 27.
  30. Ver el monitor serial y apreciar como se carga el dato por aire (OTA).


                  

Comments

Popular posts from this blog

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 12: Speed Control Lab

✅ Práctica 12 ▷  #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 segunda práctica del laboratorio de control de temperatura y velocidad de un motor. Github repository: https://github.com/vasanza/TSC-Lab Objetivo general: Realizar la adquisición de datos en Matlab emplenado comunicación serial. Materiales: Matlab TSC-Lab Registro de datos en formato Byte: Esta versión se recomienda si se utiliza Matlab de versiones anteriores a las 2017. Repository: https://github.com/vasanza/TSC-Lab/tree/main/Practice12/Practice12_Byte Registro de datos en formato String: Esta versión se recomienda si se utiliza Matlab de versiones actuales. Repository:  https://github.c...

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 11: Temperature Control Lab

✅ Práctica 11 ▷  #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 onceava práctica del laboratorio de control de temperatura y velocidad de un motor. Github repository: https://github.com/vasanza/TSC-Lab Objetivo general: Realizar la adquisición de datos en Matlab emplenado comunicación serial Materiales: Matlab TSC-Lab Registro de datos en formato Byte: Esta versión se recomienda si se utiliza Matlab de versiones anteriores a las 2017. Repository: https://github.com/vasanza/TSC-Lab/tree/main/Practice11/Practice11_Byte2017 Registro de datos en formato String: Esta versión se recomienda si se utiliza Matlab de versiones actuales. Repository:  https://github.com/vasan...

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 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 34: NodeRed (WiFi y MQTT)

✅ Práctica 34 Github Repositories ▷  #TSCLab #TCLab #ESP32 #Arduino #Control #MACI En el siguiente blog se presenta la vigésima quinta 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 por medio del protocoo MQTT y visualizarlos.  Materiales: Node-Red 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. Se usará el protocolo MQTT para conectarse al servidor donde se aloja el servidor que se está ejecutando Node-Red, lo cual permitirá que cualquier dispositivo tenga acceso a su información. Procedimiento: Nota: se asume que está instalado Node-Red, que está famil...

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 25: Obtención de datos de Firebase

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