Módulos guardianes

Un módulo guardian es hardware de complemento que incorpora un chip Azure Sphere y se conecta físicamente a un puerto en un dispositivo "brownfield", es decir, un dispositivo existente que ya puede estar en uso.

Mediante el uso de un módulo guardián, puede agregar funcionalidades de IoT seguras al equipo que no admita la conectividad a Internet o que no lo admita de forma segura. En resumen, un módulo guardián proporciona una manera de implementar la conectividad segura en los dispositivos existentes sin exponer esos dispositivos a Internet. Dado que es un dispositivo de Azure Sphere, todas las características de seguridad y conectividad de Azure Sphere están disponibles: todos los datos están cifrados, las actualizaciones del sistema operativo y de la aplicación se entregan de forma segura y la autenticación garantiza que el módulo se comunique solo con hosts de confianza.

Este es el funcionamiento de un módulo guardián:

  • El módulo guardián se conecta a un dispositivo brownfield, como se describe en la sección Conectividad de este tema. El dispositivo brownfield en sí no está conectado a la red.

  • El sistema operativo Azure Sphere se ejecuta en el módulo guardián junto con una aplicación de alto nivel personalizada y cualquier otra aplicación Azure Sphere su escenario requiere.

  • El módulo guardián usa el servicio de seguridad de Azure Sphere para la autenticación basada en certificados, los informes de errores y las actualizaciones de software por vía inalámbrica.

  • El dispositivo brownfield se comunica con el módulo guardián, que puede responder realizando una acción local o informando a una presencia en la nube, como Azure IoT Central.

Puede comprar módulos guardianes de un proveedor y personalizarlos aún más para su escenario de uso, o puede diseñar su propio módulo guardián, posiblemente trabajando con un asociado de hardware. Consulte el sitio web Azure Sphere para obtener información sobre los proveedores de hardware.

Usos para un módulo guardián

Un módulo guardián puede hacer todo lo que puede hacer cualquier otro dispositivo Azure Sphere, a la vez que actúa como una interfaz segura entre el equipo existente y una red externa. Entre los posibles usos de un módulo guardián se incluyen:

  • Recopilación de datos del dispositivo brownfield, procesamiento de los datos y transmisión segura de los datos a un punto de conexión en la nube
  • Envío de datos a varios puntos de conexión, siempre que pueda autenticar cada punto de conexión
  • Recopilar datos adicionales que no están disponibles en el dispositivo brownfield; por ejemplo, los sensores del módulo de supervisión podrían proporcionar datos ambientales para utilizarlos junto con los datos operativos del dispositivo brownfield.
  • Guardar los datos del dispositivo brownfield en caso de pérdida de conectividad.

El repositorio de ejemplos de Azure Sphere incluye dos ejemplos que muestran cómo se puede usar un dispositivo Azure Sphere como módulo guardián:

  • Device to Cloud muestra cómo se puede usar un dispositivo Azure Sphere para la recopilación de datos al tiempo que proporciona acceso seguro a Internet para un dispositivo brownfield conectado a él a través de una interfaz serie.
  • Private network services muestra cómo un dispositivo Azure Sphere puede proporcionar acceso seguro a Internet para un dispositivo brownfield conectado a él a través de una interfaz TCP/IP.

Conectividad

Hay varios mecanismos admitidos de conectividad entre el módulo guardián y la red, y entre el módulo guardián y el dispositivo brownfield. Para obtener información general sobre las soluciones de conectividad de Azure Sphere, consulte Conectividad y Requisitos de red.

La aplicación de alto nivel de un módulo guardián se comunica ascendentemente con la red, incluido el servicio de seguridad de Azure Sphere y otros servicios en la nube, y de bajada con el dispositivo brownfield:

  • Para las conexiones ascendentes entre el módulo guardián y la red, puede usar Ethernet, Wi-Fi o telefonía móvil.

  • Para las conexiones descendentes entre el módulo guardián y el equipo brownfield, puede usar lo siguiente:

    • Cualquier interfaz serie, como UART, RS-485 o SPI, que el dispositivo brownfield expone
    • Ethernet privado, que no expone el dispositivo brownfield a la red pública
    • Inalámbrico, como Bluetooth o ZigBee

Desarrollo e implementación de aplicaciones

Desarrollar e implementar una aplicación para un módulo guardián no es diferente del desarrollo e implementación de una aplicación para cualquier otro dispositivo Azure Sphere. Consulte Información general de aplicaciones de Azure Sphere y Aspectos básicos de implementación para obtener más información. Al igual que con cualquier dispositivo Azure Sphere, un módulo guardián debe tener al menos una aplicación de Azure Sphere de alto nivel y también puede tener aplicaciones compatibles en tiempo real.

