Una herramienta del estudiante · prototipa en papel, construye en MDFINICIOÉrase una vez… A Valentina le gusta salir a correr por su barrio.
NUDOAlgunos días el aire le pica en la garganta, pero nadie tiene pruebas de qué tan contaminado está.
DESENLACEValentina quiere medirlo y mostrarlo. Vas a construir una estación IoT que mide la calidad del aire, la publica en internet y la grafica para toda la comunidad.
En muchas ciudades el aire no es sano, pero la gente no lo sabe en tiempo real. El ODS 11 busca comunidades más sostenibles, y eso empieza por medir y mostrar lo que respiramos.
Una red de sensores conectados (IoT) puede informar a todo un barrio… si los datos llegan a un tablero que cualquiera pueda ver.
Vas a construir una estación que mide el aire, lo envía por internet y lo muestra en un dashboard del barrio.
Tu reto es una estación de monitoreo IoT: mide la calidad del aire, la publica en internet y la grafica en un dashboard. Papel y luego MDF.
Aquí cierras el ciclo del IoT: del sensor al dashboard. Vamos así:
Repasas ESP32 y WiFi, y entras al IoT de verdad: tu dato viaja a internet (MQTT), se guarda en una base de datos y se ve en un dashboard.
Tu nodo mide el aire, publica el dato en internet, alguien lo guarda y todos lo ven en un tablero. Esa cadena es el IoT.
Un nodo es una ESP32 con su sensor que mide algo del ambiente: aquí, la calidad del aire (polvo/PM o gases).
Antes de escribir el programa, dibuja el diagrama de flujo o escribe el pseudocódigo de lo que hará tu proyecto. El código es la consecuencia de pensar el algoritmo.
valor = sensor_aire.read()
if valor > limite_sano:
estado = 'malo'
else:
estado = 'bueno'
print('Aire:', valor, estado)Diseña la carcasa del nodo. Criterio: que el aire circule hacia el sensor (rejillas), no encerrado.
| Criterio | 1 | 2 | 3 | 4 | Puntos |
|---|---|---|---|---|---|
| Construcción | ○ | ○ | ○ | ○ | __/4 |
| Programación / lógica | ○ | ○ | ○ | ○ | __/4 |
| Diseño | ○ | ○ | ○ | ○ | __/4 |
| Preguntas del libro | ○ | ○ | ○ | ○ | __/4 |
| Trabajo y proceso | ○ | ○ | ○ | ○ | __/4 |
| TOTAL | __/20 | ||||
El nodo publica su lectura por MQTT a un topic (como un canal). Un broker en internet la reparte a quien la escuche.
aire/mibarrio.client.publish('aire/mibarrio', str(valor)).str() o falla.Antes de escribir el programa, dibuja el diagrama de flujo o escribe el pseudocódigo de lo que hará tu proyecto. El código es la consecuencia de pensar el algoritmo.
from umqtt.simple import MQTTClient
client = MQTTClient('nodo1', 'broker.publico')
client.connect()
client.publish('aire/mibarrio', str(valor)) # publica como textoDiseña tus topics. Criterio: nombres claros (zona/medida) para no confundir varios nodos.
| Criterio | 1 | 2 | 3 | 4 | Puntos |
|---|---|---|---|---|---|
| Construcción | ○ | ○ | ○ | ○ | __/4 |
| Programación / lógica | ○ | ○ | ○ | ○ | __/4 |
| Diseño | ○ | ○ | ○ | ○ | __/4 |
| Preguntas del libro | ○ | ○ | ○ | ○ | __/4 |
| Trabajo y proceso | ○ | ○ | ○ | ○ | __/4 |
| TOTAL | __/20 | ||||
Los datos que llegan se guardan en una base de datos y se grafican en un dashboard para ver la tendencia del aire.
Antes de escribir el programa, dibuja el diagrama de flujo o escribe el pseudocódigo de lo que hará tu proyecto. El código es la consecuencia de pensar el algoritmo.
# al recibir un dato MQTT: guardar_en_db(hora=ahora(), zona='mibarrio', valor=valor) # SQL: INSERT INTO aire (hora, zona, valor) VALUES (?, ?, ?)
Diseña tu dashboard. Criterio: que de un vistazo se entienda si el aire está bien o mal (colores, umbral).
| Criterio | 1 | 2 | 3 | 4 | Puntos |
|---|---|---|---|---|---|
| Construcción | ○ | ○ | ○ | ○ | __/4 |
| Programación / lógica | ○ | ○ | ○ | ○ | __/4 |
| Diseño | ○ | ○ | ○ | ○ | __/4 |
| Preguntas del libro | ○ | ○ | ○ | ○ | __/4 |
| Trabajo y proceso | ○ | ○ | ○ | ○ | __/4 |
| TOTAL | __/20 | ||||
Unes nodo + MQTT + base de datos + dashboard en una estación IoT que informa la calidad del aire a la comunidad (ODS 11).
Antes de escribir el programa, dibuja el diagrama de flujo o escribe el pseudocódigo de lo que hará tu proyecto. El código es la consecuencia de pensar el algoritmo.
# cadena IoT (resumen)
valor = medir_aire()
publicar_mqtt('aire/mibarrio', valor)
# servidor: guardar_en_db(...) -> dashboard graficaDa forma a tu estación. Criterio: resistente a la intemperie y con el sensor ventilado. Decora y nombra.
Pide a la IA: «¿qué decisiones puede tomar un barrio si conoce su calidad del aire?».
| Criterio | 1 | 2 | 3 | 4 | Puntos |
|---|---|---|---|---|---|
| Construcción | ○ | ○ | ○ | ○ | __/4 |
| Programación / lógica | ○ | ○ | ○ | ○ | __/4 |
| Diseño | ○ | ○ | ○ | ○ | __/4 |
| Preguntas del libro | ○ | ○ | ○ | ○ | __/4 |
| Trabajo y proceso | ○ | ○ | ○ | ○ | __/4 |
| TOTAL | __/20 | ||||
Ahora construyes tu estación en madera (MDF): una carcasa firme y ventilada para el nodo, lista para el exterior.
Presenta el dashboard a la comunidad y explica qué dice el aire del barrio. Vuelve a la pregunta: ¿ya pueden saberlo en tiempo real?
El docente evalúa el prototipo final. La convergencia (que los tres hilos funcionen juntos) vale el doble.
| Criterio | 1 | 2 | 3 | 4 | Puntos |
|---|---|---|---|---|---|
| Programación | ○ | ○ | ○ | ○ | __/4 |
| Robotización | ○ | ○ | ○ | ○ | __/4 |
| Diseño | ○ | ○ | ○ | ○ | __/4 |
| Convergencia (×2) — prueba de "quita un hilo" | ○ | ○ | ○ | ○ | __/8 |
| Proceso y comunicación | ○ | ○ | ○ | ○ | __/4 |
| TOTAL | __/24 | ||||
✂ Recorta por las líneas rojas. ┄ Dobla por las punteadas. ⬤ Fija el componente en los puntos marcados. No recortes las páginas de guía ni de evaluación.