Skip to main content

Practice 35: NodeRed (MQTT) + Telegram

✅ Práctica 35
▷ #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 que está instalado Node-Red, que está familiarizado con el entorno y que sabe instalar librerías. En caso de no ser así, puede revisar la practica 24 dando clic aquí. 
  1. Descargar y crearse una cuenta en Telegram en caso de no tenerla. Busque en la tienda de su dispositivo móvil. 
  2. En el buscador de Telegram escriba BotFather. Tenga en cuenta que tenga la verificación (visto azul) e imagen de perfil que se muestra a continuación. Y abra su chat.



  3. Escriba el comando /start

  4. Seleccione o escriba el comando /newbot y colóquele un nombre a su bot, tal y como se muestra en la imagen. 

  5. Abra el entorno de Node-Red e instale la librería node-red-contrib-telegrambot.
  6. Importar el proyecto que se encuentra disponible aquí. En caso de tener proyectos anteriores abiertos, deshabilite los dashboard y msg.payload.
  7. Dar doble clic en el bloque de Telegram que está conectado al payload, en bot seleccionar Add new telegram bot ... y seleccionar el lápiz.

  8. Para mayor facilidad de trabajo, recomendaría abrir Telegram en la versión web ya que se necesita colocar el nombre y el token que se generó previamente con BotFather tal cual como en la imagen que se muestra a continuación. Para posteriormente dar clic en Add y en done. 

  9. A modo de prueba se debe dar Deploy al proyecto y en el buscador de telegram se debe colocar el nombre del bot, en mi caso TSC-Lab-kechica para iniciar chat y se procede a enviar cualquier mensaje y si la configuración se la realizó de manera correcta en el debug se podrá ver dicho mensaje. Mientras se vea el mensaje, omitir cualquier tipo de error que se muestre.


    Debug de Node-Red

  10. A todos los bloques de telegram se le debe asiganar el bot creado tal cual como se lo hizo anteriormente.
  11. Del mensaje que se envió y se vió en el debug hay una variable llamada chatId, a esta se la debe copiar y pegar en el código que aparece cuando se da doble clic en el bloque de las funciones tal cual como se ve en las imágenes.



  12. Dar deploy al proyecto, cargar el código al TSC-Lab, el cual es el mismo que el de la práctica anterior.
    
  1. En telegram, al bot creado escribirle los comandos temp1 y temp2 y la respuesta será inmediata.





                  

Comments

Popular posts from this blog

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:           Repositories:  http

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. Procedimiento: 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á familiarizado

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 llegar a la t

Practice 33: MQTT

✅ Práctica 33 Github Repositories ▷  #TSCLab #TCLab #ESP32 #Arduino #Control #MACI En el siguiente blog se presenta la vigésima octava práctica del laboratorio de control de temperatura y velocidad de un motor. Objetivo general: Realizar una conexión MQTT utilizando el TSC-Lab.  Objetivos específicos: Enviar un mensaje al servidor y verificarlo en MQTTLens. Materiales: MQTTLens TSC-Lab Introducción: En las prácticas anteriores se realizararon conexiones a .diferentes plataformas donde se envió la información e inclusive se pudo visualizar los datos. Sin embargo, poseen muchas limitaciones como por ejemplo ThingSpeak que únicamente permite crear cuatro canales y el envío de información lo hace con un delay mínimo de 14 segundos, inclusive utilizar el protocolo HTTP ha generado conflictos. Ante ello, la mejor alternativa es trabajar con un servidor y enviar la data por medio de protocolo MQTT.  Procedimiento: Nota: revisar la práctica 1 donde se le recuerda a como instalar librerías

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 en el IDE

Practice 28: NodeRed (Wifi)

✅ Práctica 28 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 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 HTTP 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á familiarizado con el entorno y que sabe in

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 de Arduino. Par

Práctica 6: Initial setups and tests (ON/OFF)

✅ Práctica 6 Github Repositories ▷  #TSCLab #TCLab #ESP32 #Arduino #Control #MACI En el siguiente blog se presenta la sexta práctica y corresponde a la primera del laboratorio de control de velocidad. Objetivo general: Entender el funcionamiento del motor DC para activarlo, desactivarlo y cambiarle el sentido de gira 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: Esta práctica de laboratorio consiste en familiarizarse con la parte del control de velocidad del motor DC, para ello en la programación de la placa se le envía señales High y Low para poder hacer girar al motor en sentido horario, antihorario o detenerlo.  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:           Repositories:  https://github.com/vasanza/TSC-Lab/tree/main/Prac