Análisis de Plataformas/Servicios IoT Cloud (Sofia2, FIWARE, Azure IoT, Watson IoT y Artik Cloud)

Hace unas semanas llegó a nuestras manos este trabajo Fin de Master en el que su autor, Edison Fabricio, hacía un análisis práctico de 5 plataformas IoT en la nube, entre ellas la nuestra:

El análisis realizado nos parece muy interesante y nos alegra formar parte de este estudio, así que hemos preparado este post, en el que mencionamos los puntos que nos han parecido relevantes del trabajo de Edison. El propio Edison definía el trabajo así:

Este presente trabajo de Fin de Máster busca estudiar los más prometedores servicios en la nube para IoT, tanto públicos y privados, que actualmente existen en el mercado. Se implementará un entorno de pruebas donde un dispositivo embebido enviará constantemente variables de sensores a los servicios en la nube. Al final, de los resultados observados se podrá determinar qué servicios son los más óptimos para IoT y cuáles son los más flexibles para que un desarrollador pueda construir sus aplicaciones.”

A lo largo del documento se analiza el estado del arte de IoT, se definen las capas de una arquitectura IoT, se relaciona IoT con Cloud Computing, casos de uso y retos:

Y finalmente se analizan estos servicios IoT: Sofia2, Fiware, Watson IoT de IBM, Artik Cloud de Samgung y Azure IoT Suite de Microsoft.

Tras describir la historia, conceptos, características, arquitectura y referencias de cada una de las plataformas, en el capítulo 4 (página 35) del informe Edison crea un Entorno de Pruebas para evaluar los diferentes servicios.

Tras esto, en el capítulo 5 extrae los resultados de cada una de las plataformas, el escenario probaba durante 30 días este escenario (

Podéis revisar vosotros mismos los resultados comparativos a partir de la página 45, como resumen tendríamos:

Mensajes procesados por la plataforma:

 

Características:

 

(En las pruebas con Sofia2, Edison usó el entorno gratuito Sofia2 CloudLab que permite sin limitaciones probar toda la plataforma durante tiempo indefinido pero que no ofrece SLAs).

A partir de la página 61, Edison expone sus conclusiones, en el que respecto a Sofia2 Edison concluye:

“Sofia2, en cambio, une estas dos características: es tanto libre de uso en algunos aspectos y cuenta con modelo de pago pay-as-you go. Por tanto puede resultar muy atractiva para desarrolladores que estén buscando un modelo gratuito donde implementar su proyecto piloto y poder migrar de manera fácil hacia un modelo de negocio bajo suscripción”.

Los que queráis profundizar en el análisis realizado podéis acudir al anexo, en el que se explican los pasos a seguir en cada una de las plataformas para el caso de test.

Quería acabar este post agradeciendo a Edison haber contemplado Sofia2 como una de las 5 plataformas IoT analizadas, y por supuesto aclarar que no hemos participado para nada en este análisis.

Gracias Edison, en breve publicaremos novedades muy interesantes respecto a tu análisis sobre la nueva versión de la Plataforma!.

Análisis de Plataformas/Servicios IoT Cloud (Sofia2, FIWARE, Azure IoT, Watson IoT y Artik Cloud)

OPC: De Windows COM/DCOM a OPC-UA

Origen:

La especificación OPC (OLE for Process Control) surge allá por 1996, en la época de los 90s, donde el uso de sistemas de automatización, fundamentalmente SCADAS para visualización y control basados en Windows proliferó.

En ese momento los fabricantes de interfaces HMI y software SCADAS tenían el problema de tener que escribir su propio driver para conectar con los PLCs, asi que se creó el grupo de trabajo OPC para definir un estándar para acceso a dispositivos (PLCs especialmente) desde sistemas Windows.

La especificación OPC Data Access (OPC-DA) se publica en 1996 y la versión 2 en 1998. Esta especificación se basaba en tecnologías Microsoft Windows COM (Component Object Model) y DCOM (Distributed COM).

Hoy en día OPC es el estándar universalmente aceptado) para intercambiar datos entre sistemas de automatización industrial: SCADA y HMI, gestión de procesos y Sistemas de Control Distribuidos (Distributed Control Systems – DCS) y Sistemas de Ejecución Manufacturera (Manufacturing Execution System – MES).

Tecnología OPC clásico:

OPC usa una arquitectura cliente-servidor:

· Un servidor OPC encapsula la fuente de información de proceso como un dispositivo y hace la información disponible a través de su interfaz.

· Un cliente OPC se conecta al servidor OPC y puede acceder y consumir la información ofrecida.

Como decíamos, las interfaces clásicas de OPC están basadas en la tecnología COM y DCOM de Microsoft. COM y DCOM ofrecen a un cliente un mecanismo transparente para llamar a métodos en un objeto COM en un servidor que se está ejecutando, en el mismo proceso, en otro proceso o en otro nodo de red.

Esta ventaja fue importante para el éxito de OPC pero por el contrario hacía depender a OPC de la plataforma Windows y además DCOM tenía inconvenientes como su complejidad de configuración (Dios, cómo lo recuerdo!!!) o sus timeouts.

Especificaciones OPC clásicas:

Hasta llegar a OPC-UA teníamos:

· Acceso a Datos (OPC-DA): permite leer, escribir y monitorizar variables, se usa paratransmitir datos de tiempo-real de PLCs, y otros dispositivos de control a HMIs y otras pantallas clientes. OPC-DA es el interfaz más importante de OPC, el resto de interfaces OPC se implementan como complemento a OPC-DA.

· Alarmas y Eventos (OPC-A&E): permite recibir notificaciones de eventos y de alarmas.

· Acceso a Datos Históricos (OPC-HDA) permite el acceso a datos ya almacenados. Los archivos históricos se recuperan de manera uniforme, desde un simple sistema de registro de datos serie a un complejo sistema SCADA.

Además de estos teníamos por ejemplo OPC XML-DA, la primera especificación OPC independiente-de-plataforma que reemplazaba COM/DCOM con HTTP/SOAP y tecnologías de Servicio Web (un auténtico suplicio!).

Y por fin OPC-UA:

OPC XML-DA fue el primer intento de la OPC Foundation para mantener las características exitosas de OPC pero utilizar una infraestructura neutra en cuanto a plataforma y fabricante. Entre otras razones, el bajo rendimiento de los Servicios Web XML comparado con la versión original basada en COM y los problemas de interoperabilidad al utilizar capas diferentes de Servicios Web XML, hicieron que no cumplieran con los requisitos de la nueva generación de OPC.

La OPC Unified Architecture (OPC-UA) nace con el objetivo de crear un recambio real para todas las especificaciones basadas en COM sin perder ninguna de sus características ni rendimiento. Además el modelado de datos era muy limitado en el OPC Clásico y necesitaba una mejora ofreciendo un modelo común, orientado a objetos para todos los datos OPC.

Para cumplir los objetivos definidos, OPC-UA se construye en varias capas, donde los componentes fundamentales de OPC-UA son los mecanismos de transporte y el modelo de datos.

· El transporte define diferentes mecanismos optimizados para diversos casos de uso. La primera versión de OPC-UA define un protocolo TCP binario optimizado de alto rendimiento en comunicaciones intranet así como un acceso a estándares de internet aceptados como Servicios Web, XML y HTTP para comunicaciones por internet a través de cortafuegos.

· El modelo de datos define las reglas y bloques constructivos necesarios para exponer un modelo de información con OPC-UA. Define también los puntos de entrada al espacio de direcciones y los tipos básicos utilizados para construir una jerarquía de tipos.

OPC-UA utiliza una arquitectura cliente-servidor similar al que se utiliza en OPC Clásico. Una aplicación que quiera exponer su propia información a otras aplicaciones se llama servidor UA, y una aplicación que quiera consumir información de otras aplicaciones se llama cliente UA. En OPC-UA se espera que vaya a haber muchas más aplicaciones que sean a la vez servidor UA y cliente UA en una misma aplicación que en el OPC Clásico.

Leer más

OPC: De Windows COM/DCOM a OPC-UA

8 prioridades para el arquitecto del ecosistema de la Smart City

Como explicábamos en los 2 posts anteriores:

Smart City Ecosystem Framework – Un modelo para planear Smart Cities

Smart City Ecosystem Framework – Capas

Para construir este ecosistema de ciudad inteligente se necesita una nueva generación de Arquitectos, que operan en la intersección de tecnología, innovación, negocios, operaciones, estrategia y personas.

Estos arquitectos de ecosistemas de ciudades inteligentes deben enfocarse en estas áreas:

