Archivo de la categoría: Formación IoT

Ejercicio Avanzado LTE-M con Arduino MKR1500

Experimento avanzado: sobre la base del experimento básico, conectar una entrada digital para mandar órdenes remotas (pulsador) y dos salidas digitales (leds rojo y Amarillo) para recibir órdenes remotas en base a unas alarmas, mediante una plataforma IoT propia diseñada y programada con Node-RED.

De forma más avanzada usando una plataforma IoT desarrollada con Node-RED, permite más acciones y personalización, así como publicar los datos en una web pública accesible.

Se capturarán los datos de los sensores de temperatura, humedad e iluminación y se almacenarán en una Base de Datos InfluxDB: https://aprendiendonodered.com:8086

El stream de datos se analizará en tiempo real y se generarán unas alertas cuando se superen los siguientes umbrales:

  • Temperatura > 22 ºC
  • Iluminación < 500

Se programará la lógica, de forma que cuando la iluminación sea baja, se encenderá el led amarillo y cuando la temperatura sea alta se encenderá el led rojo, según los umbrales definidos anteriormente.

Además se mostrarán en el dashboard de la plataforma IoT desarrollada por los alumnos los siguientes datos:

  • Gauge y gráfica últimos 30 minutos temperatura
  • Gauge y gráfica últimos 30 minutos humedad
  • Gauge y gráfica últimos 30 minutos iluminación
  • Estado de los leds
  • Contador con el número de veces que se pulsa el pulsador y un reset de contador.
  • Estado del dispositivo
  • Un switch para encender y apagar el led integrado

Ejemplo de ejercicio IoT con redes 5G, usando Arduino MKR1500 que tiene conectividad LTE-M.

Para el curso, usaremos esta tarjeta IoT https://1nce.com/en-us/1nce-connect que tiene activado para España tanto LTE-M como NB-IoT. Es imprescindible que cada alumno que asista al curso tenga una tarjeta de este tipo. Es posible comprar esta tarjeta en https://shop.1nce.com/portal/shop/ y tarda aprox. 5 días en llegar.

Repositorio: https://github.com/jecrespo/fundamentos-iot-5g 

Cargar el código: https://github.com/jecrespo/fundamentos-iot-5g/blob/main/Experimento-Avanzado-NodeRED/Experimeto-Basico-MQTT.ino

Repositorio Node-RED: https://github.com/aprendiendonodered/EJERCICIO33_IOT_5G 

Material para la práctica:

  • 1x Arduino MKR NB 1500
  • 1x tarjeta micro-sim de operador con red LTE-M con datos habilitados.
  • 1 Breadboard/protoboard 400 points
  • Un kit de 20 cables jumpers macho/macho
  • Un sensor de temperatura DHT-22 o ds18b20 o Temperature sensor [TMP36]
  • 1 Photoresistor [VT90N2 LDR]
  • 2 LEDs (red)
  • 1 Pushbutton
  • 5 Resistors 220 Ohms
  • 1 Resistor 10 KOhms

Alternativamente puede usarse uno de estos kits de Arduino:

Esquema de conexión:

Ejemplo de código de Node-RED:

El interfaz diseñado debe ser similar a este:

Guardar en la BBDD influxdb https://aprendiendonodered.com:8086 todo lo que se publique en cursomqtt/<ID_DISPOSITIVO>/# poniendo la tag del topic.

Anuncio publicitario

Ejercicio Básico LTE-M con Arduino MKR1500

Experimento básico 5G: Conexión a red LTE-M mediante un Arduino MKR NB 1500 y envío de al menos dos parámetros ambientales de sensores conectados, mediante API REST y MQTT a la plataforma https://thingspeak.com/, configuración de un dashboard y almacenado de datos históricos.

Ejemplo de ejercicio IoT con redes 5G, usando Arduino MKR1500 que tiene conectividad LTE-M.

Para el curso, usaremos esta tarjeta IoT https://1nce.com/en-us/1nce-connect que tiene activado para España tanto LTE-M como NB-IoT. Es imprescindible que cada alumno que asista al curso tenga una tarjeta de este tipo. Es posible comprar esta tarjeta en https://shop.1nce.com/portal/shop/ y tarda aprox. 5 días en llegar.

Repositorio: https://github.com/jecrespo/fundamentos-iot-5g 

