Archivo de la etiqueta: 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.

Comunicaciones IoT. LTE-M, NB-IoT y 5G

Cellular IoT

5G está causando un gran impacto en IoT, lo que permite una amplia gama de nuevos dispositivos y arquitecturas de plataforma. Esperamos que esto pueda significar innovaciones como la gestión automatizada del ciclo de vida, la división de redes, las redes definidas por software y las aplicaciones de redes distribuidas optimizadas para la nube.

Los teléfonos móviles ya están en transición a 5G, pero el futuro de IoT está en el horizonte. Todo eso es muy emocionante para la industria, pero descifrar el lío de acrónimos técnicos que rodean la tecnología 5G puede limitar nuestra capacidad de comprender cómo 5G cambiará el panorama de IoT. 

La popularidad y la ubicuidad de los dispositivos IoT han llevado al surgimiento de opciones de redes de área amplia (LP-WAN) de bajo consumo como SigFox y LoRa.

Las opciones celulares tradicionales, como las redes 3G, 4G y LTE, consumen demasiada energía. Además, no se adaptan bien a las aplicaciones en las que solo se transmite una pequeña cantidad de datos con poca frecuencia, por ejemplo, medidores para leer los niveles de agua, el consumo de gas o el uso de electricidad.

Cellular IoT intenta responder a la búsqueda incesante de mejores aplicaciones de bajo consumo y largo alcance.

IoT celular significa: pocos datos a lo largo de muchos kilómetros. Uno de los factores detrás de la popularidad de la tecnología IoT celular es que permite aprovechar la infraestructura GSM densa y confiable existente, lo que significa un mejor rendimiento y economía al mismo tiempo. Sin embargo, debe quedar claro que las opciones celulares estándar y bien establecidas, como 2G, 3G o LTE consumen mucha energía y, por lo tanto, no van bien con las aplicaciones habituales de IoT, donde solo se envían pequeñas cantidades de datos de forma intermitente, como medidores inteligentes, sensores y actuadores agrícolas, dispositivos de seguimiento de activos, equipo inteligente para el cuidado de la salud y muchos más.

CAT-1

Cat-1 representa un impulso inicial hacia la conexión de dispositivos IoT mediante redes LTE existentes. Si bien el rendimiento es inferior a las redes 3G, es una excelente opción para aplicaciones IoT que requieren una interfaz de navegador o voz. La principal atracción es que ya está estandarizado y, lo que es más importante, la transición a la red Cat-1 es sencilla. Los expertos predicen que a medida que las tecnologías 3G, y eventualmente 4G, desaparezcan, las redes Cat-1 (y Cat-M1) ocuparán su lugar.

CAT-0

Para que las redes IoT basadas en LTE tengan éxito, deben tener las siguientes características: 1) batería de larga duración, 2) bajo costo, 3) compatibilidad con un gran volumen de dispositivos, 4) cobertura mejorada (mejor penetración de la señal a través de las paredes, por ejemplo). ), y 5) de largo alcance/amplio espectro.

Cat-0 optimiza el costo ya que eliminó funciones que admitían requisitos de alta velocidad de datos para Cat-1 (cadena de receptor doble, filtro dúplex). Si bien Cat-1 está reemplazando a 3G, Cat-0 es el protocolo que sienta las bases para que Cat-M reemplace a 2G como la opción más económica.

Cat-M1/Cat-M/LTE-M

Cat-M (oficialmente conocido como LTE Cat-M1) a menudo se considera la segunda generación de chips LTE creados para aplicaciones de IoT. Completa la reducción de costos y consumo de energía para la cual Cat-0 preparó el escenario originalmente. Al limitar el ancho de banda máximo del sistema a 1,4 MHz (a diferencia de los 20 MHz de Cat-0), Cat-M tiene aplicaciones específicas para aplicaciones LPWAN como la medición inteligente, en las que solo se requiere una pequeña cantidad de transferencia de datos.

Pero la verdadera ventaja de Cat-M sobre otras opciones radica en esto: Cat-M es compatible con la red LTE existente. Para operadores como Verizon y AT&T, esta es una gran noticia, ya que no tienen que gastar dinero para construir nuevas antenas, aunque la integración de Cat-M en redes LTE requiere un parche de software. Las bases de clientes existentes de Verizon y AT&T probablemente concluirán que Cat-M es, con mucho, la mejor opción. Por último, es casi seguro que las tecnologías 5G y LTE coexistirán hasta bien entrada la década de 2020, por lo que la retrocompatibilidad de Cat-M es una ventaja.