1. Romper los silos y construye puentes.

Una ciudad inteligente sostenible y que funciona bien requiere una orquestación de personas, procesos, políticas y tecnologías que trabajan juntas en todo el ecosistema de la ciudad inteligente.

Estos arquitectos:

· Unifican equipos en departamentos municipales.

· Construyen puentes para conectar organizaciones públicas y privadas dentro del ecosistema.

· Construyen consenso para co-crear la nueva ciudad.

2. Enfocarse en lo que importa.

Una ciudad inteligente no se trata de tecnología, sino de utilizar la tecnología junto con las distintas capas de los ecosistemas para crear los resultados que les importan a los residentes, las empresas, las organizaciones municipales y los visitantes.

Estos resultados, o resultados, se alinean alrededor de las necesidades de la ciudad: eficiencia del gobierno, sostenibilidad, salud y bienestar, movilidad, desarrollo económico, seguridad pública y calidad de vida.

3. Involucrar a una comunidad amplia de innovadores.

Dentro de la ciudad inteligente, la innovación y la creación de valor vienen no solo de las agencias municipales, sino también de las empresas, las comunidades (distritos comerciales, edificios "inteligentes", complejos de viviendas) y los residentes.

Los arquitectos de ecosistemas de ciudades inteligentes unifican las distintas capas para permitir, incentivar, facilitar y escalar esta comunidad más grande para co-crear la ciudad inteligente.

4. Desarrollar el partnerssip.

Los partners son los catalizadores de la ciudad inteligente. Aumentan y amplifican los recursos y capacidades limitados de la ciudad, permitiendo escalar más rápido y minimizar los riesgos.

Los arquitectos efectivos de ecosistemas de ciudades inteligentes unen las necesidades de los legisladores, tecnólogos e innovadores para crear políticas sensatas que creen los resultados correctos. Proactivamente buscan colaboradores públicos y privados y crean partnerships sostenibles y sinérgicas.

5. Habilitar "datos de ciudad", no datos abiertos.

Los datos son el alma de la ciudad inteligente. Los datos abiertos, generados por organizaciones municipales, son solo una fuente de datos. Cuando se complementa con datos creados por empresas y ciudadanos privados, ofrecen información más rica y mejores resultados.

Los arquitectos de ecosistemas de ciudades inteligentes utilizan toda la extensión del ecosistema para crear "datos de ciudad". Planifican y construyen mercados de datos, compartir datos sólidos y políticas de privacidad, habilidades de análisis de datos y modelos de monetización que facilitan la obtención y el uso de "datos de la ciudad".

6. Gestionar la conectividad como una capacidad estratégica.

Si bien la conectividad es una misión crítica, los arquitectos de los ecosistemas de las ciudades inteligentes de la actualidad se enfrentan a varios desafíos: acceso desigual a la conectividad básica, inadecuación de los servicios existentes y una variedad confusa de opciones emergentes de LPWAN.

En la ciudad inteligente, la conectividad no es una opción ni es un problema ajeno resolver. Los arquitectos de Smart City deben liderar con nuevas políticas y asociaciones público privadas. Deben desarrollar nuevas estrategias de inversión innovadoras y crear nuevos ecosistemas de conectividad entre responsables de la ciudad, proveedores de servicios y la infraestructura.

7. Modernizar la infraestructura.

La infraestructura de la ciudad inteligente de hoy en día es una mezcla de sistemas heredados, tecnología departamental y soluciones de ciudad inteligente.

Las ciudades deben modernizar su infraestructura digital, mientras expanden la integración al ecosistema externo más amplio. Las políticas, procesos y sistemas de ciberseguridad y tecnología deben ser revisados para que estén centrados en la ciudad, no centrados en TI.

Las habilidades digitales, desde el análisis de datos, el aprendizaje automático hasta la ingeniería de software, deben ser las nuevas competencias de la ciudad inteligente.

8. Diseñar la confianza en la ciudad inteligente.

La ciudad inteligente es tan inteligente como la confianza que tienen sus partes interesadas en ella.

Desde el comienzo, los arquitectos de ciudades inteligentes deben diseñar esa confianza en todo el ecosistema:

· La infraestructura tecnológica debe ser segura.

· La información recopilada debe protegerse y utilizarse de acuerdo con los deseos de sus propietarios.