Material para la práctica:

  • 1x Arduino MKR NB 1500
  • 1x tarjeta micro-sim de operador con red LTE-M con datos habilitados.
  • 1 Breadboard/protoboard 400 points
  • Un kit de 20 cables jumpers macho/macho
  • Un sensor de temperatura DHT-22 o ds18b20 o Temperature sensor [TMP36]
  • 1 Photoresistor [VT90N2 LDR]
  • 2 LEDs (red)
  • 1 Pushbutton
  • 5 Resistors 220 Ohms
  • 1 Resistor 10 KOhms

Alternativamente puede usarse uno de estos kits de Arduino:

Esquema de conexión:

Abrirse una cuenta gratuita en https://thingspeak.com/

Usaremos Arduino MKR NB 1500 que tiene conectividad LTE-M. La práctica tiene como objetivo que los alumnos puedan observar una experiencia con conectividad, «subir» datos y observarlos en un  dashboard y luego con esos datos activar por ejemplo una alarma (que representaría encendiendo un led).

Tareas previas en la plataforma https://thingspeak.com/

  • Abrirse una cuenta gratuita en https://thingspeak.com/
  • Crear un nuevo Canal llamado “curso_iot”
  • En Channel Settings, apuntar el el Channel ID
  • En Channel Settings, crear 3 fields: Temperatura, Humedad e Iluminación
  • En Api Keys, apuntar el Write API Key

Cargar el programa: https://github.com/jecrespo/fundamentos-iot-5g/blob/main/Experimeto-Basico-ThingSpeak/Experimeto-Basico-ThingSpeak.ino 

Instalar la librería de ThingSpeak en Arduino: https://www.arduinolibraries.info/libraries/thing-speak 

Más información:

Si el uso de este código da error -301, significa que no responde el servidor, en ese caso usar conexión MQTT.

Cargar el código: https://github.com/jecrespo/fundamentos-iot-5g/blob/main/Experimeto-Basico-MQTT/Experimeto-Basico-MQTT.ino 

Comprobar con MQTT Explorer: 

  • cursomqtt/<ID_DISPOSITIVO>/status – Estado del dispositivo (OK conectado. KO desconectado)
  • cursomqtt/<ID_DISPOSITIVO>/temperatura – Temperatura del sensor DHT22
  • cursomqtt/<ID_DISPOSITIVO>/humedad – Humedad del sensor DHT22
  • cursomqtt/<ID_DISPOSITIVO>/iluminación – Iluminación del sensor LDR
  • cursomqtt/<ID_DISPOSITIVO>/pulsador – un mensaje por cada vez que se pulsa 

Interactúa con los leds publicando ON/OFF en estos topics:

  • cursomqtt/<ID_DISPOSITIVO>/ledbuiltin
  • cursomqtt/<ID_DISPOSITIVO>/ledrojo
  • cursomqtt/<ID_DISPOSITIVO>/ledamarillo

Adicionalmente, interactuar con el experimento usando el protocolo MQTT y la app https://www.iot-onoff.com/ 

Instalar la app: https://play.google.com/store/apps/details?id=goliath.mobile.device.iotonoff

En configuración en la sección “Broker Server”, poner los datos del broker MQTT que estamos usando y comprobar que conecta correctamente.

Crear un dashboard con los siguientes elementos asociados a los topics:

  • Un value con nombre “temperatura” y suscrito al topic cursomqtt/<ID_DISPOSITIVO>/temperatura – para visualizar la temperatura del sensor DHT22
  • Un value con nombre “humedad” y suscrito al topic cursomqtt/<ID_DISPOSITIVO>/humedad – para visualizar la humedad del sensor DHT22
  • Un graph con nombre “iluminacion” y suscrito al topic cursomqtt/<ID_DISPOSITIVO>/iluminacion – para seguir la ilumincación del sensor LDR
  • Un switch con nombre “led rojo” que publique ON y OFF y esté suscrito al topic cursomqtt/<ID_DISPOSITIVO>/ledrojo – para controlar el estado del led rojo
  • Un switch con nombre “led amarillo” que publique ON y OFF y esté suscrito al topic cursomqtt/<ID_DISPOSITIVO>/ledamarillo – para controlar el estado del led amarillo
  • Un led con nombre “estado” que esté suscrito al topic cursomqtt/<ID_DISPOSITIVO>/status y muestre en rojo si recibe un OFF y verde si recibe un ON
  • Un texto con nombre “pulsador” que esté suscrito al topic cursomqtt/<ID_DISPOSITIVO>/status y muestre por texto cada vez que se pulse el pulsador. 

El Dashboard quedará como:

Finalmente comprobar que puedes interactuar con la maqueta desde el móvil.

 Material de Prácticas Fundamentos IoT 5G

Para el curso on-line “Fundamentos IoT para Formadores”, el material necesario por alumno es:

  • 1 PC completo o Portátil con conexión a internet
  • Nodos remotos por asistente compuesto por el siguiente material:
    • 1x Arduino MKR NB 1500
    • 1x tarjeta micro-sim de operador con red LTE-M con datos habilitados. IMPORTANTE: la tarjeta SIM debe tener habilitado LTE-M en la zona donde se va a realizar la práctica, comprobar cobertura del operador. En España Vodafone y Orange tienen cobertura LTE-M, pero asegurarse que la SIM tiene activo el servicio LTE-M.
    • 1 Breadboard/protoboard 400 points
    • Un kit de 20 cables jumpers macho/macho
    • Un sensor de temperatura DHT-22 o ds18b20 o Temperature sensor [TMP36]
    • 1 Photoresistor [VT90N2 LDR]
    • 2 LEDs (red)
    • 1 Pushbuttons
    • 5 Resistors 220 Ohms

Para el curso y mientras Vodafone no nos facilite las tarjetas SIM IoT, usaremos esta tarjeta IoT https://1nce.com/en-us/1nce-connect que tiene activado para España tanto LTE-M como NB-IoT. Es imprescindible que cada alumno que asista al curso tenga una tarjeta de este tipo para la sesión del 1 de marzo, sino no se podrá poner en práctica lo aprendido en el curso.

Para seguir el curso on-line es recomendable dos pantallas, una para seguir el vídeo y otra para programar en Node-RED.

Todo el software y documentación utilizado en el curso es libre con licencia creative commons o similar.

Toda la documentación y ejercicios generados para la impartición de este curso será liberada con licencia Creative Commons, podrá ser utilizada bajo sus términos y será publicado en https://www.aprendiendoarduino.com/ 

El PC de cada asistente deberá tener un sistema operativo instalado, ya sea un sistema Windows, MacOS o Linux. Las licencias del Sistema Operativo y el software que tenga correrán a cargo del cliente/alumno.

Servicios Cloud para el Curso

Se usará un broker común para comunicar todos los dispositivos: mqtts://aprendiendonodered.com:8883

Los alumnos recibirán usuario y contraseña para acceder al broker con permisos de lectura y escritura en iot5G/#

Base de datos MySQL en https://enriquecrespo.com/phpmyadmin/ donde los alumnos podrán usar para almacenar datos. Los alumnos recibirán las credenciales de acceso.

Base de datos InfluxDB en https://aprendiendonodered.com:8086/ donde los alumnos podrán usar para almacenar datos. Los alumnos recibirán las credenciales de acceso.

Grafana en https://aprendiendonodered.com:3000/ para representar gráficamente los datos. Recibirán por correo las credenciales de acceso.

Otros servicios programados con Node-RED en aprendiendonodered.com: API, Open Data, servidor FTP, gateway servicios de terceros, simulación de datos, etc… y servicios self hosted (gotify, thingsboard, thinger.io, etc…)

Interacción con servicios cloud de terceros como: APIs, Open Data, Cámaras/Imágenes, Plataformas IoT, Redes Sociales, Servicios de Mensajería, Servicios de alertas, email, etc…

Presentación Curso Fundamentos IoT 5G

Título: “Fundamentos IoT 5G para Formadores”

El curso on-line “Fundamentos IoT 5G para Formadores” ha sido diseñado para conocer los fundamentos de IoT en aplicaciones en redes celulares. Este curso está enfocado en dar a conocer las nuevas tecnologías utilizadas en IoT extremo a extremo, con el fin de operar e integrar con las plataformas IoT.

Motivación

Este curso está diseñado para los formadores de Integra Conocimiento & Innovación que ha sido adjudicatario junto a Vodafone para el programa Formación Profesional para el Empleo en Tecnología 5G, un proyecto de la Junta de Andalucía.

Noticias: 