LTE-M es la tecnología por la que está apostando Movistar y orange: https://adslzone.net/2017/09/20/orange-desplegara-lte-m-en-sus-redes-4g-este-mismo-ano/ 

NB-IoT/Cat-M2

NB-IoT (también llamado Cat-M2) tiene un objetivo similar al de Cat-M; sin embargo, utiliza modulación DSSS en lugar de radios LTE. Por lo tanto, NB-IoT no opera en la banda LTE, lo que significa que los proveedores tienen un costo inicial más alto para implementar NB-IoT.

No obstante, NB-IoT se promociona como la opción potencialmente menos costosa, porque elimina la necesidad de una puerta de enlace. Otras infraestructuras suelen tener puertas de enlace que agregan datos de sensores, que luego se comunican con el servidor principal. Sin embargo, con NB-IoT, los datos del sensor se envían directamente al servidor principal. Por ese motivo, Huawei, Ericsson, Qualcomm y Vodafone están invirtiendo activamente en aplicaciones comerciales de NB-IoT.

Vodafone ha apostado por Narrowband IoT en España: https://www.vodafone.es/c/empresas/es/narrowband-iot/ 

Movistar ofrece las dos tecnologías NB-IoT y LTE-M: https://www.xatakamovil.com/movistar/telefonica-aumenta-despliegue-tecnologia-iot-cuenta-2-6-millones-lineas-activas-espana 

LTE-M vs NB-IoT

Tanto LTE-M como IoT de banda estrecha son:

  • Estándares de IoT celular creados en torno al concepto de LPWAN que se desarrolló para extender la vida útil de la batería de los dispositivos con recursos limitados y puede funcionar de manera efectiva a distancias de alrededor de 20 a 150 kilómetros.
  • Preparados para el futuro: son parte de 3GPP y 5G, el futuro líder de la tecnología de conectividad
  • Estandarizado, seguro y administrado por el operador dentro del espectro licenciado.
  • Diseñado para aplicaciones IoT que son de bajo costo, funcionan con velocidades de datos bajas, necesitan una batería de larga duración y se usan con frecuencia en lugares de difícil acceso.
  • Una opción obvia para implementaciones M2M que buscan reemplazos 2G y 3G para dispositivos heredados con largos ciclos de vida que requieren una buena cobertura y una mayor duración de la batería.
  • Muy bajo consumo de energía, lo que permite una duración de la batería del dispositivo de hasta 10 años. Es por eso que estas redes a veces también se denominan redes de área amplia de baja potencia (LPWAN).
  • Largo alcance y cobertura muy amplia, varias veces mejor que LTE.
  • Hardware de bajo costo, debido a la complejidad reducida y economías de escala.
  • Hasta 100000 o incluso más dispositivos por estación base, porque cada dispositivo tiene requisitos de rendimiento de datos muy bajos y porque las técnicas de software optimizadas permiten que las estaciones base se comuniquen con una gran cantidad de dispositivos IoT.

A juzgar por la lista anterior, parece que las características que comparten LTE-M y Narrowband IoT prevalecen y que las dos tecnologías son casi sinónimos. Pero no es del todo así; la diferencia entre ellos radica en algunos parámetros clave y, nuevamente, esos son, de hecho, los factores decisivos en el proceso de decisión de elegir la opción de conectividad IoT celular adecuada para su implementación.

NB‑IoT y LTE‑M son los sucesores naturales de los estándares celulares más antiguos para las aplicaciones existentes y también impulsarán el desarrollo de aplicaciones completamente nuevas.

La siguiente figura muestra algunos de los casos de uso de IoT habilitados por MTC 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.

La siguiente tabla compara las características de LTE‑M y NB‑IoT. Las mayores diferencias son el ancho de banda y el soporte de voz, pero a efectos prácticos, es probable que las diferencias para los desarrolladores de dispositivos IoT sean pequeñas. NB-IoT puede usar un poco menos de energía y el hardware requerido puede ser un poco menos complejo.

La principal diferencia entre LTE-M y NB-IoT es el ancho de banda de frecuencia. Como sugiere el nombre NarrowBand, el ancho de banda de frecuencia para NB-IoT es considerablemente más bajo que para LTE-M. La tasa de rendimiento de datos también es mayor con LTE-M, con hasta 1 Mbit/s. Para NB-IoT, la velocidad de datos es mucho más baja, hasta 128 Kbit/s.

En términos de penetración en edificios, NB-IoT funciona mejor que LTE-M y, por lo tanto, está predestinado para aplicaciones estacionarias, especialmente en edificios y sótanos. LTE-M tiene una puntuación particularmente buena en las aplicaciones móviles de IoT porque la tecnología admite lo que se conoce como «traspaso», es decir, conmutación de celdas de radio sin interrupción.

EC-GSM (anteriormente EC-EGPRS)

EC significa Cobertura Extendida. EC-GSM es la red GSM optimizada para IoT, el protocolo inalámbrico que utiliza el 80 % de los teléfonos inteligentes del mundo. Como sugiere el nombre, EC-GSM se puede implementar en redes GSM existentes, una gran ventaja en términos de practicidad y modularidad, ya que una simple pieza de software permite la conectividad EC-GSM dentro de redes 2G, 3G y 4G. EC-GSM también tiene aplicaciones específicas en regiones no occidentales como Malasia y países de África y Medio Oriente, donde 2G sigue siendo un estándar popular. Se dice que Ericsson, Intel y Orange completaron las pruebas en vivo de EC-GSM a principios de este año. EC-GSM, sin embargo, no está generando tanta expectación como Cat-M o NB-IoT.

IoT celular 5G

A diferencia de las opciones de IoT celular anteriores, 5G aún no se ha definido oficialmente. Next Generation Mobile Networks Alliance (NGMN) está presionando para que las especificaciones sean 40 veces más rápidas que 4G y admiten hasta 1 millón de conexiones por kilómetro cuadrado. 5G ya está habilitando aplicaciones de gran ancho de banda y alta velocidad para transmisión Ultra-HD (4k), conectividad de automóviles autónomos o aplicaciones VR/AR.

Si es un proveedor de telefonía celular, se verá obligado a elegir una tecnología para implementar para cumplir con las aplicaciones de IoT de banda estrecha. Para los usuarios, es importante entender que estas diferentes opciones no necesariamente tienen que ser mutuamente excluyentes. Esto se extiende a otras redes LPWAN como SigFox o LoRa.

IoT cubre un amplio espectro de aplicaciones. A veces, necesita un gran ancho de banda, como con la vigilancia en tiempo real. Los medidores inteligentes y muchos casos de uso de ciudades inteligentes requieren una pequeña transferencia de datos una o dos veces al día. Esto significa que ninguna tecnología (incluso 5G) puede satisfacer las necesidades específicas de una solución/dispositivo IoT.

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
Banda Ancha Móvil Mejorada o eMBB (enhaced Mobile BroadBand)

5G ofrecerá velocidades de Gigabit y enormes cantidades de datos. Eso significa conectividad siempre activa en cualquier lugar y velocidades constantes similares a las de la fibra, sin importar el número de conexiones. Además de los servicios de banda ancha móvil de ultra-alta velocidad para teléfonos inteligentes, también se ofrecerán otros servicios como banda ancha fija para residencias y empresas, Realidad Virtual (VR) y Realidad Aumentada (AR), etc. Es importante recalcar que durante la transición a las nuevas redes y servicios 5G que se están implementando gradualmente, la red Gigabit 4G-LTE subyacente se mantendrá como alternativa (fallback) cuando los usuarios entren en áreas sin cobertura 5G.

IoT en Servicios de Misión Crítica

El sello distintivo del 5G es su capacidad para proporcionar una latencia ultra-baja y una fiabilidad extremadamente alta. Estas capacidades habilitarán aplicaciones, servicios y usos que no eran posibles con 4G. Por ejemplo, en la automatización industrial podrá reemplazar la conexión Ethernet por cable. Otras aplicaciones posibles son la cirugía remota, el control a distancia de operaciones peligrosas, etc.

IoT Masivo

