Diferència entre revisions de la pàgina «27 / 4 / 2024 - Impresión 3D, Robótica e Iot, Hands on y MVPs»

De binefa.com
Salta a la navegació Salta a la cerca
 
(Hi ha 12 revisions intermèdies del mateix usuari que no es mostren)
Línia 2: Línia 2:
 
Acceso a la base de datos del VPS del máster
 
Acceso a la base de datos del VPS del máster
  
= Temario (15 / 4 / 2023) =
+
= Temario (27 / 4 / 2024) =
 
== Repaso del día anterior ==
 
== Repaso del día anterior ==
 
[https://www.binefa.cat/training/iot02/pdf/iot02_00_es.pdf Introducción a la placa IoT-02]
 
[https://www.binefa.cat/training/iot02/pdf/iot02_00_es.pdf Introducción a la placa IoT-02]
Línia 9: Línia 9:
  
 
== Conexión entre la placa IoT-02 y Snap! mediante MQTT ==
 
== Conexión entre la placa IoT-02 y Snap! mediante MQTT ==
'''Nuevo firmware de la placa IoT-02 para el día de hoy''': [https://www.binefa.cat/training/iot02/IoT-02_mqtt_json_upcSchool_broker2.zip firmware para gestionar el uso de JSON en la placa IoT-02]. [https://github.com/jordibinefa/IoT-02/tree/master/codes/IoT-02_mqtt_json_upcSchool_broker2 Firmware IoT-02_mqtt_json_upcSchool_broker2 en GitHub]
+
'''El firmware de la placa IoT-02 para el día de hoy es el mismo que usamos el último día''': [https://www.binefa.cat/training/iot02/IoT-02_mqtt_json_upcSchool_broker1.zip firmware para gestionar, también, el uso de JSON en la placa IoT-02]. [https://github.com/jordibinefa/IoT-02/tree/master/codes/IoT-02_mqtt_sync_upcSchool_broker1 Firmware IoT-02_mqtt_json_upcSchool_broker1 en GitHub]
  
[[Conexión entre la placa IoT-02 y Snap! v8 mediante MQTT]]
+
'''En el minuto 2:20 del primer vídeo de la clase invertida se hace referencia a un broker diferente al que tenemos programado en la placa.'''
 +
 
 +
 
 +
'''Las credenciales a utilizar son estas:'''
 +
 
 +
const char* mqtt_server = "'''vps656540.ovh.net'''"; // Your MQTT broker
 +
const int mqtt_port = '''1883''';
 +
const char* mqtt_user = "'''user'''";
 +
const char* mqtt_password = "'''pass'''";
 +
 
 +
<!-- '''Nuevo firmware de la placa IoT-02 para el día de hoy''': [https://www.binefa.cat/training/iot02/IoT-02_mqtt_json_upcSchool_broker2.zip firmware para gestionar el uso de JSON en la placa IoT-02]. [https://github.com/jordibinefa/IoT-02/tree/master/codes/IoT-02_mqtt_json_upcSchool_broker2 Firmware IoT-02_mqtt_json_upcSchool_broker2 en GitHub]
 +
[[Conexión entre la placa IoT-02 y Snap! v8 mediante MQTT]] -->
 +
[[Conexión entre la placa IoT-02 y Snap! v9 mediante MQTT]]
  
 
== Uso de la base de datos MariaDB para almacenar y leer datos IoT ==
 
== Uso de la base de datos MariaDB para almacenar y leer datos IoT ==
[[Uso de MariaDB en el VPS del Máster de Industria 4.0 el curso 2022-2023]]
+
[[Uso de MariaDB en el VPS del Máster de Industria 4.0 el curso 2023-2024]]
 +
<!-- [[Uso de MariaDB en el VPS del Máster de Industria 4.0 el curso 2022-2023 | Uso de MariaDB en el VPS del Máster de Industria 4.0 el curso 2023-2024]]-->
  
 
== Node-RED ==
 
== Node-RED ==
[[Asignación de puertos para el curso 2022-2023]]
+
[[Asignación de puertos para el curso 2023-2024]]
 +
<!--[[Asignación de puertos para el curso 2022-2023]]-->
  
 
=== Uso del Node-RED ===
 
=== Uso del Node-RED ===
[[Uso del NodeRED (2023) | Uso del Node-RED]]
+
[[Uso del NodeRED (2024) | Uso del Node-RED]]
 +
<!--[[Uso del NodeRED (2023) | Uso del Node-RED]]-->
 +
 
 
=== Uso de la base de datos MariaDB desde Node-RED===
 
=== Uso de la base de datos MariaDB desde Node-RED===
 
[[Uso de la base de datos MariaDB desde NodeRED (2023) | Uso de la base de datos MariaDB desde Node-RED]]
 
[[Uso de la base de datos MariaDB desde NodeRED (2023) | Uso de la base de datos MariaDB desde Node-RED]]
  
== Telegram ==
+
<!-- == Telegram ==
[[Uso de Telegram desde NodeRED]]
+
[[Uso de Telegram desde NodeRED]]-->
  
 
== Repaso y dudas de la clase invertida ==
 
== Repaso y dudas de la clase invertida ==
Línia 35: Línia 51:
  
 
* Escritura síncrona de múltiples datos asíncronos al mismo tiempo. Uso del formato de datos json
 
* Escritura síncrona de múltiples datos asíncronos al mismo tiempo. Uso del formato de datos json
 
+
<!--
* Telegram
+
* Telegram-->
  
 
== Ejercicios ==
 
== Ejercicios ==
Línia 55: Línia 71:
 
* Implementad un sistema SCADA (supervisión y control) que muestre en ''widgets'' diferentes de tipo reloj la temperatura, humedad relativa y nivel de luz (desde la placa IoT-02). También una gráfica de la temperatura en función del tiempo. En la parte de control de la placa IoT-02 hay un conmutador, cuando está activado el relé se pone en estado SET, se enciende el led rojo (y apaga el verde) y aparece SET en la pantalla OLED. Cuando se desactiva el conmutador el relé se pone en estado RESET, se enciende el led verde (y apaga el rojo) y aparece RESET en la pantalla OLED.
 
* Implementad un sistema SCADA (supervisión y control) que muestre en ''widgets'' diferentes de tipo reloj la temperatura, humedad relativa y nivel de luz (desde la placa IoT-02). También una gráfica de la temperatura en función del tiempo. En la parte de control de la placa IoT-02 hay un conmutador, cuando está activado el relé se pone en estado SET, se enciende el led rojo (y apaga el verde) y aparece SET en la pantalla OLED. Cuando se desactiva el conmutador el relé se pone en estado RESET, se enciende el led verde (y apaga el rojo) y aparece RESET en la pantalla OLED.
  
=== Ejercicios '''Telegram''' ===
+
<!--=== Ejercicios '''Telegram''' ===
 
* Desde el chat del bot: Al enviar la orden '''/ledWon''' se enciende el led blanco de la placa IoT-02. Al enviar la orden '''/ledWoff''' se apaga el led blanco.
 
* Desde el chat del bot: Al enviar la orden '''/ledWon''' se enciende el led blanco de la placa IoT-02. Al enviar la orden '''/ledWoff''' se apaga el led blanco.
  
Línia 62: Línia 78:
 
* El chat de vuestro bot recibe un mensaje cuando se aprieta vuestro botón I34 y cuando se deja de apretar.
 
* El chat de vuestro bot recibe un mensaje cuando se aprieta vuestro botón I34 y cuando se deja de apretar.
  
* Desde el chat del grupo donde pertenece vuestro bot: Al enviar la orden '''/entradas''' el bot contesta con los estados de los botones y la temperatura de la placa.
+
* Desde el chat del grupo donde pertenece vuestro bot: Al enviar la orden '''/entradas''' el bot contesta con los estados de los botones y la temperatura de la placa.-->
  
 
=== Comentario de la práctica para el próximo día ===
 
=== Comentario de la práctica para el próximo día ===
El enunciado estará en breve en el campus.
+
El enunciado estará en breve en el campus. Se comenzará después de haber usado Grafana y Telegram.

Revisió de 15:44, 24 abr 2024

Conceptos previos (26 / 4 / 2024)[modifica]

Acceso a la base de datos del VPS del máster

Temario (27 / 4 / 2024)[modifica]

Repaso del día anterior[modifica]

Introducción a la placa IoT-02

El protocolo MQTT

Conexión entre la placa IoT-02 y Snap! mediante MQTT[modifica]

El firmware de la placa IoT-02 para el día de hoy es el mismo que usamos el último día: firmware para gestionar, también, el uso de JSON en la placa IoT-02. Firmware IoT-02_mqtt_json_upcSchool_broker1 en GitHub

En el minuto 2:20 del primer vídeo de la clase invertida se hace referencia a un broker diferente al que tenemos programado en la placa.


Las credenciales a utilizar son estas:

const char* mqtt_server = "vps656540.ovh.net"; // Your MQTT broker
const int mqtt_port = 1883; 
const char* mqtt_user = "user";
const char* mqtt_password = "pass";

Conexión entre la placa IoT-02 y Snap! v9 mediante MQTT

Uso de la base de datos MariaDB para almacenar y leer datos IoT[modifica]

Uso de MariaDB en el VPS del Máster de Industria 4.0 el curso 2023-2024

Node-RED[modifica]

Asignación de puertos para el curso 2023-2024

Uso del Node-RED[modifica]

Uso del Node-RED

Uso de la base de datos MariaDB desde Node-RED[modifica]

Uso de la base de datos MariaDB desde Node-RED


Repaso y dudas de la clase invertida[modifica]

  • Uso de JSON con Snap!
  • Simulación de generación de un dato. Aleatorización controlada por el panel de control
  • Aleatorización de múltiples datos controlada por el panel de control
  • Escritura síncrona de múltiples datos asíncronos al mismo tiempo. Uso del formato de datos json

Ejercicios[modifica]

Ejercicio de Snap! con MQTT[modifica]

  • Mediante Snap! hacer que en la pantalla aparezca, de forma infinita y con una cadencia de dos segundos, el porcentaje de luz leída por la LDR y después la temperatura en grados centígrados.

Ejercicios de NodeRED[modifica]

Ejercicio NodeRED-01[modifica]

  • Implementad vuestro flujo para recibir el estado de los tres botones (de manera asíncrona, cuando hay un cambio) de la placa IoT-02.

Ejercicio NodeRED-02[modifica]

  • Poned 5 conmutadores (Control de los 4 leds y el estado del relé biestable del placa IoT-02).

Ejercicio NodeRED-05[modifica]

  • Implementad una pasarela (gateway) HTTP/MQTT para cambiar el estado de los leds y el relé biestable de la placa IoT-02.

Ejercicio NodeRED-06[modifica]

  • Implementad un sistema SCADA (supervisión y control) que muestre en widgets diferentes de tipo reloj la temperatura, humedad relativa y nivel de luz (desde la placa IoT-02). También una gráfica de la temperatura en función del tiempo. En la parte de control de la placa IoT-02 hay un conmutador, cuando está activado el relé se pone en estado SET, se enciende el led rojo (y apaga el verde) y aparece SET en la pantalla OLED. Cuando se desactiva el conmutador el relé se pone en estado RESET, se enciende el led verde (y apaga el rojo) y aparece RESET en la pantalla OLED.


Comentario de la práctica para el próximo día[modifica]

El enunciado estará en breve en el campus. Se comenzará después de haber usado Grafana y Telegram.