(Stranger Team) Representación en Realidad Aumentada de Digital Twins
Dentro de la iniciativa Onesait Platform Revolution el equipo Stranger Team, compuesto por Miguel Angel, Jairo e Iñigo y mentorizado por Raquel y Pedro, se decantó por la Representación en Realidad Aumentada de Digital Twins.
¿Qué es un Digital Twin?
Un Digital Twin es una representación digital de una entidad o sistema del mundo real que no actúa como un reemplazo del objeto físico del sistema que representa si no como una replica de este, permitiendo la comunicación (testeo, monitorización, mando) de este dispositivo físico sin tener que estar cerca de él.
El reto:
Consiste en la creación de un ecosistema IoT en realidad aumentada, utilizando las capacidades de la Onesait Platform. Para el mismo, se han generado varios dispositivos virtuales modelados como digital twins, que representan dispositivos reales con un estado y que generan y reaccionan a eventos. Estos dispositivos, se sitúan virtualmente mediante un código QR que sirve de clave pública en un enlace seguro para el control y monitorización de los mismos y la propia aplicación que mantiene la seguridad con plataforma.
Se han creado 3 Digital Twins en plataforma:
- Termostato.
- Alarma.
- Detector de humo.
Se ha creado una aplicación Android que representa, a partir de un código QR, los tres dispositivos en Realidad Aumentada, con la información obtenida desde plataforma del Digital Twin correspondiente. El flujo es el siguiente:
- Se inicia la aplicación de realidad aumentada con el dispositivo android y se realiza el login automático y seguro sobre la Onesait Platform.
- Se detectan y localizan los dispositivos con los códigos QR.
- Dentro del espacio de realidad aumentada, el objeto de detección de humo se pulsa y envía una solicitud al DT del detector de humo.
- Este Digital Twin ejecuta su acción y se lanza el evento correspondiente.
- Mediante la orquestación del FlowEngine el digital twin de Alarma de incendio reacciona ante ese evento anterior y se hace una llamada a la acción del DT de la Alarma que provoca un cambio de estado y ese cambio de estado se graba en su ontología.
- Se inserta un mensaje en la ontología ST_NotificationMessage junto con los datos del deviceToken que desencadena un envío al dispositivo Android por Firebase de Google.
- Esto hace reaccionar el dispositivo de Alarma visualmente en el espacio de realidad virtual.
- Se tiene un termostato generando temperaturas y una dashboard graficándoló todo, además es posible ver este dashboard como un hub en la realidad virtual al pulsar en el termostato.
Componentes de la plataforma usados:
- Identity SSO: Se utilizan los servicios de autenticación proporcionados por plataforma para poder acceder al dashboard desde la aplicación Android que han marcado como privado
- API Manager: Disponibiliza los servicios REST que implementan la funcionalidad.
- Flow Engine: Orquestación de DigitalTwins, es aquí dónde se define todo el flujo de la aplicación.
- Semantic Models: Se han creado dos ontologías que almacenan datos de registro de los dispositivos, además de las ontologías creadas para los DigitalTwins, dónde se almacenan todos los datos proporcionados por los mismos.
- Dashboards: Los datos generados por los DigitalTwins se muestran en un dashboard construido en plataforma.
- Persistent: Para persistir los datos en las ontologías.
- Digital Brokers: Para la inserción de datos en las ontologías.
- Microservice: En el reto no se podía usar este módulo y se han desplegados los microservicios directamente en nuestro rancher, pero la idea era usar esta funcionalidad para la gestión de los microservicios.
- IoT Broker: Para la insercción de datos en las ontologías.
- Report Engine: Se exportan los dashboards en formato imágen para poder incrustarlos en la aplicación Android y visualizarlos en RA junto con el dispositivo.
- Digital Twin: Se utiliza el concepto de DigitalTwin para modelar cada uno de los dispositivos y poder representar su gemelo en RA.
- Marketplace: Tanto la aplicación Android cómo el código de los Digital Twins se han disponibilizado como recurso en el market de plataforma para hacerla accesible a los posibles usuarios.
Lo que han conseguido:
- Repositorio GitHub: Donde se puede encontrar tanto el código de la aplicación Android como el código de los tres Digital Twins.
- Dashboard de Plataforma: https://lab.onesaitplatform.com/controlpanel/dashboards/view/ab3d2faa-2adc-40e0-8b2f-feca099ee9f2/
Una demostración:
Imagen de cabecera: Akselos