Necesitará acceso al UART de servicio, que es la principal interfaz de programación y depuración entre el MT3620 y el entorno de desarrollo que se ejecuta en un equipo anfitrión. Si diseña su propio módulo de supervisión, deberá asegurarse de que las señales de la UART de servicio estén accesibles y de que proporcione un medio para conectarse a la UART de servicio, ya sea en el propio módulo de supervisión o en un dispositivo de hardware independiente. Si compra módulos de un proveedor, el proveedor debe proporcionar una solución que habilite esta conexión.

Si el proveedor u otro tercero crearán la aplicación, es posible que tenga que proporcionar acceso al catálogo de Azure Sphere para que el desarrollador de aplicaciones pueda cargar y probar la aplicación y crear una implementación.

Aplicaciones de alto nivel

Una aplicación de alto nivel de módulo guardián debe estar escrita de forma personalizada para los dispositivos brownfield de cada organización. Si el proveedor del módulo guardián proporciona una aplicación, asegúrese de recibir el código fuente de la aplicación de alto nivel y las bibliotecas para que pueda modificar o actualizar la aplicación según sea necesario.

Al igual que con cualquier aplicación de dispositivo Azure Sphere, los detalles específicos del dispositivo y específicos de la aplicación deben aparecer en el manifiesto application. Por ejemplo, las conexiones del módulo guardián son detalles específicos del dispositivo que se deben incluir en el manifiesto.

Una aplicación de alto nivel que se ejecuta en un módulo guardián es responsable de lo siguiente:

  • Establecimiento y mantenimiento de la conectividad con el equipo brownfield
  • Establecimiento y mantenimiento de la conectividad con Internet, incluido el servicio de seguridad de Azure Sphere y otros servicios en la nube
  • Gestionar los datos recibidos del dispositivo brownfield: desempaquetar y almacenar los datos, si es necesario, y comunicarse con los hosts de Internet según proceda.
  • Controlar los datos recibidos de un host de Internet: desempaquetar y almacenar datos, si es necesario, y comunicarse con el equipo brownfield según corresponda.

Los datos enviados al sistema central pueden incluir informes de errores, parámetros operativos o telemetría general. Azure Sphere garantiza que todos estos datos estén cifrados. La aplicación puede conectarse a servicios web y usar la autenticación mutua para estas conexiones.

Los datos enviados aguas abajo pueden incluir software actualizado o cambios en la configuración o en los parámetros del dispositivo existente. Para evitar posibles brechas de seguridad, la aplicación debe validar los datos entrantes antes de enviarlos al dispositivo brownfield.

Aspectos que tener en cuenta sobre la aplicación

Al crear una aplicación, debe tener en cuenta los periféricos disponibles, los requisitos de almacenamiento y el consumo de energía.

Dispositivos periféricos

Al igual que otros dispositivos Azure Sphere, los módulos Guardian se diferencian en los periféricos que ofrecen. Elija un módulo guardián que proporcione las funcionalidades de conectividad y detección que requiere su escenario.

Dependiendo de la arquitectura de hardware del módulo guardián (es decir, cómo expone las funcionalidades del chip de Azure Sphere), puede determinar si el software para acceder a características individuales debe implementarse como una aplicación con respuesta en tiempo real o de alto nivel.

Requisitos de almacenamiento

Azure Sphere tiene un almacenamiento limitado, por lo que debe tener en cuenta cuidadosamente la cantidad de memoria necesaria para las aplicaciones y los datos. Consulte Memoria disponible para obtener más información.

Al enviar datos de bajada desde la nube al dispositivo brownfield, asegúrese de que el módulo guardián tiene suficiente espacio para almacenar los datos. Es posible que tenga que enviar datos en fragmentos, como se muestra en el ejemplo HTTPS_Curl_Multi en el repositorio de ejemplos de Azure Sphere GitHub.

Al enviar datos ascendentes desde el dispositivo brownfield al módulo guardián, asegúrese de que la aplicación pueda controlar los errores de conectividad ascendentes. Si el dispositivo brownfield proporciona telemetría en curso, debe tener en cuenta los datos y la cantidad de datos que se deben conservar y enviar posteriormente a la nube cuando se restaure la conectividad. Consulte el ejemplo de la galería store-and-forward, que muestra cómo usar el almacenamiento local para almacenar temporalmente los datos en caché antes de cargarlos.

Consumo de energía

Hay numerosas aplicaciones en las que el módulo guardián está inactivo la mayor parte del tiempo. Por ejemplo, considere un dispositivo Azure Sphere que una vez cada hora recopila datos de una red de sensores y carga esos datos en la nube, una operación que puede tardar un minuto o dos. En este caso, la mayor parte de la energía consumida por el dispositivo se desperdicia.

Puede reducir significativamente el consumo de energía y, por tanto, aumentar la duración de la batería colocando el dispositivo en estado de apagado cuando está inactivo o estableciendo un perfil de energía. Consulte Administración del estado de apagado y Establecimiento de perfiles de energía para obtener más información.