Descripción del Proyecto
Proyecto final full stack IoT con Node-RED aplicando los conceptos vistos.
Repositorio: https://github.com/jecrespo/proyecto-fundamentos-iot
Material del Proyecto
M5stack: https://m5stack.com/collections/m5-core/products/basic-core-iot-development-kit
M5Stick-C con sensor ENV:
- https://m5stack.com/collections/m5-core/products/stick-c
- https://m5stack.com/collections/m5-hat/products/m5stickc-env-hat-sht30-bmp280-bmm150
Raspberry Pi Zero: Instalada en local con cámara y programada con Node-RED, usada como dispositivo remoto.
Raspberry Pi 3B+: Instalada en local con Node-RED, Mosquitto y BBDD, usada como servidor.
Wibeee instalado y publicando datos.
Si el alumno tiene algún HW con que quiera interactuar, puede presentarlo y lo integramos en las prácticas.
Esquema del Proyecto
Topología del proyecto IoT:
Datos Disponibles
Topic Map Nodo00 (Enrique):
- educantabria/nodo00/wemos1/dato10s – publica mensaje numerado cada 10s
- educantabria/nodo00/wemos1/dato60s – publica mensaje numerado cada 60s
- educantabria/nodo00/wemos1/reset – publica mensaje cada reset o inicio
- educantabria/nodo00/wemos1/led – suscrito (1 led ON, otro valor led OFF)
- educantabria/nodo00/wemos1/text – suscrito (muestra el mensaje por pantalla)
- educantabria/nodo00/wemos1/rele – suscrito (1 relé ON, otro valor relé OFF). Con firmware relé
- educantabria/nodo00/wemos2/dato10s – publica mensaje numerado cada 10s
- educantabria/nodo00/wemos2/dato60s – publica mensaje numerado cada 60s
- educantabria/nodo00/wemos2/reset – publica mensaje cada reset o inicio
- educantabria/nodo00/wemos2/led – suscrito (1 led ON, otro valor led OFF)
- educantabria/nodo00/wemos2/text – suscrito (muestra el mensaje por pantalla)
- educantabria/nodo00/wemos2/temperatura – publica dato temperatura cada 10 segundos. Con firmware DS18B20
- educantabria/nodo00/wibeee/# – datos eléctricos de Wibeee. Varios parámetros.
- educantabria/nodo00/m5atom/aviso – suscrito (“alarma” – leds rojos, “aviso” – leds amarillos, “ok” – leds verdes, otro mensaje apaga)
- educantabria/nodo00/m5atom/boton – al pulsar publica “press” o “longpress”
- educantabria/nodo00/m5stack/boton/A – al pulsar botón A publica “press”
- educantabria/nodo00/m5stack/boton/B – al pulsar botón B publica “press”
- educantabria/nodo00/m5stack/boton/C – al pulsar botón C publica “press”
- educantabria/nodo00/m5stack/led – suscrito (1 dibuja en pantalla círculo rojo, otro valor dibuja en pantalla círculo verde)
- educantabria/nodo00/m5stack/text – suscrito, muestra por pantalla el texto
- educantabria/nodo00/m5stick/temperatura – publica dato temperatura cada 1 segundo
- educantabria/nodo00/m5stick/humedad – publica dato humedad cada 1 segundo
- educantabria/nodo00/m5stick/presion – publica dato presión cada 1 segundo
- educantabria/nodo00/m5stickplus/distancia – publica dato distancia cuando se activa
- educantabria/nodo00/m5stickplus/button – al pulsar botón publica “press”
- educantabria/nodo00/m5stickplus/led – suscrito (1 led ON, otro valor led OFF)
- educantabria/nodo00/m5stickplus/label – suscrito (“red” – circulo rojo, “yellow” – circulo amarillo, “green” – circulo verde, “black” – círculo verde)
- educantabria/nodo00/raspberry3/CPU – publica Node-RED el datos de CPU
- educantabria/nodo00/raspberry3/Temperatura – publica Node-RED el datos de temperatura procesador
- educantabria/nodo00/raspberry3/Memoria – publica Node-RED el datos de memoria libre
- educantabria/nodo00/raspberry3/Dashboard/# – publica Node-RED cualquier dato del Dasboard
- educantabria/nodo00/raspberry3/Datos/# – suscrito Node-RED para recibir cualquier dato externo
- educantabria/nodo00/raspberry3TT/CPU – publica Node-RED el datos de CPU
- educantabria/nodo00/raspberry3TT/Temperatura – publica Node-RED el datos de temperatura procesador
- educantabria/nodo00/raspberry3TT/Memoria – publica Node-RED el datos de memoria libre
- educantabria/nodo00/raspberry3TT/Dashboard/# – publica Node-RED cualquier dato del Dasboard
- educantabria/nodo00/raspberry3TT/Datos/# – suscrito Node-RED para recibir cualquier dato externo
- educantabria/nodo00/raspberryzero/tomafotomqtt – suscrito Node-RED un valor cualquiera enviado, toma una foto y publica en el topic educantabria/nodo00/raspberryzero/foto en baja resolución.
- educantabria/nodo00/raspberryzero/foto – publica Node-RED una foto al mandar cualquier dato en el topic educantabria/nodo00/raspberryzero/tomafotomqtt
- educantabria/nodo00/raspberryzero/tomafotoweb – suscrito Node-RED un valor cualquiera enviado, toma una foto y la actualiza en https://www.aprendiendoarduino.com/servicios/imagen.jpg en alta resolución
Topic Map Alumnos Nodoxx:
- educantabria/nodo{xx}/wemos{y}/dato10s – publica mensaje numerado cada 10s
- educantabria/nodo{xx}/wemos{y}/dato60s – publica mensaje numerado cada 60s
- educantabria/nodo{xx}/wemos{y}/reset – publica mensaje cada reset o inicio
- educantabria/nodo{xx}/wemos{y}/led – suscrito (1 led ON, otro valor led OFF)
- educantabria/nodo{xx}/wemos{y}/text – suscrito (muestra el mensaje por pantalla)
- educantabria/nodo{xx}/wemos{y}/rele – suscrito (1 relé ON, otro valor relé OFF). Con firmware relé
- educantabria/nodo{xx}/wemos{y}/oled – suscrito (muestra el mensaje por pantalla oled). Con firmware oled
- educantabria/nodo{xx}/wemos{y}/temperatura – publica dato temperatura cada 10 segundos. Con firmware DS18B20
- educantabria/nodo{xx}/wemos{y}/matrix – suscrito (0 efecto y apaga, de 1 a 8 ilumina de 1 a 8 líneas de matriz). Con firmware matrix.
- educantabria/nodo{xx}/raspberry{y}/CPU – publica Node-RED el datos de CPU
- educantabria/nodo{xx}/raspberry{y}/Temperatura – publica Node-RED el datos de temperatura procesador
- educantabria/nodo{xx}/raspberry{y}/Memoria – publica Node-RED el datos de memoria libre
- educantabria/nodo{xx}/raspberry{y}/Dashboard/# – publica Node-RED cualquier dato del Dasboard
- educantabria/nodo{xx}/raspberry{y}/Datos/# – suscrito Node-RED para recibir cualquier dato externo
{xx} número de alumno
{y} número de sensor
Alumno | Nº Nodo |
SERGIO A. | nodo01 |
Alberto B. | nodo02 |
Pablo C. | nodo03 |
Soraya C. | nodo03 |
isaías C. | nodo04 |
Mª del Mar E. | nodo05 |
Santiago F. | nodo06 |
José Ángel G. | nodo07 |
Oscar G. | nodo08 |
MARCOS G. | nodo09 |
Jose Luis G. | nodo10 |
Evelio H. | nodo11 |
Roberto I. | nodo12 |
RAMON L. | nodo13 |
Eduardo P. | nodo14 |
FRANCISCO JAVIER R. | nodo15 |
Sara T. | nodo16 |
Tareas del Proyecto
Fase 1 – Monitorización Local
Instalar nodo con todo el SW:
Instalar los sensores en la ubicación.
Fase 2 – Conectar a la Nube
Conectar sensores:
Fase 3 – Automatizar
Configurar y securizar Node-RED:
Programar Node-RED y MQTT:
Fase 4 – Integración con Terceros
Integración de datos con terceros: