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.
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).
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.
El concepto de industria 4.0 consiste en la introducción de las tecnologías digitales en las fábricas. Es la forma que hay de llamar al fenómeno de transformación digital aplicado a la industria de producción.
Durante años se ha hablado del impacto del Internet de cosas (IoT) en industrias como la energética o de infraestructuras, bajo el concepto de Smart Cities. Ahora toca hablar de “Industria Inteligente” o industria 4.0.
La industria 4.0 consiste en la digitalización de los procesos productivos en las fábricas mediante sensores y sistemas de información para transformar los procesos productivos y hacerlos más eficientes. La industria 4.0 supone un cambio de mentalidad importante.
La industria 4.0 supondrá una fuente de competitividad para las industrias occidentales con: costes de mano de obra, costes de energía y niveles de compromiso social, mucho más elevados que sus homólogos de los países emergentes.
Lo que ofrece la industria 4.0 a través de la digitalización y el uso de plataformas conectadas es:
capacidad de adaptación constante a la demanda,
servir al cliente de una forma más personalizada,
aportar un servicio post venta uno a uno con el cliente,
diseñar, producir y vender productos en menos tiempo,
añadir servicios a los productos físicos
crear series de producción más cortas y rentables
y aprovechar la información para su análisis desde múltiples canales (CMS, SCM, CRM, FCM, HRM, Help desk, redes sociales, IoT) donde ser capaces de analizarla y explotarla en tiempo real.
Puntos clave de la Industria 4.0:
Big data y análisis de datos
Cloud Computing
Ciberseguridad
Robótica
Internet de las cosas
Simulación y prototipado
Realidad aumentada
Cultura
Integración de procesos
El verdadero reto estará en las personas, en cómo lograr el proceso de transformación digital dentro la organización y en el cambio que supondrá adaptarse y trabajar en los nuevos entornos conectados de la industria 4.0
Pasamos de especializarnos en tecnología a especializarnos en sectores verticales en IoT porque cada uno tiene unas necesidades.
Aporte a la industria
manteniendo predictivo
ahorro de costes
mejora en la toma de decisiones
visualización de datos en planta en tiempo real
IIOT se refiere a:
El uso de IoT en los procesos industriales que afectan a todos los niveles, desde el diseño de las plantas hasta los modelos de logística y distribución llegando hasta el cliente final.
La implantación en las industrias de soluciones IoT para optimizar procesos y reducir los costes de fabricación gracias a la información que obtienen en cada paso que les proporciona unos beneficios tangibles.
La sensorización y conectividad de dispositivos para extraer datos, obtener datos en tiempo real, poseer datos de valor, datos que permitan tomar decisiones acertadas de un modo ágil y eficaz.
El conocimiento del cliente final. Porque el cliente debe instalarse como pieza clave en la cadena de producción y el conocimiento real de sus preferencias actuales y futuras de consumo es posible de un modo económico gracias a las herramientas tecnológicas que podemos aplicar.
El objetivo principal de la industria 4.0 es MEJORAR LA PRODUCTIVIDAD.
Nuevas oportunidades con IIoT
Un aumento de la productividad industrial en un 30 por ciento o superior del OEE (Overall Equipment Efficiency, siendo OEE= disponibilidad x rendimiento x calidad). Conocer el estado real de la máquina permite planificar las paradas para el mantenimiento preventivo, mejorando los costes de desplazamientos, intervención, repuestos, alquiler de maquinaria o falta de producción. En el caso de las paradas inesperadas es posible mejorar los tiempos de reacción y diagnóstico, reduciendo así el tiempo de improductividad.
Incrementar la satisfacción y la confianza de un usuario final en el desarrollo de sus actividades, al saber que el funcionamiento de la instalación está siendo monitorizado en tiempo real por su proveedor de servicios de mantenimiento, minimizando los tiempos de respuesta ante posibles anomalías para garantizar la continuidad de servicio de la instalación.
Incrementar las posibilidades de negocio de un OEM, ofreciendo servicios de monitorización al usuario, como son la generación de informes automáticos de los costes energéticos de producción, el diagnóstico de incidencias, la actualización del software o la propuesta de recambios de acuerdo a las horas de funcionamiento. Los contratos de mantenimiento sobre el parque de máquinas instalado pueden representar una fuente de ingresos constante para el fabricante de maquinaria, que cobra especial importancia ante posibles caídas de la demanda.
Desde los inicios de Arduino y el HW Open Source, la industria encontró una forma sencilla y barata de implementar el Internet de las cosas y la Industria 4.0. Con estas herramientas es posible realizar tareas como:
Machinery automation.
Installation Control. (Thermal, Climate conditioning, Water treatment, Chemical products, Food, etc.).
Descripción: Control de la temperatura del agua y rendimiento de la máquina. Registro de horas de funcionamiento para mantenimiento de filtros y consumos energéticos en instalaciones industriales de gran consumo energético.
Beneficios de implantación del IIoT: Envío de alarmas y avisos de incidencias en tiempo real (legionella, pérdida de alimentación, etc.), con comprobación del estado de la máquina remotamente, ahorrando tiempo y costes de desplazamientos innecesarios para mantenimiento del parque instalado y distribuido.
Registro de consumos energéticos por horas, para planificación y control de costes, detección de consumos no permitidos y realizar comparativas entre periodos o instalaciones similares.
Cambio de consigna de temperatura remoto, para normativas ambientales en periodos de verano e invierno, evitando desplazamientos.
Riego de campos de cultivo (Solar Pump)
Descripción: Bombeo de agua para el control de riego en campos de cultivo, utilizando placas fotovoltaicas o red eléctrica, con conmutación automática dependiendo de la irradiación solar.
Beneficios de implantación del IIoT: Reducción de los costes de consumos energéticos (electricidad sin conexión a red o diésel sin utilización de grupo electrógeno), asegurando el suministro de agua, la presión y el tiempo y el horario de riego en todo momento desde cualquier dispositivo móvil.
Recepción de alarmas en tiempo real y registro de consumos energéticos para planificación de costes.
Control y confort en instalaciones públicas (superficies comerciales, centros deportivos, etc.)
Descripción: Control del sistema de ventilación (HVAC), incendios, iluminación, accesos, calidad de redes, protecciones eléctricas , sistemas IT (terminales TPV) y suministros de emergencia (UPS) .
Beneficios de implantación del IIoT: Envío de alarmas y avisos de incidencias en tiempo real, con comprobación del estado de la instalación remotamente (SmartPhone, Tablet, etc.), ahorrando tiempo y costes de desplazamientos innecesarios para el funcionamiento y el confort de los usuarios. Registro y asignación de consumos energéticos por cliente, para control de costes, automática, detección de consumos no permitidos y corte de suministros eléctricos de forma remota.
Las nuevas funcionalidades disponibles como estándar en la plataforma de automatización de PLCs AC500. Entre ellas se encuentran:
SNTP (protocolo para sincronización horaria automática )
SNMP (protocolo simple de administración de red)
SMTP(protocolo para envío de correo electrónico)
MySQL (gestión de base de datos)
FTP (protocolo para envío de archivos excel, csv, etc.) HTTP (servidor web) y HTML5
TCP OPEN SOCKETS y WEB SERVICES (protocolos para obtener o publicar datos de la instalación en una página web)
Programación en Java Script, C/C++, Node-RED, etc…
Además de estas funcionalidades, también están disponibles de serie los siguientes protocolos de comunicaciones industriales:
Modbus RTU, TCP/IP y IEC608-70-5-104
KNX IP y BACNet MS/TP/IP
Ethernet IP y Simatic ETH (para terminales de operador)
Estas funcionalidades permiten conectar las máquinas o instalaciones con las personas y de esta manera un usuario puede controlar y monitorizar su instalación en cualquier momento y desde cualquier lugar mediante SmartPhone, table o PC.
El IIoT da lugar a un cambio de paradigma exitoso que interrelaciona máquinas, instalaciones, servicios y personas, con el objetivo de mejorar la productividad y la sostenibilidad para crear un mundo mejor.
Sistemas industriales en la nube
Esta evolución de servicios y recursos en la nube no ha pasado desapercibida en sistemas industriales que ya han comenzado a adoptar desarrollos sobre este tipo de tecnología con las ventajas que suponen al reducir considerablemente los costes de hardware, software y mantenimiento. Algunos casos de evolución son los siguientes:
Sistemas SCADA (SCADA as a Service), desarrollado entre otros por PetroCloud, posee todas las funcionalidades que puede tener un SCADA tradicional.
Historiadores que recogen datos (Historian as a Service), entre algunos de los desarrolladores de este servicio se encuentra ARC Advisory Group. El uso de historiadores en la nube proporciona un mayor análisis de datos.
Software que puede ser incluido para simular PLCs en la nube (PLC as a Service) evitando costes en soportes físicos para los propios PLCs y en la energía consumida por los mismos.
HMIs que muestran los datos recopilados en la nube para acceder a ellos desde cualquier parte del mundo poseyendo una conexión a Internet (HMI as a Service).
Por otro lado, algunos fabricantes del sector industrial están optando por ofrecer servicios de soporte que recojan datos y sean almacenados en la nube para poder mejorar la calidad de su servicio, los tiempos de respuesta y la disponibilidad. También se ofrecen soluciones con las que integrar la tecnología en la nube con dispositivos industriales gracias a plataformas en la propia nube.
La seguridad y la privacidad de los datos son los conceptos principales de la protección de datos.
La seguridad de los datos es la prevención de accesos no autorizados a conjuntos de datos. Dichos accesos son los que desembocan en vulneraciones o ataques, Para lograr la seguridad, las organizaciones utilizan herramientas y soluciones tecnológicas como firewalls, autenticación de usuarios, limitaciones en la red y prácticas de seguridad adaptadas a cada entorno u organización. También pueden incluirse los procesos de encriptación y tokenización de manera a que no pueda ser posible la lectura de los datos en fases clave del tránsito de los mismos, por parte de los cibercriminales.
La privacidad de los datos se encarga de asegurar que los datos; ya sean procesados, almacenados o transmitidos sean consumidos de acuerdo a las regulaciones y normas. Así también, que estos datos puedan ser manipulados bajo el consentimiento de quien sea dueño de los mismos.
Confidencialidad: Cualidad de la información para no ser divulgada a personas o sistemas no autorizados. Se trata básicamente de la propiedad por la que esa información sólo resultará accesible con la debida y comprobada autorización.
El objetivo de la confidencialidad es, prevenir la divulgación no autorizada de la información sobre nuestra organización.
Integridad: Cualidad de la información para ser correcta y no haber sido modificada, manteniendo sus datos exactamente tal cual fueron generados, sin manipulaciones ni alteraciones por parte de terceros. Esta integridad se pierde cuando la información se modifica o cuando parte de ella se elimina. Una garantía para mantenerla intacta es la firma digital.
El objetivo de la integridad es prevenir modificaciones no autorizadas de la información.
Disponibilidad: Aquella información a la que podemos acceder cuando la necesitamos a través de los canales adecuados siguiendo los procesos correctos.
El objetivo de la disponibilidad es prevenir interrupciones no autorizadas de los recursos informáticos.
No abrir puertos innecesariamente. Si un servidor envía datos a un dispositivo IoT, este debe estar escuchando con un puerto abierto de entrada. Esto supone que el dispositivo tiene que estar escuchando en todo momento para que los datos sean enviados. Por esta razón, implementar protocolos COAP, MQTT, WebSockets y HTTP2.0 son mejores prácticas para proteger una conexión, independiente del protocolo de red usado durante el intercambio de información.
Cifrado de extremo a extremo. TLS / SSL protege el nivel superior del flujo de datos entre los dispositivos y cifra los datos mientras son transferidos. TLS / SSL es adecuado para la seguridad de la transmisión de datos, pero no los datos que residen en el dispositivo a menos que está encriptado. Para una verdadera seguridad de extremo a extremo, los datos deben cifrarse con Advanced Encryption Standard (AES).
Control de acceso basado en tokens. Mientras AES y TLS / SSL se pueden utilizar para cifrar los datos a medida que se está transfiriendo, otro reto importante es definir el control de quién y qué puede transmitir y recibir datos. Dentro del paradigma de publicación / suscripción, un enfoque de control de acceso basado en token puede ser utilizado para distribuir señales a los dispositivos para permitir el acceso a los canales de datos específicos. En su defecto usar contraseñas seguras.
Interfaces web seguras y certificadas. Uso de HTTPS para proteger la información transmitida con acceso mediante usuario y contraseña.
Autenticación y autorización. No solo prestar atención a la autenticación, sino también a los datos o recursos a los que se puede acceder.
Prestar atención a la privacidad. Determinar la cantidad de información personal recopilada y protegerlos adecuadamente, así como desidentificar o anonimizar.
Configuración de la seguridad. Usar protocolos seguros y actualizados sin vulnerabilidades conocidas. Usar las soluciones de cifrado más potentes.
Usar software y firmware seguro. Asegurarse de tener los dispositivos actualizados y con los parches de seguridad aplicados. No usar sistemas operativos obsoletos, ni librerías no mantenidas en el desarrollo de aplicaciones o firmware.
Deshabilitar funcionalidades no utilizadas. No habilitar características no usadas, no conectar dispositivos si no es necesario o apagar cuando no se use, deshabilitar o proteger el acceso remoto a los dispositivos IoT.
Habilitar el uso de logs. Guardar los eventos que se producen como accesos, cambios de contraseña, actualizaciones, etc..
Prestar atención a la seguridad física. Limitar el acceso a puertos del dispositivo y ubicarlos en sitios seguros (p.e. vandalismo, acceso de terceros, pérdidas de energía).
Realizar auditorías de seguridad con regularidad. Pentesting, comprobar visibilidad de los dispositivos en Internet (p.e. shodan), etc…
Pensar en la seguridad desde la fase de requisitos y diseño.
Almacenamiento de datos seguro. No exponer las bases de datos y usar procesos intermedios para insertar, modificar y acceder a los datos.
Gestionar y monitorizar los dispositivos IoT de forma centralizada. Comprobar su correcto funcionamiento y que no se produzcan eventos que puedan afectar a su seguridad. Poder apagar dispositivos de forma remota en caso que sea comprometido.
Si es una SD mayor que el de la imagen, habrá que expandir el file system.
Cómo funciona Node-RED: Arquitectura asíncrona y basada en eventos.
Cuando se hace clic en el botón de despliegue, el editor crea la representación JSON completa de su configuración de flujo. Esto se pasa a través de una petición HTTP Post al tiempo de ejecución. Asumiendo que se está haciendo un «despliegue completo», el tiempo de ejecución detiene todos los nodos actuales y los descarta. A continuación, recorre cada nodo de la definición de flujo JSON y crea un nuevo objeto nodo del tipo apropiado, pasando su configuración.
Instalado en /usr/lib/node_modules/node-red y se ejecuta el fichero red.js
Semana 5 Lunes
Última sesión de dudas de la última práctica o temas de interés que han quedado pendientes. Miércoles 10 o Lunes 15.
Dudas de cómo hacer algo con Node-RED. Mandar correo para ver en última sesión de dudas.
La instancia de Node-RED en enriquecrespo.com es la que va a centralizar los datos de los Node-RED remotos, haciendo de plataforma IoT.
Si algún alumno necesita una instancia de Node-RED pública, se levantará en el servidor enriquecrespo.com
Broker MQTT Público
Se usará un broker común para comunicar todos los dispositivos en la dirección: mqtt://enriquecrespo.com:1883.
Los alumnos recibirán usuario y contraseña para acceder al broker con permisos de lectura y escritura en el topic cursocefire/#
Servicios
Base de datos MySQL en https://qaej225.aprendiendoarduino.com/ donde los alumnos podrán usar para almacenar datos. Recibirán por correo las credenciales de acceso.
Grafana en https://enriquecrespo.com:3000/ para representar gráficamente los datos. Recibirán por correo las credenciales de acceso.
Opcionalmente se podrán usar otras bases de datos como influxDB.
Todo el software y documentación utilizado en el curso es libre con licencia creative commons o similar.