Gracias a las herramientas libres/Open Source es posible democratizar el IoT y la industria 4.0. Antes se necesitaba muchísimo dinero no solo en HW y licencias de SW, sino en consultores que hacen un diseño a medida y realizan la integración de los sistemas, ahora no solo el SW libre y el HW libre y barato, sino que la comunidad da soporte a las dudas, hace documentación y tutoriales, así como librerías para facilitar el trabajo.

Actualmente apenas existen módulos de 5G para conectar a microcontroladores y su precio es muy alto, por ese motivo, en este curso vamos a usar las tecnologías de transición al 5G y que muy posiblemente se usen en paralelo al 5G en el futuro. Estas tecnologías son LTE-M y NB-IoT que son con las que trabajaremos en el curso.

LTE-M y NB-IoT son estándares creados por 3GPP, la organización de estándares responsable de LTE y 5G. Permiten a los operadores aprovechar la infraestructura celular existente para admitir una implementación muy amplia de dispositivos IoT. Debido a que operan en espectro con licencia, son seguros, confiables y brindan calidad de servicio garantizada.

Por supuesto, los operadores ya usan redes 2G y 3G más antiguas para algunas aplicaciones de IoT, como el seguimiento de flotas. Pero LTE-M y NB-IoT son diferentes porque están específicamente diseñados y optimizados para dispositivos IoT que comunican pequeñas cantidades de datos durante largos períodos de tiempo. Por lo tanto, son más simples que otros estándares celulares, con muchos menos gastos generales. 

Otras opción que se puede hacer es usar un router wifi 5G y conectar dispositivos wifi, para ello se puede seguir este curso de IoT centrado en dispositivos wifi: https://www.aprendiendoarduino.com/cursos/fundamentos-iot-open-source-para-formacion-profesional/ 

El 5G se está desarrollando principalmente en tres vías:

  • Banda ancha móvil mejorada o eMBB
  • IoT para servicios de misión crítica
  • IoT masivo

Ahora, esta tecnología IoT LTE está evolucionando hacia el IoT 5G Masivo. Uno de los avances específicos de 5G aplicado a IoT será la capacidad de admitir una densidad muy alta de dispositivos IoT en un área pequeña, llegando al millón de dispositivos por kilómetro cuadrado.

A medida que el 5G comienza su implantación generalizada nos podemos preguntar si vale la pena seguir invirtiendo en IoT LTE o hemos de esperar a IoT 5G. Invertir en IoT LTE hoy no solo satisface las necesidades del mercado actual, sino que también establece una base sólida para abordar las oportunidades del futuro de manera efectiva. La confrontación entre IoT LTE y IoT 5G no existe, no son conceptos contrarios sino complementarios. IoT LTE es la clave para el éxito en IoT 5G. La industria que quiera ser líder en IoT deberá tener una base sólida en IoT LTE o de lo contrario correrá el riesgo de ser adelantada por la competencia.

Como encaja NB-IoT y LTE-M en el ecosistema IoT: https://www.qorvo.com/design-hub/blog/how-nb-iot-and-lte-m-fit-into-iot-ecosystem-future-of-cellular-iot 

La siguiente figura muestra algunos de los casos de uso de IoT habilitados por MTC (machine-type communications) masivo y aplicaciones críticas de MTC. El MTC masivo se basa en tecnologías LPWAN, incluidas NB-IoT y LTE-M, mientras que el MTC crítico requerirá comunicaciones en tiempo real con muy baja latencia y alta confiabilidad.

Objetivos

El objetivo de este curso es conocer los fundamentos de IoT para redes celulares actuales que actualmente los operadores están usando desde LTE-M y NB-IoT como paso previo al 5G aplicado a IoT.

Se verán las tecnologías necesarias para el desarrollar soluciones IoT extremo a extremo, puesto que las redes celulares solo es el medio de transporte de los datos y es una parte del ecosistema IoT. Nos valdremos para ello de herramientas, tecnologías, protocolos y software libre (open source) que hay a nuestra disposición, en especial el uso del protocolo MQTT y Node-RED, para el desarrollo e integración con sistemas externos y plataformas IoT de Smart Cities.

Otro objetivo de este curso es conocer las tecnologías necesarias para el desarrollar soluciones IoT y valiéndonos para ello de herramientas, tecnologías, protocolos y software libre/open source que hay a nuestra disposición. También elaborar dos prácticas para dar soporte al curso y ser utilizadas a posteriori.

