Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial Internet of Things >> Tecnología de Internet de las cosas

Eclipse Vorto:el siguiente paso en la integración de dispositivos IoT

Alexander Edelmann

你好 ("Hola" en chino), vivo en Singapur y trabajo como ingeniero de software para Robert Bosch desde 2006. Me apasiona el IoT y creo en los estándares abiertos que determinan la interacción exitosa entre dispositivos en varias plataformas de IoT . Es por eso que contribuyo activamente al proyecto Eclipse IoT Vorto, que tiene como objetivo proporcionar herramientas basadas en la nube para describir de manera uniforme los dispositivos de IoT e integrarlos en varias plataformas de IoT basadas en estándares abiertos de IoT. Aparte de mi lado geek de IoT, disfruto de la cocina asiática que me permite practicar mis habilidades con los palillos. También puedes encontrarme en la cancha jugando algunas pelotas de tenis con mis amigos.

Al observar ejemplos como fábricas y hogares inteligentes, los dispositivos conectados están mejorando no solo la eficiencia de costos y recursos de las empresas, sino que también están aumentando la seguridad y la comodidad de la vida. Con la gran cantidad de fabricantes de dispositivos y sensores, surgen nuevos desafíos para los fabricantes, plataformas e integradores.

El principal problema es cómo garantizar que los dispositivos conectados puedan comunicarse sin problemas con plataformas en la nube, independientemente de los diferentes fabricantes, tecnologías y sistemas. En el pasado, los desarrolladores han creado soluciones de IoT que fueron diseñadas específicamente para un conjunto limitado de dispositivos que tenían la misma API. Al cambiar el tipo de dispositivo o cambiar de fabricante, la integración del dispositivo requirió una refactorización que requirió mucho tiempo para trabajar con el nuevo dispositivo.

Imagínese que planea integrar una solución de IoT para el seguimiento de activos en una gran explotación agrícola. No solo desea realizar un seguimiento de la ubicación actual, sino también la temperatura y la aceleración de los tractores, arados y otros dispositivos agrícolas.

Surgen dos preguntas cuando se piensa en elegir los dispositivos de IoT adecuados:

Aquí es donde interviene el Eclipse Vorto de código abierto.

Presentamos Eclipse Vorto

Fuente:Eclipse Vorto

Eclipse Vorto proporciona una capa de abstracción llamada Modelo de información de Vorto y un lenguaje específico de dominio (DSL) que describe toda la metainformación, como propiedades y funciones, de un dispositivo conectado.

Al agregar una capa de abstracción, creamos una interfaz consistente que nos permite usar diferentes tipos de dispositivos con una funcionalidad similar.

El proyecto Eclipse Vorto se basa en cuatro componentes principales:

Eclipse Vorto es completamente de código abierto y se desarrolló dentro del Grupo de trabajo de Eclipse IoT bajo la dirección de Bosch.

Tim Grossmann

Como estudiante de informática alemana, he asumido asignaciones en 3 departamentos diferentes en Bosch durante el último año y medio. Estoy particularmente interesado en las tecnologías Open Source y EduTech. Creo que el IoT y la automatización tienen un enorme potencial para cambiar y mejorar la forma en que las personas viven, trabajan y disfrutan de la vida. Un aprendiz y desarrollador apasionado, siempre estoy dispuesto a aprender nuevas habilidades y herramientas. Además de mi trabajo habitual, he creado y ahora mantengo el robot de automatización de código abierto gratuito más grande del mundo para Instagram. En mi tiempo libre, disfruto escalar con amigos y viajar a países extranjeros.

Eclipse Vorto en la práctica

Veamos un ejemplo más específico para comprender mejor esta abstracción. Imagine una empresa agrícola que desea realizar un seguimiento de los vehículos y activos utilizados para recolectar las cosechas de trigo. En fincas más grandes con varias cosechadoras, tractores y otros activos, queremos saber la cantidad de tiempo que se utilizó cada vehículo y su historial de ubicación.

Al combinar este tipo de información con los valores de temperatura y humedad, podemos habilitar un plan de mantenimiento inteligente para todos los vehículos y activos. La ubicación de cada vehículo y activo también nos proporciona capacidades antirrobo.

Una de las soluciones que proporciona este tipo de funcionalidad es la solución de rastreo de activos (TRACI) de Bosch.

Fuente:Bosch.IO