IoT LTE hizo el trabajo de adaptar la tecnología pensada para smartphones a los dispositivos IoT con sus características específicas, como la baja velocidad, el bajo coste y el bajo consumo de energía. 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. El objetivo es conectar de manera eficiente cualquier dispositivo que pueda conectarse a Internet, sin saturar la red.

Evolución de IoT LTE a IoT 5G

IoT LTE es una de las tecnologías actuales que utilizan los dispositivos IoT para conectarse a la red. Esta tecnología junto con algunas otras, se engloban dentro del estándar 3GPP para redes LPWA (Low Power Wide Area).

Los dispositivos IoT tienen necesidades diversas. Hay aplicaciones como cámaras de vídeo que requieren velocidades y capacidades muy altas mientras que otras aplicaciones requieren velocidades bajas pero una duración de batería extremadamente larga. En función de sus necesidades se aplica la tecnología IoT adecuada. IoT LTE ha construido unos sólidos cimientos y aprovechando esta base, IoT 5G podrá llevar su rendimiento al siguiente nivel, permitiendo una densidad muy alta de dispositivos, así como una latencia muy baja y extrema fiabilidad. La asociación 3GPP, que desarrolla los estándares de comunicación móvil, publicó en la release 15 su adaptación para IoT 5G, una nueva interfaz de radio llamada 5G-NR (New Radio). 5G-NR tendrá soporte en banda para LTE y será totalmente compatible con versiones anteriores. Esto significa que los dispositivos IoT LTE de hoy funcionarán sin problemas cuando las redes se actualicen a 5G-NR.

5G-NR permitirá muchos nuevos usos que ahora no pueden realizarse con 4G. Los servicios de misión crítica 5G incluyen características como eURLLC (comunicación ultra-confiable de baja latencia) que ofrece una latencia próxima al milisegundo y CoMP (multipunto coordinado) que ofrece una fiabilidad muy alta. Los primeros módulos en darse a conocer en el mercado IoT 5G han sido los módulos 5G sub-6 y mmWave de Telit. Estos módulos con formato Data Card tipo M.2 y soporte para PCIe Gen3 y USB 3.1 son compatibles con la última generación 4G/5G release 15. Soportan SA y NSA así como una amplia gama de frecuencias en 5G FR1, 5G FR2 y LTE. También cuentan con un receptor GNSS de doble frecuencia GPS para una mayor precisión y soporte de voz LTE.  

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. O si somos una empresa que aún no han adoptado IoT LTE nos podríamos plantear si pasar directamente 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.

Más información:

Tarjetas SIM para Cellular IoT

1NCE

Web: https://1nce.com/en-eu/

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. Podéis comprar esta tarjeta en https://shop.1nce.com/portal/shop/ y tarda aprox. 5 días en llegar.

Features: https://1nce.com/en-eu/1nce-connect/features/sim-cards/lte-m-sim

Más información sobre 1NCE: https://1nce-prod.s3.amazonaws.com/cla2qgpyd000i0vpec96hdqhl/attachments/clbozi6tw00qp0vn1gp0e10l7-1nce-usp-infographic-en.pdf

Developer hub: https://help.1nce.com/dev-hub/docs

API explorer: https://help.1nce.com/dev-hub/reference/api-welcome

Customer portal: https://help.1nce.com/dev-hub/docs/portal-dashboard

ThingsMobile

Web: https://www.thingsmobile.com/es/business 

Free SIM Card: https://www.thingsmobile.com/business/plans/free-sim-card que es gratuita

vale 15.50€ con 10€ de crédito. Solo LTE-M con Movistar

Cobertura y operadores: https://www.thingsmobile.com/es/business/cobertura/cobertura-y-operadores 

Tecnología: https://www.thingsmobile.com/es/business/thingsmobile/tecnologia 

Diferentes planes: https://www.thingsmobile.com/es/business/planes/descripcion

Hologram

Web https://hologram.io/ 

Get started con Hologram: https://dashboard.hologram.io/start 

Pricing: https://www.hologram.io/pricing/

Puedes comprar una gratuita: https://store.hologram.io/store/pilot-global-iot-sim-card/. Soporta CAT-M1 y cuesta 10 euros el envío.

Conectividad: https://www.hologram.io/products/cellular-connectivity/

Cobertura: https://www.hologram.io/coverage/

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:

Diario del Curso IoT, Smart Cities y Node-RED

