Diferència entre revisions de la pàgina «TempoCat - Memoria técnica»
(29 revisions intermèdies per 2 usuaris que no es mostren) | |||
Línia 1: | Línia 1: | ||
==<b>WhiteCat</b>== | ==<b>WhiteCat</b>== | ||
<p>WhiteCat es un ecosistema que está siendo desarrollado por el centro Citilab, situado en Cornellà de Llobregat. En este proyecto están involucrados ingenieros, educadores y diseñadores de laboratorios vivientes. Esta placa fue diseñada para poder implementar casos de iso reales de IoT de una manera fácil.</p> | <p>WhiteCat es un ecosistema que está siendo desarrollado por el centro Citilab, situado en Cornellà de Llobregat. En este proyecto están involucrados ingenieros, educadores y diseñadores de laboratorios vivientes. Esta placa fue diseñada para poder implementar casos de iso reales de IoT de una manera fácil.</p> | ||
+ | |||
+ | [[File:whitecat.jpg|center]] | ||
+ | |||
<p>Cubre todos los aspectos para este tipo de soluciones: hardware y software para el nodo, la puerta de enlace y la nube. El hecho de que este proyecto cubra múltiples campos y disciplinas, nos permite resolver problemas de una manera muy dinámica y ágil. ALgunas de las características de WhiteCat son las siguientes:</p> | <p>Cubre todos los aspectos para este tipo de soluciones: hardware y software para el nodo, la puerta de enlace y la nube. El hecho de que este proyecto cubra múltiples campos y disciplinas, nos permite resolver problemas de una manera muy dinámica y ágil. ALgunas de las características de WhiteCat son las siguientes:</p> | ||
*<p>Hardware y Software abierto | *<p>Hardware y Software abierto | ||
Línia 15: | Línia 18: | ||
<p><b><br>MQTT (Message Queue Telemetry Transport)</b> es un protocolo de mensajería "liviano" basado en publicación / suscripción según la norma ISO / IEC (ISO / IEC PRF 20922) para uso sobre el protocolo TCP / IP. Está diseñado para conexiones con ubicaciones remotas donde se requiere una "huella de código pequeño" o el ancho de banda de la red es limitado.</p> | <p><b><br>MQTT (Message Queue Telemetry Transport)</b> es un protocolo de mensajería "liviano" basado en publicación / suscripción según la norma ISO / IEC (ISO / IEC PRF 20922) para uso sobre el protocolo TCP / IP. Está diseñado para conexiones con ubicaciones remotas donde se requiere una "huella de código pequeño" o el ancho de banda de la red es limitado.</p> | ||
<p>El patrón de mensajería de publicación-suscripción requiere un intermediario de mensajes. El agente es responsable de distribuir mensajes a los clientes interesados según el tema de un mensaje.</p> | <p>El patrón de mensajería de publicación-suscripción requiere un intermediario de mensajes. El agente es responsable de distribuir mensajes a los clientes interesados según el tema de un mensaje.</p> | ||
+ | [[File:mqtt.jpeg|center]] | ||
==<b>Sensor implementado:</b>== | ==<b>Sensor implementado:</b>== | ||
Línia 25: | Línia 29: | ||
*<b>Propiedades:</b> Modo del sensor (r/w. 0=dormido, 1=forzado, 2=normal), tiempo de standby (tiempo en msecs) | *<b>Propiedades:</b> Modo del sensor (r/w. 0=dormido, 1=forzado, 2=normal), tiempo de standby (tiempo en msecs) | ||
*<b>Notas:</b> dirección por defecto 0x76/0x77 | *<b>Notas:</b> dirección por defecto 0x76/0x77 | ||
+ | [[File:sensor1.jpg|center]] | ||
==<b>Internet of Things (IoT)</b>== | ==<b>Internet of Things (IoT)</b>== | ||
Línia 33: | Línia 38: | ||
<p>De alguna manera, la arquitectura del internet de las cosas, están basadas en las nubes conectan los mundos virtuales y el mundo real. De alguna manera, ayudan a las empresas a gestionar la seguridad y la conectividad de los dispositivos. Los equipos inteligentes generan muchos datos del Internet de las cosas. Estos datos necesitan analizarse y aprovecharse en tiempo real.</p> | <p>De alguna manera, la arquitectura del internet de las cosas, están basadas en las nubes conectan los mundos virtuales y el mundo real. De alguna manera, ayudan a las empresas a gestionar la seguridad y la conectividad de los dispositivos. Los equipos inteligentes generan muchos datos del Internet de las cosas. Estos datos necesitan analizarse y aprovecharse en tiempo real.</p> | ||
+ | [[File:iot.jpg|center]] | ||
<p><u>Beneficios de IoT:</u> | <p><u>Beneficios de IoT:</u> | ||
Línia 55: | Línia 61: | ||
*<b>Industria automotriz:</b> La industria del automóvil y las empresas tecnológicas están usando IoT para poder ayudar a los conductores estar conectados para poder evitar accidentes, prever problemas de mantenimiento, encontrar lugar de aparcamientos y más. | *<b>Industria automotriz:</b> La industria del automóvil y las empresas tecnológicas están usando IoT para poder ayudar a los conductores estar conectados para poder evitar accidentes, prever problemas de mantenimiento, encontrar lugar de aparcamientos y más. | ||
+ | |||
+ | [[File:fabricacio.jpg|center]] | ||
==<b>LoRaWAN</b>== | ==<b>LoRaWAN</b>== | ||
− | <p>LoRaWAN es un protocolo de red de baja potencia y área ampliada diseñado para poder conectar objetos/dispositivos operados por batería a Internet en redes regionales, nacionales o globales, y se enfoca | + | <p>LoRaWAN es un protocolo de red de baja potencia y área ampliada diseñado para poder conectar objetos/dispositivos operados por batería a Internet en redes regionales, nacionales o globales, y se enfoca en los requisitos clave de IoT, como bidireccionalmente. Servicios de comunicación, seguridad extremo a extremo, movilidad y localización.</p> |
+ | [[File:lorawan.jpg|center]] | ||
*<u>Topologia:</u> | *<u>Topologia:</u> | ||
Línia 69: | Línia 78: | ||
*<u>Clases de LoRaWAN:</u> | *<u>Clases de LoRaWAN:</u> | ||
− | + | *<b>Clase A:</b> | |
+ | <p>Para dispositivos terminales bidireccionales de menor potencia. Este tipo de clase es la predeterminada, que debe ser compatible con todos los dispositivos finales de LoRaWAN. Este tipo de comunicación siempre se inicia por el dispositivo final y es totalmente asíncrona (proceso de sincronización entre emisor y receptor se realiza en cada palabra de código transmitido).En cada transmisión de enlace ascendente se puede enviar en cualquier momento y es seguido por dos ventanas descendentes, que hacen posible la oportunidad de comunicación bidireccional. Este es un tipo de protocolo <b>ALOHA</b></p> | ||
+ | |||
+ | <b>Protocolo ALOHA: </b> Fue un sistema de redes de dispositivos desarrollado por la Universidad de Hawai. Se basa en usar un medio compartido para la transmisión, donde se utiliza la misma frecuencia en todos los nodos. | ||
+ | |||
+ | <p>El dispositivo final puede ingresar al modo de suspensión de bajo consumo de energía durante el tiempo que lo define su propia aplicación (no hay requisitos de red para activaciones periódicas). Esto hace que sea el modo de operación de menor potencia. A causa de la comunicación de enlace descendente siempre debe seguir una transmisión de enlace ascendente. La comunicación de enlace descendente debe almacenarse en el servidor de red hasta el siguiente evento de enlace ascendente.</p> | ||
+ | |||
+ | *<b>Clase B:</b> | ||
+ | <p>Dispositivos terminales bidireccionales con latencia de enlace descendente determinista. Los dispositivos de esta clase se sincronizan con la red mediante balizas periódicas y abren las “ranuras de ping” del enlace descendente en los horarios programados. Esto hace que la red tenga una capacidad de enviar comunicaciones de enlace descendente con una latencia determinista, pero a expensas de un cierto consumo de energía adicional. La latencia programable es de 128 segundos para poder adaptarse a diferentes aplicaciones. El consumo de energía adicional es lo suficientemente bajo como para seguir siendo válido para aplicaciones alimentadas por batería.</p> | ||
+ | |||
+ | *<b>Clase C:</b><p>Dispositivos terminales bidireccionales de menor latencia. Este tipo de clase reduce aún más la latencia en el enlace descendente al mantener abierto el receptor del dispositivo final en todo momento en que el dispositivo no está transmitiendo (semidúplex). El servidor de red puede iniciar una transmisión de enlace descendente en cualquier momento suponiendo que el receptor del dispositivo final está abierto, por lo que no hay latencia. La clase C es adecuada para aplicaciones en las que se dispone de energía continua.</p> | ||
+ | [[File:clases.jpg|center]] | ||
+ | |||
+ | *<b>Tasas de transferencia de datos:</b> | ||
+ | |||
+ | <p>Todos los paquetes de comunicación entre dispositivos finales y puertas de enlace también incluyen una configuración variable de DR (velocidad de datos).</p> | ||
+ | |||
+ | <p>La selección de DR permite una compensación dinámica entre el rango de comunicación y la duración del mensaje. Además, debido a la tecnología de espectro expandido, las comunicaciones con diferente DR no interfieren entre sí y crean un conjunto de canales virtuales de código. Estos canales aumentan la capacidad de las gateways.</p> | ||
+ | |||
+ | <p>Para poder tener una mayor duración de la batería de los dispositivos finales y la capacidad general de la red, el servidor de red LoRaWAN administra la velocidad de datos y la potencia de salida de RF para cada dispositivo final, mediante un esquema de velocidad de datos adaptable (ADR).</p> | ||
+ | [[File:tasas.jpg|center]] | ||
+ | |||
+ | *<b>Seguridad:</b> | ||
+ | |||
+ | <p>La seguridad en LoRaWAN es una preocupación primordial para cualquier implementación masiva de IoT. Define dos capas de criptografia:</p> | ||
+ | *Una clave de sesión de red única de 128 bits compartida entre el dispositivo final y el servidor de red. | ||
+ | |||
+ | *Una clave de sesión de aplicación única de 128 bits (AppSKey), compartida de extremo a extremo en el nivel de aplicación en el modelo OSI. | ||
− | + | <p>Los algoritmos AES se utilizan para poder proporcionar la autenticación y la integridad de los paquetes al servidor red y el cifrado de extremo a extremo al servidor de aplicación. Al habilitar estos dos niveles, es posible implementar redes compartidas de “múltiples inquilinos” sin que el operador de red tenga visibilidad de los datos de carga útil de los usuarios.</p> | |
− | |||
+ | <p>Las claves pueden activarse por personalización en la línea de producción (ABP), durante la puesta en servicio o pueden activarse por aire (OTAA).</p> | ||
− | + | <b>OTAA:</b> permite que los dispositivos se vuelvan a teclear si es necesario. | |
+ | [[File:seguridad.jpg|center]] | ||
− | < | + | ==<b>The things network:</b>== |
− | < | + | <p>La iniciativa de <b>TTN (the things network)</b> es intentar la creación de más de 400 comunidades de desarrolladores de IoT, con una red global y colaborativa con más de 2600 gateways utilizando la tecnología LoRaWAN.</p> |
+ | <p>TTN ha hecho un esfuerzo de desarrollo en la parte de servidor, construyendo todo el backend de la red y que da soporte a los gateways distribuidos por el globo. Este backend es el que lidia con duplicidades de mensajes, orquestración de mensaje de bajada, gestión de integraciones con plataformas, etc. TTN ofrece también capacidades de integración por HTTP y MQTT, además de una serie de APIs en distintos lenguajes como: Go, Java, Node-RED y Node.js.</p> | ||
+ | <p>En la actualidad el fenómeno de TTN ha tenido gran calado en la comunidad IoT global. En este momento disponen de 2946 Gateways en todo el mundo gracias a comunidades locales que montan estos puntos de acceso extendiendo la red y el conocimiento sobre IoT. Esta creciente comunidad está acelerando la expansión del IoT, facilitando a muchas personas el acceso sencillo y gratuito a un ecosistema de IoT donde pueden hacer realidad sus proyectos de forma muy sencilla.</p> | ||
+ | [[File:mapa.jpg|center]] | ||
− | <p> | + | <p>En nuestro caso, miraremos las gateways que estan operativas en Cornellà de Llobregat. Como se puede ver en la siguiente imagen, hay un total de 3 gateways, situadas en el Ayuntamiento de Cornellà, biblioteca y Citilab. |
+ | [[File:cornella.jpg|center]] |
Revisió de 16:25, 26 maig 2019
WhiteCat
WhiteCat es un ecosistema que está siendo desarrollado por el centro Citilab, situado en Cornellà de Llobregat. En este proyecto están involucrados ingenieros, educadores y diseñadores de laboratorios vivientes. Esta placa fue diseñada para poder implementar casos de iso reales de IoT de una manera fácil.
Cubre todos los aspectos para este tipo de soluciones: hardware y software para el nodo, la puerta de enlace y la nube. El hecho de que este proyecto cubra múltiples campos y disciplinas, nos permite resolver problemas de una manera muy dinámica y ágil. ALgunas de las características de WhiteCat son las siguientes:
Hardware y Software abierto
- Pueden coexistir diferentes tipos de plataformas de hardware, pero solo hay un entorno y un lenguaje de programación.
- Los diseñadores pueden seleccionar la plataforma adecuada para cada uso sin tener que aprender una nueva plataforma.
- El producto final está hecho a partir de prototipos. En el paso final, las diferencias entre producto final y sus prototipos son solo el factor de forma.
Software: El ecosistema de Whitecat se puede programar de dos maneras: Usando bloques o usando el lenguaje de programación Lua. Ambas formas de programación se utilizan desde el mismo entorno de programación. El corazón del ecosistema de Whitecat es Lua RTOS, un sistema operativo en tiempo real diseñado para ejecutarse en sistemas integrados, con requisitos mínimos de memoria FLASH y RAM. Actualmente, Lua RTOS está disponible para las plataformas ESP32, ESP8266 y PIC32MZ, y se puede adaptar fácilmente a otras plataformas de 32 bits.
MQTT
MQTT (Message Queue Telemetry Transport) es un protocolo de mensajería "liviano" basado en publicación / suscripción según la norma ISO / IEC (ISO / IEC PRF 20922) para uso sobre el protocolo TCP / IP. Está diseñado para conexiones con ubicaciones remotas donde se requiere una "huella de código pequeño" o el ancho de banda de la red es limitado.
El patrón de mensajería de publicación-suscripción requiere un intermediario de mensajes. El agente es responsable de distribuir mensajes a los clientes interesados según el tema de un mensaje.
Sensor implementado:
Sensor BME280, un sensor ambiental con temperatura, presión barométrica y humedad. Este sensor es ideal para todo tipo de sensores climáticos / ambientales e incluso puede usarse tanto en I2C como en SPI.
Caracteristicas:
- Interfaz: I2C
- Proporciona: Temperatura (Cº), Humedad (% humedad relativa), Presión (hPa).
- Propiedades: Modo del sensor (r/w. 0=dormido, 1=forzado, 2=normal), tiempo de standby (tiempo en msecs)
- Notas: dirección por defecto 0x76/0x77
Internet of Things (IoT)
El internet de las cosas (también conocido como internet de todas las cosas, internet en las cosas o en inglés,Internet of Things) se define como una conexión digital de los objetos que tenemos a nuestro alcance con Internet. La relación será entre personas-personas, personas-cosas y cosas-cosas. El internet de las cosas depende de una serie de tecnologías, como por ejemplo las interfaces de la programación de las aplicaciones (API’s), herramientas de gestión de BigData, las analiticas predictivas, etc. Esta definición fue propuesta por Kevin Ashton en 1999.
Una manera de implementar IoT a nuestra vida, sería conectar los objetos a Internet (como los libros, las lámparas, etc). De esa manera seríamos capaces de saber su ubicación y de qué manera se consumen.
De alguna manera, la arquitectura del internet de las cosas, están basadas en las nubes conectan los mundos virtuales y el mundo real. De alguna manera, ayudan a las empresas a gestionar la seguridad y la conectividad de los dispositivos. Los equipos inteligentes generan muchos datos del Internet de las cosas. Estos datos necesitan analizarse y aprovecharse en tiempo real.
Beneficios de IoT:
- Eficiencia operativa: Puede automatizar los negocios, los procesos de fabricación, monitorear/controlar de manera remota las operaciones, optimizar las cadenas de suministro y conservar los recursos.
- Productividad de la fuerza laboral: Todos los dispositivos que trabajan con IoT, han impulsado satisfactoriamente la fuerza laboral y la satisfacción en el trabajo en muchos sectores. Esta tecnología está ayudando a todos los empleados a mejorar la toma de decisiones y automatizar las tareas de su rutina.
- Nuevos modelos de negocios e ingresos: IoT está creando nuevos modelos de negocio más avanzado y grandes oportunidades para que las empresas puedan empezar a crear servicios sobre la base de la información.
- Experiencias de cliente mejoradas: Para la integración y el cuidado del cliente, IoT crea nuevas experiencias para ellos más llamativas en los mundos digitales y físicos.
Casos de uso de IoT en diferentes sectores:
IoT se está expandiendo en muchas industrias diferentes. Pero hay 3 sectores donde está liderando:
- Fabricación: En este sector industrial utilizan el internet de las cosas para prever y prevenir fallan en los dispositivos, mejorar la seguridad en el trabajo, etc. Los trabajadores de este sector (fabricantes) utilizan IIoT (industrial internet of things) y comunicación M2M.
M2M (machine to machine): Intercambio de información/comunicación en forma de datos entre dos máquinas remotas.IIoT (industrial internet of things): Subcategoria de IoT. Van desde pequeños sensores ambientales hasta robots industriales complejos.
- Transporte: Se utilizan millones de sensores IoT en aviones, trenes, buques y vehículos para poder optimizar el rendimiento de motores, seguridad logística y gestión de la cadena de suministro.
- Industria automotriz: La industria del automóvil y las empresas tecnológicas están usando IoT para poder ayudar a los conductores estar conectados para poder evitar accidentes, prever problemas de mantenimiento, encontrar lugar de aparcamientos y más.
LoRaWAN
LoRaWAN es un protocolo de red de baja potencia y área ampliada diseñado para poder conectar objetos/dispositivos operados por batería a Internet en redes regionales, nacionales o globales, y se enfoca en los requisitos clave de IoT, como bidireccionalmente. Servicios de comunicación, seguridad extremo a extremo, movilidad y localización.
- Topologia:
La arquitectura de LoRaWAN se basa en una topología de estrella, donde las pasarelas transmiten mensajes entre los dispositivos finales y un servidor de red central.
Las gateways están conectadas al servidor de red a través de conexiones IP estándar y actúan como un puente transparente (convirtiendo los paquetes de RF en paquetes IP y viceversa). La comunicación inalámbrica aprovecha las características de largo alcance de la capa física, permitiendo un enlace de un solo salto entre el dispositivo final y una o varias gateways.
Son capaces de comunicación bidireccional, y hay soporte para grupos de direccionamiento de multidifusión para hacer un uso eficiente del espectro durante las tareas, como las actualizaciones del firmware por aire (FOTA) u otros mensajes de distribución masiva.
- Clases de LoRaWAN:
- Clase A:
Para dispositivos terminales bidireccionales de menor potencia. Este tipo de clase es la predeterminada, que debe ser compatible con todos los dispositivos finales de LoRaWAN. Este tipo de comunicación siempre se inicia por el dispositivo final y es totalmente asíncrona (proceso de sincronización entre emisor y receptor se realiza en cada palabra de código transmitido).En cada transmisión de enlace ascendente se puede enviar en cualquier momento y es seguido por dos ventanas descendentes, que hacen posible la oportunidad de comunicación bidireccional. Este es un tipo de protocolo ALOHA
Protocolo ALOHA: Fue un sistema de redes de dispositivos desarrollado por la Universidad de Hawai. Se basa en usar un medio compartido para la transmisión, donde se utiliza la misma frecuencia en todos los nodos.
El dispositivo final puede ingresar al modo de suspensión de bajo consumo de energía durante el tiempo que lo define su propia aplicación (no hay requisitos de red para activaciones periódicas). Esto hace que sea el modo de operación de menor potencia. A causa de la comunicación de enlace descendente siempre debe seguir una transmisión de enlace ascendente. La comunicación de enlace descendente debe almacenarse en el servidor de red hasta el siguiente evento de enlace ascendente.
- Clase B:
Dispositivos terminales bidireccionales con latencia de enlace descendente determinista. Los dispositivos de esta clase se sincronizan con la red mediante balizas periódicas y abren las “ranuras de ping” del enlace descendente en los horarios programados. Esto hace que la red tenga una capacidad de enviar comunicaciones de enlace descendente con una latencia determinista, pero a expensas de un cierto consumo de energía adicional. La latencia programable es de 128 segundos para poder adaptarse a diferentes aplicaciones. El consumo de energía adicional es lo suficientemente bajo como para seguir siendo válido para aplicaciones alimentadas por batería.
- Clase C:
Dispositivos terminales bidireccionales de menor latencia. Este tipo de clase reduce aún más la latencia en el enlace descendente al mantener abierto el receptor del dispositivo final en todo momento en que el dispositivo no está transmitiendo (semidúplex). El servidor de red puede iniciar una transmisión de enlace descendente en cualquier momento suponiendo que el receptor del dispositivo final está abierto, por lo que no hay latencia. La clase C es adecuada para aplicaciones en las que se dispone de energía continua.
- Tasas de transferencia de datos:
Todos los paquetes de comunicación entre dispositivos finales y puertas de enlace también incluyen una configuración variable de DR (velocidad de datos).
La selección de DR permite una compensación dinámica entre el rango de comunicación y la duración del mensaje. Además, debido a la tecnología de espectro expandido, las comunicaciones con diferente DR no interfieren entre sí y crean un conjunto de canales virtuales de código. Estos canales aumentan la capacidad de las gateways.
Para poder tener una mayor duración de la batería de los dispositivos finales y la capacidad general de la red, el servidor de red LoRaWAN administra la velocidad de datos y la potencia de salida de RF para cada dispositivo final, mediante un esquema de velocidad de datos adaptable (ADR).
- Seguridad:
La seguridad en LoRaWAN es una preocupación primordial para cualquier implementación masiva de IoT. Define dos capas de criptografia:
*Una clave de sesión de red única de 128 bits compartida entre el dispositivo final y el servidor de red.
*Una clave de sesión de aplicación única de 128 bits (AppSKey), compartida de extremo a extremo en el nivel de aplicación en el modelo OSI.
Los algoritmos AES se utilizan para poder proporcionar la autenticación y la integridad de los paquetes al servidor red y el cifrado de extremo a extremo al servidor de aplicación. Al habilitar estos dos niveles, es posible implementar redes compartidas de “múltiples inquilinos” sin que el operador de red tenga visibilidad de los datos de carga útil de los usuarios.
Las claves pueden activarse por personalización en la línea de producción (ABP), durante la puesta en servicio o pueden activarse por aire (OTAA).
OTAA: permite que los dispositivos se vuelvan a teclear si es necesario.
The things network:
La iniciativa de TTN (the things network) es intentar la creación de más de 400 comunidades de desarrolladores de IoT, con una red global y colaborativa con más de 2600 gateways utilizando la tecnología LoRaWAN.
TTN ha hecho un esfuerzo de desarrollo en la parte de servidor, construyendo todo el backend de la red y que da soporte a los gateways distribuidos por el globo. Este backend es el que lidia con duplicidades de mensajes, orquestración de mensaje de bajada, gestión de integraciones con plataformas, etc. TTN ofrece también capacidades de integración por HTTP y MQTT, además de una serie de APIs en distintos lenguajes como: Go, Java, Node-RED y Node.js.
En la actualidad el fenómeno de TTN ha tenido gran calado en la comunidad IoT global. En este momento disponen de 2946 Gateways en todo el mundo gracias a comunidades locales que montan estos puntos de acceso extendiendo la red y el conocimiento sobre IoT. Esta creciente comunidad está acelerando la expansión del IoT, facilitando a muchas personas el acceso sencillo y gratuito a un ecosistema de IoT donde pueden hacer realidad sus proyectos de forma muy sencilla.
En nuestro caso, miraremos las gateways que estan operativas en Cornellà de Llobregat. Como se puede ver en la siguiente imagen, hay un total de 3 gateways, situadas en el Ayuntamiento de Cornellà, biblioteca y Citilab.