Para crear un modelo digital de este dispositivo específico, necesitamos tener algunos bloques de construcción básicos que se utilizarán para ensamblar el modelo de información de TRACI.

Uno de los componentes más importantes del dispositivo de rastreo es la batería. Para poder monitorear el estado de la batería de cada dispositivo, podemos describir el estado en lo que se llama Bloque de Función.

Un bloque de funciones es un modelo genérico que se puede reutilizar más adelante en otros modelos de información de dispositivos.

Podemos definir uno como este:

espacio de nombres org.eclipse.vorto versión 1.0.0 displayname "Batería" descripción "Bloque de función para batería" categoría periférica utilizando org.eclipse.vorto.Voltage; 1.0.0 functionblock Battery extiende org.eclipse.vorto.Voltage { estado { Capacidad restante obligatoria como flotante } }

Aquí describimos un bloque de funciones que describe de manera abstracta alguna entidad que contiene un valor numérico obligatorio entre 0 y 100.

Dado que nuestro estado es un valor porcentual, podemos abstraerlo aún más para, nuevamente, hacer que los distintos componentes sean reutilizables. Por lo tanto, crearemos lo que se llama un tipo de datos . Aquí podemos definir una entidad (Porcentaje en este caso) que tiene las mismas restricciones de ser un valor numérico entre 0 y 100.

espacio de nombres org.eclipse.vorto.types versión 1.0.0 displayname "Porcentaje" descripción "Tipo de datos para porcentaje" unidades de categoría Porcentaje de entidad { valor obligatorio como flotante }

Una vez que creamos este tipo de datos, se puede importar y usar dentro de nuestro bloque de función de batería y reemplaza la implementación concreta.

espacio de nombres org.eclipse.vorto versión 1.0.0 displayname "Batería" descripción "Bloque de función para batería" categoría periférica utilizando org.eclipse.vorto.types.Percentage; 1.0.0 utilizando org.eclipse.vorto.Voltage; 1.0.0 functionblock Battery extiende org.eclipse.vorto.Voltage { estado { Capacidad restante obligatoria como porcentaje } }

Podemos repetir este proceso para todos los sensores integrados en nuestro dispositivo TRACI como el sensor de temperatura , GPS , aceleración y módulos de conectividad . Todos esos bloques de funciones se pueden ensamblar en un modelo de información de Vorto que luego se puede utilizar como punto de partida para que los generadores de código produzcan códigos auxiliares de código de integración de dispositivos para usted.

espacio de nombres com.bosch.ps versión 1.0.0 displayname "Traci" descripción "Modelo de información para Traci" utilizando org.eclipse.vorto.Geolocation; 1.0.0 utilizando org.eclipse.vorto.Acceleration; 1.0.0 utilizando org.eclipse.vorto.MagneticStrength; 1.0.0 usando org.eclipse.vorto.Temperature; 1.0.0 usando org.eclipse.vorto.Battery; 1.0.0 utilizando org.eclipse.vorto.Connectivity; 1.0.0 infomodel Traci { bloques de función { batería como batería ubicación como Geolocalización aceleración como aceleración temperatura como temperatura MagneticStrength como MagneticStrength Bluetooth Conectividad como conectividad lorawan La conectividad como conectividad } }

Muy bien, entonces, ¿para qué hacemos todo esto?

Supongamos que ahora queremos usar dispositivos de otros fabricantes con características similares al dispositivo TRACI. Ya hemos creado una solución de IoT que integró el dispositivo TRACI y sería una gran molestia refactorizar nuestro sistema para que funcione con dispositivos de diferentes fabricantes.

Dado que ya tenemos nuestros Bloques de funciones y los Tipos de datos definidos, podemos definir un nuevo Modelo de información para nuestro nuevo dispositivo que usa los mismos Bloques de funciones que el modelo TRACI.

Comparemos el modelo TRACI con un producto con una funcionalidad comparable, el NL-AT2VS de NimbeLink.

espacio de nombres com.nimbelink.nl versión 1.0.0 displayname "NLAT2VS" descripción "Modelo de información para NLAT2VS" utilizando org.eclipse.vorto.Geolocation; 1.0.0 usando org.eclipse.vorto.Battery; 1.0.0 utilizando org.eclipse.vorto.Connectivity; 1.0.0 usando org.eclipse.vorto.Temperature; 1.0.0 utilizando org.eclipse.vorto.Humidity; 1.0.0 utilizando org.eclipse.vorto.Acceleration; 1.0.0 infomodel NLAT2VS { bloques de función { batería como batería aceleración como aceleración ubicación como Geolocalización temperatura como temperatura humedad como humedad wifiLa conectividad como conectividad Conectividad celular como conectividad } }