El diario del curso es una herramienta para seguir los puntos vistos en cada sesión del curso, que permite conocer el avance sesión a sesión.

También sirve para documentar los puntos y dudas que surgen en el curso fuera del temario, pero que es importante tenerlo por escrito como: enlaces interesantes, ampliar un tema de interés, tecnologías relacionadas, etc…

Sesión 1 (3 de mayo) – «Presentación Curso»

Capítulos vistos:

Sesión 2 (4 de mayo) – «Hardware IoT»

Smart Spots: https://smartcities.hopu.eu/index.html

OPA LWM2M: https://en.wikipedia.org/wiki/OMA_LWM2M

Logroño ciudad Inteligente: https://ciudadinteligente.logrono.es/

Soldar Módulos Wemos D1 Mini:

  • Usar espadines hembra en los ESP8266
  • Usar espadines macho en los shields: relé, oled y led.
  • Usar espadines macho/hembra (los más alargados) en el resto de shields: DHT11, DS18B20, BMP180,

Nodos y Firmware: https://aprendiendoarduino.wordpress.com/2021/12/05/material-curso-node-red/

Capítulos vistos:

Sesión 3 (9 de mayo) – «Comunicaciones IoT»

Plataforma Smart cities: https://elliotcloud.com/smart-cities-2/

Acceso a los metadatos: https://sacseguridad.com/auto-entrenamiento-y-aprendizaje-de-las-camaras-de-video-bosch-o-camera-trainer/

Bosch Metadata Publisher
Es una herramienta gratuita que permite al desarrollador de aplicaciones utilizar el protocolo MQTT y así poder trabajar en ambientes de comunicación M2M (Machine to Machine) o IoT (Internet of Things), posibilitando el desarrollo de aplicaciones que involucren dispositivos de automatización industrial o de edificios con base en la generación de metadatos por parte de la cámara.

Metadata y eventos de analíticas vía ONVIF
Con la interfaz de conformidad ONVIF disponible en las cámaras Bosch con FW 6.10 y superior se es compatible para recibir eventos de análisis basados en el motor de reglas de IVA en el borde y la secuencia de metadatos en el formato ONVIF. Use esta funcionalidad para desarrollar interfaces de integración con sistemas VMS de terceros, o para desarrollar sus propias aplicaciones de software que toman como base el foro ONVIF.

Capítulos vistos:

Sesión 4 (11 de mayo) – «Protocolos IoT»

Actualizada parte de SQLite en Instalación de Servicios en Raspberry Pi OS

Actualizada lista de librerías en Sensorización IoT con ESP8266

Listado completo de firmware de shields: https://github.com/jecrespo/Curso-Node-RED/tree/master/Remote%20Nodes%20Firmware/Wemos%20Shields%20Usage

HW LoRaWAN:

LoRa Network Server: https://www.chirpstack.io/

Broker MQTT:

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

Capítulos vistos:

Sesión 5 (16 de mayo) – «MQTT»

Demo LoRa punto a punto: https://www.aprendiendoarduino.com/2018/03/07/demo-lora-con-moteino/

Datos enviados a Broker MQTT

Mosquitto Clients Count. Se quedan las conexiones al hacer un deploy. Probar con netstat -ntp | grep ESTABLISHED.*mosquitto

Configuración mosquitto: https://mosquitto.org/man/mosquitto-conf-5.html

  • message_size_limit
  • max_queued_messages
  • memory_limit
  • max_connections

Capítulos vistos:

Sesión 6 (18 de mayo) – «Instalación y Configuración Node-RED»

Problema en el cierre de socket en nodos MQTT: https://github.com/node-red/node-red/issues/3593

NodeRed 3.0.0-beta.1: https://discourse.nodered.org/t/node-red-3-0-0-beta-1-released/62124

Instalada beta en https://enriquecrespo.com:18809/

Instalar en Docker Node-RED dev: https://hub.docker.com/r/nodered/node-red-dev/tags

Demo Sigfox: https://www.aprendiendoarduino.com/2018/03/05/demo-mkrfox1200/

HW Sigfox:

Capítulos vistos:

Sesión 7 (23 de mayo) – «Node-RED»