· Las políticas, la legislación y la tecnología deben alinearse continuamente para mantener el equilibrio correcto de protección, privacidad, transparencia y utilidad.

· La infraestructura debe ser robusta, resistente y confiable.

Artículo original

8 prioridades para el arquitecto del ecosistema de la Smart City

Smart City Ecosystem Framework – Capas

En este post hablábamos sobre un marco de ecosistema para Smart Cities, hoy nos centraremos en las diferentes capas que forman una Smart City:

Las capas de las que hablamos pueden enumerase en:

· Capa de valor

· Capa de Innovación

· Capa de gobierno, gestión y operaciones

· Capa de Política, procesos, asociaciones público-privadas y de financiación

· Capa de Información y de datos

· Capa de Conectividad, accesibilidad y de seguridad

· Capa de infraestructura de tecnología de ciudad inteligente

Que en detalle:

Capa de valor Esta es la capa más visible para los residentes de la ciudad, empresas, visitantes, trabajadores, estudiantes, turistas y otros. Esta capa es el catálogo de servicios de ciudades inteligentes o "casos de uso", centrados en los resultados y consumidos por las partes interesadas de la ciudad.

Capa de innovación. Para seguir siendo relevantes, los creadores de valor en la ciudad inteligente deben innovar continuamente y actualizar sus servicios para sus grupos de interés. Las ciudades inteligentes facilitan proactivamente esto a través de una variedad de programas de innovación, incluidos laboratorios, zonas de innovación, capacitación, talleres de ideación, desarrollo de habilidades y asociaciones con universidades y empresas.

Capa de gobierno, gestión y operaciones. La ciudad inteligente crea disrupción y resultados en la transformación digital de procesos y servicios existentes. Los modelos de gestión de ciudades inteligentes deben integrar un nuevo ecosistema de creadores de valor e innovación. Deben planificar, respaldar y monetizar nuevos modelos de negocios, procesos y servicios. Deben actualizar sus procesos de gestión e infraestructura existentes para admitir servicios "inteligentes". Finalmente, deben medir el rendimiento de la ciudad con un nuevo conjunto de métricas.

Capa de Política, procesos, asociaciones público-privadas y capa de financiación. La ciudad inteligente no aparece mágicamente un día. Se necesita un conjunto completamente nuevo de modelos de participación, reglas, fuentes de financiación y socios para construir, operar y mantener la ciudad inteligente. Las ciudades deben desarrollar un nuevo conjunto de competencias "inteligentes" a fin de obtener y permanecer en el "juego de la ciudad inteligente".

Capa de Información y de datos. El alma de la ciudad inteligente es la información. La ciudad inteligente debe facilitar esto de varias maneras, incluidas las iniciativas de datos abiertos, los mercados de datos, los servicios analíticos y las políticas de monetización. Igualmente importante, deben tener programas que alienten el intercambio de datos y las políticas de privacidad para proteger qué y cómo se recopilan los datos.

Capa de Conectividad, accesibilidad y de seguridad. Las personas, las cosas y los sistemas están interconectados en la ciudad inteligente. La capacidad de conectar sin problemas los tres, administrar y verificar quién y qué está conectado y compartido, mientras que la protección de la información y los usuarios es crucial. Las principales prioridades para las ciudades inteligentes son proporcionar una capa perfecta de conexiones confiables.

Capa de infraestructura de tecnología de ciudad inteligente. La mayoría de las personas piensa automáticamente en la tecnología cuando habla de ciudades inteligentes. La infraestructura tecnológica de la ciudad inteligente debe escalar más allá de los usuarios municipales tradicionales y respaldar a una nueva clase de creadores de valor y partes interesadas de la ciudad / usuario.

Leer más

Smart City Ecosystem Framework – Capas

Smart City Ecosystem Framework – Un modelo para planear Smart Cities

Podríamos empezar por preguntarnos ¿Qué es una Smart City?

La respuesta depende de a quién le preguntes. Los proveedores de soluciones te dirán que es el parking inteligente, iluminación inteligente o cualquier solución tecnológica. Los funcionarios de la ciudad pueden decirte que se trata de publicar el negocio de la ciudad online, los residentes de la ciudad pueden decirle que la Smart city mejorará su movilidad y reducirá el crimen.