Podemos ver que incluso los módulos de conectividad son diferentes en este modelo, pero todavía utilizan el bloque de funciones de conectividad abstracto. La abstracción nos permite reemplazar o combinar diferentes dispositivos con una funcionalidad similar sin mucha sobrecarga de integración.

¿Quién debería usar Eclipse Vorto?

Dada la diversidad de entidades involucradas en la fabricación, integración y desarrollo de soluciones de IoT, las entidades que se beneficiarán más de Eclipse Vorto son:

Fabricantes de dispositivos

Eclipse Vorto puede ayudar a los fabricantes de dispositivos a permitir la interoperabilidad con otros dispositivos en las infraestructuras existentes. La flexibilidad es una gran ventaja para los clientes a la hora de elegir los dispositivos que se van a integrar.

Al utilizar modelos de información independientes de la tecnología, los fabricantes de dispositivos evitan la sobrecarga de generar formas de implementación para todo tipo de plataformas de destino. Esto ahorra dinero y tiempo al publicar modelos de información que se pueden convertir en integraciones concretas utilizando los generadores de código.

La gran ventaja de usar Eclipse Vorto es que las evoluciones posteriores de la capa de protocolo del dispositivo se desacoplan de la lógica del controlador del dispositivo.

Fuente:Eclipse Vorto

Plataformas de IoT

Las plataformas de IoT deben conectar una amplia variedad de diferentes dispositivos de IoT de una amplia gama de fabricantes y admitir todos los diferentes protocolos y formatos. Al utilizar los generadores de código de Eclipse Vorto, este esfuerzo se puede reducir drásticamente mediante la generación de código fuente parcial o total.

Además, el repositorio de Vorto actúa como un repositorio en tiempo de ejecución que permite a las plataformas recuperar las capacidades del dispositivo como un esquema JSON. Estos esquemas se pueden interpretar y validar en el gemelo digital o usarse para arrancar conectores para la comunicación.

Aunque esto significa un mayor trabajo de desarrollo inicial, dará sus frutos con el tiempo considerando la gran cantidad de dispositivos y el crecimiento de IoT.

Desarrolladores de soluciones

Al integrar dispositivos conectados y sensores inteligentes en soluciones de IoT, los desarrolladores deben cubrir una amplia gama de API de dispositivos diferentes, lo que resulta en una enorme sobrecarga de codificación. Eclipse Vorto puede reducir la cantidad de trabajo de desarrollo involucrado al proporcionar generadores de código que proporcionan códigos auxiliares genéricos que simplifican la integración de dispositivos.

Fuente:Eclipse Vorto

Una mirada al futuro de IoT

Al garantizar la interoperabilidad y armonizar la interfaz de los dispositivos, Eclipse Vorto tiene el potencial de cambiar la forma en que los fabricantes de dispositivos, los operadores de plataformas de IoT y los desarrolladores de aplicaciones trabajan con los dispositivos de IoT.

Puede reducir el trabajo de desarrollo para los fabricantes y facilitar la integración de dispositivos para los proveedores e integradores de plataformas mientras aborda muchos de los desafíos mencionados del desarrollo de IoT.

Si desea obtener más información sobre el proyecto, asegúrese de revisar el repositorio de GitHub y darle una estrella.

También puedes probarlo y utilice los sofisticados tutoriales para la creación, integración y visualización de dispositivos que se proporcionan en el repositorio de Vorto.


Tecnología de Internet de las cosas

  1. Autenticación de dispositivo basada en X.509 en Eclipse Hono
  2. Datos inteligentes:la próxima frontera en IoT
  3. La creciente amenaza de IoT habilitado para Wi-Fi
  4. No crea el bombo publicitario:Por qué el IoT se está estancando
  5. Conexión de IoT:la oportunidad de banda estrecha
  6. Estamos sentando las bases para IoT en la empresa
  7. 5 desafíos que aún enfrenta el Internet de las cosas
  8. El papel de IoT en la atención médica durante Covid-19
  9. Por qué la conexión directa es la siguiente fase del IoT industrial
  10. Descubriendo el punto ciego de IoT en un mundo pospandémico
  11. Qué significa la llegada de 5G para la seguridad de IoT