TTN: The Things Network (TTN) es una iniciativa basada en la comunidad para establecer una red global de IoT. La iniciativa fue lanzada por Wienke Giezeman en 2015 y actualmente cubre más de 20.000 pasarelas LoRaWAN instaladas en más de 150 países. Los voluntarios se encargan de la construcción, el cuidado y el pago de los portales

Recomendado doble pantalla

Plantilla settings.js para Node-RED: https://github.com/jecrespo/configuracion-node-red

Múltiples instancias Node-RED con inicio mediante systemd:

  • https://nodered.org/docs/faq/customising-systemd-on-pi
  • Copiar el directorio completo .node-red: cp -R .node-red/ .node-red_1
  • Modificar en settings.js: uiPort: process.env.PORT || 1881 y userDir: ‘/home/pi/.node-red_1/’
  • sudo find / -name nodered.service (buscar donde está el servicio generalmente bajo /usr/lib/systemd/system/nodered.service)
  • sudo cp nodered.service nodered2.service
  • Añadir la línea: Environment=”NODE_RED_OPTIONS=-s /home/pi/.node-red2/settings.js”
  • sudo systemctl enable nodered2.service
  • sudo systemctl start nodered2.service

Capítulos vistos:

Sesión 8 (25 de mayo) – «Dashboard Node-RED»

7.1 – Fundamentos Programación Node-RED (Ejercicio final)

OJO: Al importar también importa el nodo de configuración, pero no las contraseñas

Práctica 3: Wifi + MQTT con ESP8266 (poner en funcionamiento nodo DS18B20 + Relé y/o DS18B20 + Oled)

Capítulos vistos:

Sesión 9 (30 de mayo) – «Desarrollo Node-RED I»

Organización de sesión presencial

  • Proyector con conector VGA o HDMI
  • Wifi con acceso a Internet
  • Un puerto ethernet con acceso a Internet

MQTT no publica arrays de datos como mensajes independientes. Ver ejemplo en https://enriquecrespo.com:1880/

Anidar referencias a los mensajes: https://nodered.org/blog/2021/04/08/version-1-3-released#referencing-msg-properties-in-change-switch-nodes. Útil para guardar en una variable de cotexto los últimos datos de MQTT.

Gateway Bluetooth con Raspberry Pi. Nodos BLE:

OJO BLE scanner de ble sense necesita de mandar un comando si Node-RED no se ejecuta como root. Ver la documentación del nodo

Ejemplo con Xiaomi Mi Flora:

Gateway Zigbee:

Capítulos vistos:

Sesión 10 (1 de junio) – «Desarrollo Node-RED I»

Organización sesión presencial

Instalar paquetes con npm:

  • npm install <nombre paquete> en el directorio .node-red
  • reiniciar node-red y refrescar navegador para ver el nuevo paquete
  • error «../libusb/libusb/os/linux_udev.c:40:10: fatal error: libudev.h: No such file or directory» – instalar sudo apt install libudev-dev
  • npm list – paquetes instalados y sus dependencias
  • npm list -g –depth=0 – paquetes instalados globalmente
  • npm outdated – paquetes desactualizados
  • npm install -g –unsafe-perm node-red – instalar node-red

Uso nodo email https://flows.nodered.org/node/node-red-node-email

Mejora ejemplo worldmap: limpiar capa. Probar https://flows.nodered.org/flow/002f4173484dabaf3d6742b8da9642ee

Nodo gefence y dibujar un polígono: https://flows.nodered.org/node/node-red-node-geofence

Buttons personalizados con nodo template.ui: https://tech.scargill.net/more-node-red-dashboard-success/

Nagios MQTT y Node-RED:

Capítulos vistos:

Sesión 11 (9 de junio – presencial)

Cualquier consulta o temas relacionados (p.e. cámaras Bosch) contacto en aprendiendoarduino@gmail.com

Ver plataforma con Node-RED de Smart City

OpenMQTTGateway https://docs.openmqttgateway.com/. Básicamente es un firmware que pones en un dispositivo como Arduino, ESP32, Raspberry Pi, etc… que conecta con redes LoRa, BLE, IR, etc… con una serie de dispositivos compatibles y los publica por MQTT.

Termostato al estilo de Nest con soporte táctil: https://flows.nodered.org/node/node-red-contrib-ui-thermostat

Node-RED y Elastic Search

Capítulos vistos:

Otros temas de interés

Puntos que no haya dado tiempo de ver