Todos tienen razón porque una ciudad inteligente debe proporcionar diferentes valores a los diferentes interesados.

En muchos casos los diferentes interesados puede que no piensen en su ciudad como una ciudad "inteligente" porque la ven solo como un lugar en el que quieren vivir, trabajar y ser parte de ella. Para construir este tipo de ciudad, primero debemos construir el ecosistema de la ciudad inteligente.

Smart Cities are Built on Technology, Focused on Outcomes

A scan of the various smart city definitions found that technology is a common element. For example, TechTarget defines a smart city as “a municipality that uses information and communication technologies to increase operational efficiency, share information with the public and improve both the quality of government services and citizen welfare”.

The Institute of Electrical and Electronics Engineers (IEEE) envisions a smart city as one that brings together technology, government, and society to enable the following characteristics: a smart economy, smart mobility, a smart environment, smart people, smart living, smart governance.

But what does a smart city really do? Our scan of smart city projects worldwide showed that initiatives fell into one or more smart city “outcomes” (Figure One).

Las ciudades inteligentes se basan en la tecnología, se centran en los resultados

Viendo varias definiciones de ciudades inteligentes podemos ver que la tecnología es un elemento común.

Por ejemplo:

· TechTarget define una ciudad inteligente como "un municipio que usa las tecnologías de la información y la comunicación para aumentar la eficiencia operativa, compartir información con el público y mejorar la calidad de los servicios gubernamentales y el bienestar de los ciudadanos".

· El Instituto de Ingenieros Eléctricos y Electrónicos (IEEE) concibe una ciudad inteligente como una que reúne tecnología, gobierno y sociedad para permitir las siguientes características: economía inteligente, movilidad inteligente, ambiente inteligente, personas inteligentes, vida inteligente, gobierno inteligente.

Pero, ¿qué es lo que realmente hace una ciudad inteligente?

Un escaneo de proyectos de ciudades inteligentes en todo el mundo mostró que las iniciativas llegaron a uno o más de estos "resultados”:

The Smart City Ecosystem Framework

La figura de abajo muestra un marco para un ecosistema de ciudad inteligente.

Una ciudad sostenible es un ecosistema compuesto por personas, organizaciones y empresas, políticas, leyes y procesos integrados para crear los resultados deseados.

Una ciudad inteligente integra la tecnología para acelerar, facilitar y transformar este ecosistema.

Smart City Ecosystem Framework – Un modelo para planear Smart Cities

Web Thing API by Mozilla

W3C Web Thing es una nueva propuesta (en este caso por parte de Mozilla) para describer un modelo de datos común y un API para la “Web of Things”.

La Web Thing Description provee un vocabulario para describir dispositivos físicos conectados a Internet en un formato legible basado en JSON.

Por su parte la Web Thing REST API y Web Thing WebSocket API permiten que un cliente web pueda acceder a las propiedades de un dispositivo, ejecutar acciones sobre este y suscribirse a eventos que representan un cambio en su estado.

La especificación incluye:

· Web Thing Types como tipos adicionales que pueden ser definidos usando extensiones semánticas sobre JSON-LD

· Un Web Thing API Protocol Bindings para escribir bindings a la Web Thing API para otros protocolos IoT

· El documento Web of Things Integration Patterns describe patrones para integrar dispositivos con la Web Thing API.

Seguro que con un ejemplo se entiendo mucho major lo que nos ofrece esta especificación:

Donde podemos ver que el dispositivo (DigitalTwin) tiene una propiedad temperatura de tipo Number, otra humidity y otra led, así como una acción (que alguien puede ejecutar sobre el dispositivo) y un evento (que se publica cuando se desencadena) reboot. Así como links para acceder a las propiedades, acciones ,eventos,…

Siguiendo la especificación podemos ver como:

Ejecutando esta petición:

Obtengo la descripción del dispositivo concreto.

Si hago

Me devolverá el valor de la propiedad:

Si quiero cambiar el valor de una propiedad:

Si quiero lanzar una acción reboot:

También puedo obtener una lista de peticiones de acciones:

Para acceder a los eventos

Aunque a la especificación le faltan aún bastantes cosas (como la seguridad, lógica embebida en el dispositivo) a nivel de interfaces la especificación es muy sencilla y fácil de implementar versus otras soluciones más potentes (y complejas) que veremos en próximos posts.

Web Thing API by Mozilla