El curso se componen dos partes, una primera de fundamentos IoT necesarios para entender todas las tecnologías necesarias en la pila IoT y una segunda parte donde se explicarán los experimentos desarrollados y se pondrán en práctica.

La documentación del curso se entregará en formato web en https://www.aprendiendoarduino.com/cursos/fundamentos-iot-5g-para-formadores/ 

Se desarrollarán dos experimentos IoT basados en la placa Arduino MKR NB 1500 con las siguientes características:

  • Experimento básico: Conexión a red LTE-M mediante un Arduino MKR NB 1500 y envío de al menos dos parámetros ambientales de sensores conectados, mediante API REST y MQTT a la plataforma https://thingspeak.com/, configuración de un dashboard y almacenado de datos históricos.
  • Experimento avanzado: sobre la base del experimento básico, conectar una entrada digital para mandar órdenes remotas y una salida digital para recibir órdenes remotas a una plataforma IoT. Se usará como plataforma IoT Thingspeak para una interacción y de forma más avanzada usando una plataforma IoT desarrollada con Node-RED que permite más acciones y personalización.

Estos dos experimentos se entregan con toda la documentación, paso a paso y código utilizado tanto en los dispositivos Arduino como en la plataforma IoT desarrollada con Node-RED.

Con los conocimientos adquiridos, los asistentes aprenderán las tecnologías necesarias para hacer aplicaciones IoT o integrar desarrollos propios.  Se adquirirán conocimientos en cuanto manejo, montaje y parametrización de redes de comunicación IoT, protocolos IoT y hardware IoT.

Se aprenderá a usar Node-RED, un framework enfocado a IoT para programar, automatizar e integrar plataformas IoT.

Metodología Curso On-Line

El curso on-line consiste en 6 horas de formación, repartidas en 3 sesiones de 2 horas de fundamentos IoT generales y 4 horas de formación, repartidas en 2 sesiones de 2 horas de explicación y montaje de los experimentos desarrollados previamente con los Arduinos MKR1500.

El curso se realizará entre el 22 de febrero y el 9 de marzo de 2023 en las siguientes sesiones:

  • 5 sesiones los días 22 de febrero, 1, 2, 8 y 9 de marzo de 2023 de 17:30 a 19:30

Además se propondrá ampliar documentación y hacer ejercicios entre sesión y sesión. 

La plataforma en vídeo usada será https://meet.jit.si/aprendiendoarduino y se grabarán todas las sesiones. En casos de problemas con esta plataforma se podrá usar Google Meet.

Los recursos utilizados para la realización de este curso son:

Toda la documentación será on-line con el objetivo de mantenerla actualizada y no con un documento físico que se queda obsoleto rápidamente. Después de finalizar el curso toda la documentación on-line seguirá estando disponible de forma pública.

Toda la documentación está liberada con licencia Creative Commons.

Reconocimiento – NoComercial – Compartir Igual (by-nc-sa): No se permite un uso comercial de la obra original ni de las posibles obras derivadas, la distribución de las cuales se debe hacer con una licencia igual a la que regula la obra original.

Aprendiendo Arduino by Enrique Crespo is licensed under a Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional License.

Requisitos

Para la realización de este curso es necesario tener conocimientos básicos o experiencia en algunas de estas áreas: programación, redes TCP/IP, redes inalámbricas, protocolos de comunicación, bases de datos, uso de sistemas linux, microcontroladores, autómatas, electrónica, uso de sensores, actuadores, etc…

Es recomendable un conocimiento medio de Inglés puesto que gran parte de la documentación oficial de referencia está en Inglés.

Programación del Curso

FechaTemarioHoras
X 22/02/2317:30-19:30Hardware IoT. Programación y comunicaciones Arduino2h
X 01/03/2317:30-19:30Protocolos IoT. API REST y MQTT. Plataforma Thingspeak2h
J 02/03/2317:30-19:30Node-RED. Programación básica y Dashboard2h
X 08/03/2317:30-19:30Experimento Básico IoT LTE-M2h
J 09/03/2317:30-19:30Experimento Avanzado IoT LTE-M2h
TOTAL10h

Contenido del Curso

