Módulos para tutores

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

Al usar un módulo de tutores, puedes agregar funcionalidades de IoT seguras a equipos que no admitan la conectividad a Internet o no lo admitan de forma segura. En resumen, un módulo de tutor proporciona una forma de implementar una conectividad segura en dispositivos existentes sin exponerlos a Internet. Dado que es un dispositivo Azure Sphere, todas las características de seguridad y conectividad de Azure Sphere están disponibles: todos los datos están cifrados, el sistema operativo y las actualizaciones de aplicaciones se entregan de forma segura, y la autenticación garantiza que el módulo se comunique solo con los hosts de confianza.

Este es el funcionamiento de un módulo de tutores:

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

  • Azure Sphere OS se ejecuta en el módulo guardian junto con una aplicación de alto nivel personalizada y cualquier otra aplicación de Azure Sphere que su escenario requiera.

  • El módulo de tutores usa el Servicio de seguridad Azure Sphere para la autenticación basada en certificados, informes de errores y actualizaciones de software en el aire.

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

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

Usos de un módulo de tutor

Un módulo de tutor puede hacer cualquier cosa que cualquier otro dispositivo Azure Sphere pueda hacer, mientras que también actúa como una interfaz segura entre el equipo existente y una red externa. Los posibles usos para un módulo de tutor incluyen:

  • Recopilación de datos desde el dispositivo brownfield, procesamiento de los datos y transmisión segura de los datos a un punto de conexión en la nube
  • Enviar datos a varios puntos de conexión, siempre que puedan autenticar a cada punto de conexión
  • Recopilación de datos adicionales que no están disponibles desde el dispositivo brownfield; por ejemplo, los sensores del módulo guardian podrían proporcionar datos ambientales para su uso con datos operativos del dispositivo brownfield
  • Guardar datos del dispositivo brownfield en caso de pérdida de conectividad

El repositorio de muestras de Azure Sphere incluye dos muestras que demuestran cómo se puede usar un dispositivo Azure Sphere como módulo tutor:

  • Device to Cloud muestra cómo se puede usar un dispositivo Azure Sphere para la recopilación de datos mientras se proporciona acceso seguro a Internet para un dispositivo brownfield que está conectado a él a través de una interfaz serial.
  • Los servicios de red privada muestran cómo un dispositivo Azure Sphere puede proporcionar acceso seguro a Internet para un dispositivo brownfield que está conectado a él a través de una interfaz TCP/IP.

Conectividad

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

La aplicación de alto nivel de un módulo de tutores se comunica aguas arriba con la red, incluyendo el Servicio de seguridad Azure Sphere y otros servicios en la nube, y aguas abajo con el dispositivo brownfield:

  • Para conexiones ascendentes entre el módulo guardian y la red, puedes usar Ethernet, Wi-Fi o red de telefonía móvil.

  • Para las conexiones descendentes entre el módulo guardian y el equipo brownfield, puede utilizar 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
    • Conexión inalámbrica, como Bluetooth o ZigBee

Desarrollo e implementación de aplicaciones

Desarrollar e implementar una aplicación para un módulo de tutor no es diferente de desarrollar e implementar una aplicación para cualquier otro dispositivo Azure Sphere. Consulte Introducción a las aplicaciones de Azure Sphere y Conceptos básicos de implementación para obtener más información. Al igual que con cualquier dispositivo Azure Sphere, un módulo de tutor debe tener al menos una aplicación azure sphere de alto nivel y también puede tener aplicaciones compatibles en tiempo real.

Necesitará tener acceso al UART de servicio, que es la interfaz principal de programación y depuración entre MT3620 y el entorno de desarrollo que se ejecuta en un equipo host. Si diseña su propio módulo de tutores, tendrá que asegurarse de que las señales UART de servicio están expuestas y que soporta una forma de interfaz con el UART de servicio ya sea en el propio módulo de tutores o en una pieza separada de hardware. Si compra módulos de un proveedor, el proveedor debe proporcionar una solución que habilite esta conexión.

Si su proveedor u otro tercero va a crear la aplicación, es posible que deba proporcionar acceso a su catálogo de Azure Sphere para que el desarrollador de la aplicación 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 de tutor debe estar personalizada para los dispositivos brownfield de cada organización. Si el proveedor del módulo de tutores proporciona una aplicación, asegúrese de que recibe el código fuente de la aplicación de alto nivel y 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 de la aplicación. Por ejemplo, las conexiones del módulo de tutor son detalles específicos del dispositivo que deben incluirse en el manifiesto.

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

  • Establecer y mantener la conectividad con los equipos brownfield
  • Establecer y mantener la conectividad con Internet, incluyendo el Servicio azure Sphere Security y otros servicios en la nube
  • Control de los datos recibidos desde el dispositivo brownfield: desempaquetar y almacenar datos, si es necesario, y comunicarse con los hosts de Internet según corresponda
  • Control de 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 en sentido ascendente 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 utilizar la autenticación mutua para tales conexiones.

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

Consideraciones de la aplicación

Al crear una aplicación, debes 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 guardianes difieren en los periféricos que exponen. Elija un módulo de tutor que proporcione las capacidades de conectividad y detección que su escenario requiere.

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

Requisitos de almacenamiento

Azure Sphere tiene almacenamiento limitado, por lo que debe considerar cuidadosamente cuánta memoria se necesita para las aplicaciones y los datos. Consulta Memoria disponible para obtener más información.

Cuando envíe datos aguas abajo desde la nube al dispositivo brownfield, asegúrese de que el módulo guardian tenga suficiente espacio para almacenar los datos. Es posible que deba enviar datos en fragmentos, como se muestra en la muestra de HTTPS_Curl_Multi del repositorio de muestras de GitHub de Azure Sphere.

Cuando envíe datos aguas arriba desde el dispositivo brownfield al módulo guardian, asegúrese de que su aplicación puede manejar errores de conectividad ascendente. Si el dispositivo brownfield proporciona telemetría continua, debe tener en cuenta qué datos debe conservar y enviar posteriormente a la nube cuando se restaura la conectividad. Vea el ejemplo de galería de almacenamiento y reenvío, que muestra cómo usar el almacenamiento local para almacenar temporalmente en caché los datos antes de cargarlos.

Consumo de energía

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

Puedes reducir significativamente el consumo de energía y, por tanto, aumentar la duración de la batería, ya sea colocando el dispositivo en estado de apagado cuando está inactivo o configurando un perfil de energía. Consulta Administrar el estado de apagado y Establecer perfiles de energía para obtener más información.