Toda la documentación del curso y el código usado es libre y accesible desde: https://www.aprendiendoarduino.com/cursos/fundamentos-iot-5g-para-formadores/ 

  • Presentación Curso Fundamentos IoT 5G
    • Presentación del Curso
    • Material de Prácticas
  • Fundamentos IoT
    • Qué es IoT
    • Ecosistema IoT 
    • Arquitecturas IoT 
  • Hardware IoT
    • Arduino en IoT 
    • Programación Arduino
    • Arduino MKR NB 1500
    • Sensores y Actuadores
    • Comunicaciones IoT. LTE-M, NB-IoT y 5G
  • Protocolos IoT
    • Protocolos IoT Capa Aplicación 
    • Protocolo HTTP 
    • API REST 
    • MQTT 
  • Node-RED
    • Qué es Node-RED
    • Uso del Editor de Node-RED
    • Mensajes Node-RED
    • Biblioteca Node-RED
    • Programación Básica Node-RED
    • Dashboard Node-Red
  • Plataformas IoT
    • ThingSpeak 
  • Prácticas
    • IoT Básico
    • IoT Avanzado

Presentaciones

  • ¿Nombre?
  • Breve presentación y experiencia con los puntos que vamos a tratar.

Contacto

Para cualquier consulta durante el curso y en cualquier otro momento mediante email: aprendiendoarduino@gmail.com

Twitter @jecrespo: https://twitter.com/jecrespom

Y más información sobre el curso y el autor: http://www.aprendiendoarduino.com/acerca-de/

Diario Curso: Raspberry Pi y Node-RED. 2ª ed

Curso «Raspberry Pi y Node-RED para IoT 2022. 2ª ed.»: https://www.aprendiendoarduino.com/raspberry-pi-y-node-red-para-iot-2a-ed/

Día 1 (13/06/2022) – «Presentación del Curso»

Hoja de préstamo de material.

Capítulos vistos:

Día 2 (14/06/2022) – «Raspberry Pi OS y Linux»

Resumen de lo hecho el día 1: Raspberry Pi instalada y configurada con acceso remoto por VNC, incluso por cloud. ¿Dudas del proceso?

ssh: https://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-rg-es-4/ch-ssh.html

Raspberry Pi Compute Module 4s: https://www.muycomputer.com/2022/04/06/raspberry-pi-compute-module-4s/

mDNS: https://en.wikipedia.org/wiki/Multicast_DNS

Capítulos vistos:

Día 3 (15/06/2022) – «Linux e Instalación Servicios»

Resumen de lo hecho el día 2: Configurado acceso remoto a Raspberry Pi y redes virtuales.

Planificación para jueves o viernes: Node-RED y MQTT

Acceso a Raspberry Pi de casa con Zero Tier:

  • Instalar Zero Tier en Raspberry Pi de casa: curl -s https://install.zerotier.com | sudo bash
  • Unirse a la red: sudo zerotier-cli join [network-id] with [device-id]
  • Autorizar a la Raspberry Pi a entrar en la red desde el panel de control de Zero Tier
  • Comprobar que está en la red: sudo zerotier-cli listnetworks
  • Probar desde las otras Raspberry Pi en red Zero Tier que hace ping a Raspberry de Casa
  • Instalar Zero Tier en los PCs del aula y unirse a la red
  • Comprobar que se llega a los Node-RED (puertos 1880, 1881 y 1882) y Grafana (puerto 3000) de Raspberry Pi casa
  • Abandonar la red: sudo zerotier-cli leave [network-id]
  • Eliminar Raspberry Pi del panel de control de Zero Tier

Servicios como ZeroTier o Remote.it nos permite administrar redes virtuales y entender el funcionamiento de las VPNs o los túneles.

Zero Tier self-hosted: https://docs.zerotier.com/self-hosting/network-controllers/?utm_source=ztp

Acceso P2P con remote.it

MOOCs recomendados:

Capítulos vistos:

Día 4 (16/06/2022) – «Node-RED»

Resumen de lo hecho: Configurado acceso remoto a Raspberry Pi, acceso remoto y gestión Raspberry Pi via web.

  • Podemos programarla Node-RED
  • Podemos administrarla con Webmin
  • Podemos almacenar datos con SQLite
  • Y todo en local o en remoto.

Todo lo aprendido con Raspberry Pi es extensible a cualquier dispositivo con Linux, especialmente sistemas embebidos, gateways y servidores (publicos o privados).

Capítulos vistos:

Día 5 (17/06/2022) – «MQTT»

Open Weather Map:

Servidor MQTT:

  • Host: aprendiendonodered.com
  • Port: 8883
  • username: cursomqtt
  • Topic: cursomqtt/#

Instrucciones instalación Node-RED: https://nodered.org/#get-started

Capítulos vistos:

Día 6 (20/06/2022) – «Node-RED y MQTT»

Ecuador del curso: Todo listo para configurar Node-RED y programar con Node-RED.

Documentación final actualizada y publicada.

Control de Acceso con MQTT: https://es.aliexpress.com/item/1005003127209417.html

Dispositivos instalados, número de clientes en broker y carga del servidor

top -p `pgrep "mosquitto"`
tail -f /var/log/mosquitto/mosquitto.log

MOOCs:

Conectar los Arduinos

Capítulos vistos:

Día 7 (21/06/2022) – «Desarrollo Node-RED»

Más de MQTT en: 4.1.- Protocolo MQTT

Software MQTT: https://mqtt.org/software/

Broker MQTT público: https://www.hivemq.com/mqtt-cloud-broker/

Broker privado con MQTT en 1 min. Aedes: https://flows.nodered.org/node/node-red-contrib-aedes

MQTT Clean Session: http://www.steves-internet-guide.com/mqtt-clean-sessions-example/

Topic restriction: http://www.steves-internet-guide.com/topic-restriction-mosquitto-configuration/

Automatizar con Node-RED y MQTT:

  • Encender y apagar tras dos segundos con delay
  • Encender y apagar tras dos segundos con trigger
  • Encender con una pulsación y apagar con otra con toggle
  • Encender con temperatura > 25 grados y apagar cuando es menor

Programación distribuida. Envío de mensaje e instrucciones entre instancias de Node-RED para delegar funciones:

  • Publicar en cursomqtt/{nombre}/clima el nombre de una ciudad española mediante un inject
  • Suscribirse a cursomqtt/enrique/clima/resultado devuelve el clima para esa ciudad
  • Si se usara el mismo topic para responder a todos, todos recibiríamos las respuestas a las preguntas de todos.
  • Si usamos el mismo topic para responder, creamos un bucle

Lógica para programar la función anterior:

  • Suscribirse al topic cursomqtt/{nombre}/clima y consultar el clima actual con openweathermap, de la ciudad española que pasemos
  • Devolver el resultado en un JSON en cursomqtt/{nombre}/clima/resultado
  • No devolver el mensaje en el mismo topic. Peligro de hacer un bucle!!!

Capítulos vistos:

Día 8 (22/06/2022) – «Dashboard Node-RED»

Precio electricidad: https://www.ree.es/es/apidatos

Catálogo de datos del gobierno: https://datos.gob.es/es/catalogo

Programación visual para microcontroladores: https://xod.io/

Capítulos vistos:

Día 9 (23/06/2022) – «Configuración Node-RED»

Resumen de lo visto en el curso y lo que haremos los dos últimos días.

Owntracks: https://owntracks.org/

Worldmap : https://flows.nodered.org/node/node-red-contrib-web-worldmap

Ejemplo terremotos mejorado: https://flows.nodered.org/flow/002f4173484dabaf3d6742b8da9642ee

Demo 2N. Integrar control de accesos de 2N:

Capítulos vistos:

Día 10 (24/06/2022) – «Proyectos Finales con Node-RED»

Resumen de lo visto en el curso

MOOC Introducción a Docker y Contenedores: https://www.coursera.org/learn/introduccion-a-contenedores-con-docker

Netflix usa MQTT: https://www.hivemq.com/case-studies/netflix/

Nodo generador y decodificador de códigos QR: https://flows.nodered.org/node/node-red-contrib-image-tools

Curso Node-RED Developer: https://www.aprendiendoarduino.com/cursos/node-red-developer-professional/

Seguridad Node-RED:

  • Node-RED usa oauth2.0 para securiza la admin api
  • Usa auth bearer token. Expira en: 604800 segundos (7 días)
  • El navegador guarda el token y luego cuando vuelves a acceder no pide la contraseña. Puedes ver los token en el fichero /home/pi/-node-red/.sessions.json

El acceso al Dashboard y rutas HTTP usa basic Auth:

Eliminar contraseñas de los ordenadores!!!!

Recoger material.

Y cualquier duda a aprendiendoarduino@gmail.com

Capítulos vistos:

Capítulos para más información: