Administración automática de dispositivos y módulos IoT mediante Azure Portal

La administración de dispositivos automática de Azure IoT Hub automatiza muchas de las tareas repetitivas y complejas de administración de grandes flotas de dispositivos. Con la administración de dispositivos automática, puede tener como destino un conjunto de dispositivos según sus propiedades, definir una configuración que se quiera y luego permitir que IoT Hub actualice los dispositivos cuando estén dentro del ámbito. Esta actualización se realiza mediante una configuración automática de dispositivos o una configuración automática de módulos, que permite resumir la integridad y el cumplimiento, administrar combinaciones y conflictos e implementar configuraciones por fases.

Nota

Las características descritas en este artículo solo están disponibles en el nivel estándar de IoT Hub. Para obtener más información sobre los niveles Básico y Estándar o Gratis de IoT Hub, consulte Elección del nivel adecuado de IoT Hub para la solución.

La administración automática de dispositivos funciona mediante la actualización de un conjunto de dispositivos o módulos gemelos con las propiedades deseadas y la elaboración de un informe de resumen basado en las propiedades notificadas de los gemelos. Presenta una nueva clase y documento JSON, llamado Configuración, que tiene tres partes:

  • La condición de destino define el ámbito de los dispositivos o módulos gemelos que se van a actualizar. La condición de destino se especifica como una consulta de las propiedades notificadas o de las etiquetas de los gemelos.

  • El contenido de destino define las propiedades deseadas que se van a agregar o actualizar en los dispositivos o módulos gemelos de destino. El contenido incluye una ruta de acceso a la sección de las propiedades que desea cambiar.

  • Las métricas definen el número de resúmenes de los distintos estados de configuración, como Correcto, En curso y Error. Las métricas personalizadas se especifican como consultas de las propiedades notificadas de los gemelos. Las métricas del sistema son las métricas predeterminadas que miden el estado de actualización de los gemelos, como el número de gemelos de destino y el número de gemelos que se han actualizado correctamente.

Las configuraciones automáticas se ejecutan por primera vez poco después de crear la configuración y posteriormente en intervalos de cinco minutos. Las consultas de métricas se ejecutan cada vez que se ejecuta la configuración automática. Se admiten un máximo de 100 configuraciones automáticas en centros de IoT de nivel estándar; diez en los centros de IoT de nivel gratis. También se aplican límites. Para más información, consulte Cuotas y límites.

Implementación de gemelos

Las configuraciones automáticas de dispositivos requieren el uso de dispositivos gemelos para sincronizar el estado entre la nube y los dispositivos. Para más información, consulte Información y uso de dispositivos gemelos en IoT Hub.

Las configuraciones automáticas de módulos requieren el uso de módulos gemelos para sincronizar el estado entre la nube y los módulos. Para más información, consulte Uso de módulos gemelos en IoT Hub.

Uso de etiquetas para identificar los gemelos

Antes de crear una configuración, debe especificar a qué dispositivos o módulos quiere que se aplique. Azure IoT Hub identifica dispositivos mediante etiquetas en el dispositivo gemelo e identifica módulos mediante etiquetas en el módulo gemelo. Cada dispositivo o módulo puede tener varias etiquetas, y puede definirlas de cualquier manera que tenga sentido para su solución. Por ejemplo, si administra dispositivos en distintas ubicaciones, agregue las siguientes etiquetas a un dispositivo gemelo:

"tags": {
	"location": {
		"state": "Washington",
		"city": "Tacoma"
    }
},

Creación de una configuración

Puede crear un máximo de 100 configuraciones automáticas en centros de IoT de nivel estándar; diez en los centros de IoT de nivel gratis. Para más información, consulte Cuotas y límites.

  1. En Azure Portal, vaya hasta su instancia de IoT Hub.

  2. En el panel de navegación de la izquierda, seleccione Configuraciones e implementaciones.

  3. Seleccione Agregar y elija Configuración de dispositivos gemelos o Configuración de módulo gemelo en la lista desplegable.

    Screenshot showing how to add a configuration.

Hay cinco pasos para crear una configuración. En las siguientes secciones se abordan cada uno de ellos.

Nombre y etiqueta

  1. Asigne a su configuración un nombre exclusivo de hasta 128 caracteres. Se permiten letras minúsculas y los siguientes caracteres especiales: -+%_*!'. No se permiten espacios.

  2. Agregue etiquetas para realizar un mejor seguimiento de las configuraciones. Las etiquetas son pares de nombre y valor que describen la configuración. Por ejemplo, HostPlatform, Linux o Version, 3.0.1.

  3. Haga clic en Siguiente para ir al paso siguiente.

Configuración de gemelos

En esta sección se define el contenido que se debe establecer en las propiedades que desee de los dispositivos o módulos gemelos de destino. Hay dos entradas para cada conjunto de configuración. La primera es la ruta de acceso del gemelo, que coincide con la ruta de acceso a la sección JSON dentro de las propiedades deseadas del gemelo que se van a configurar. La segunda es el contenido JSON que se va a insertar en dicha sección.

Por ejemplo, puede establecer la ruta de acceso del gemelo en properties.desired.chiller-water y, a continuación, proporcionar el siguiente contenido JSON:

{
  "temperature": 66,
  "pressure": 28
}

Screenshot of setting the device or module twin property and json content.

Para definir opciones de configuración individuales también puede especificar la ruta de acceso completa del gemelo y proporcionar el valor sin corchetes. Por ejemplo, con la ruta de acceso del gemelo properties.desired.chiller-water.temperature, establezca el contenido en 66. A continuación, cree un nuevo ajuste del gemelo para la propiedad pressure.

Si dos o más configuraciones tienen como destino la misma ruta de acceso del gemelo, se aplicará el contenido de la configuración con la prioridad más alta (la prioridad se define en el paso 4).

Si desea quitar una propiedad existente, especifique el valor de la propiedad en null.

Puede añadir opciones de configuración adicionales si selecciona Agregar configuración de dispositivo gemelo o Agregar configuración de módulo gemelo.

Dispositivos o módulos de destino

Use la propiedad tags de los gemelos para dirigirse a los dispositivos o módulos específicos que deberían recibir esta configuración. También puede definir como destino las propiedades notificadas de los gemelos.

Las configuraciones automáticas de dispositivos solo pueden tener como destino etiquetas de dispositivos gemelos, y las configuraciones automáticas de módulos solo pueden tener como destino etiquetas de módulos gemelos.

Dado que varias configuraciones pueden tener como destino el mismo dispositivo o el mismo módulo, debe dar a cada configuración un número de prioridad. En caso de conflicto, gana la configuración con la prioridad más alta.

  1. Especifique un número entero positivo en el valor de Prioridad de la configuración. El valor numérico más alto se considera la máxima prioridad. Si dos configuraciones tienen el mismo número de prioridad, gana la que se creó más recientemente.

  2. Escriba una condición de destino para determinar qué dispositivos o módulos se establecerán como destino de esta configuración. La condición se basa en las etiquetas de los gemelos o en las propiedades notificadas de los gemelos, y debe coincidir con el formato de la expresión.

    Para la configuración automática de dispositivos, puede especificar solo la etiqueta o la propiedad notificada de destino. Por ejemplo, tags.environment='test' o properties.reported.chillerProperties.model='4000x'. Puede especificar * para dirigirse a todos los dispositivos.

    Para la configuración automática de módulos, use una consulta para especificar etiquetas o propiedades notificadas de los módulos registrados en IoT Hub. Por ejemplo, from devices.modules where tags.environment='test' o from devices.modules where properties.reported.chillerProperties.model='4000x'. El carácter comodín no se puede usar para establecer como destino todos los módulos.

Métricas

Las métricas proporcionan el número de resúmenes de los distintos estados que un dispositivo o módulo puede notificar después de aplicar el contenido de configuración. Por ejemplo, puede crear una métrica para los cambios de configuración pendientes, una métrica para los errores y una métrica para los cambios de configuración correctos.

Cada configuración puede tener hasta cinco métricas personalizadas.

  1. Escriba un nombre para Nombre de métrica.

  2. Escriba una consulta para Criterios de las métricas. La consulta se basa en las propiedades notificadas de dispositivos gemelos. La métrica representa el número de filas devueltas por la consulta.

    Por ejemplo:

    SELECT deviceId FROM devices 
      WHERE properties.reported.chillerWaterSettings.status='pending'
    

    Puede incluir una cláusula que se haya aplicado a la configuración, como por ejemplo:

    /* Include the double brackets. */
    SELECT deviceId FROM devices 
      WHERE configurations.[[yourconfigname]].status='Applied'
    

    Si va a crear una métrica para informar sobre los módulos configurados, seleccione moduleId de devices.modules. Por ejemplo:

    SELECT deviceId, moduleId FROM devices.modules
      WHERE properties.reported.lastDesiredStatus.code = 200
    

Revisión de la configuración

Revise la información de configuración y seleccione Enviar.

Supervisión de una configuración

Para ver los detalles de una configuración y supervisar los dispositivos que la ejecutan, siga estos pasos:

  1. En Azure Portal, vaya hasta su instancia de IoT Hub.

  2. Seleccione Configuraciones en Administración de dispositivos.

  3. Examine la lista de configuración. Para cada configuración, puede ver los detalles siguientes:

    • ID (Identificador): nombre de la configuración.

    • Condición de destino: consulta que se utiliza para definir los dispositivos o módulos de destino.

    • Priority (Prioridad): el número de prioridad asignado a la configuración.

    • Creation time (Hora de creación): la marca de tiempo de cuando se creó la configuración. Esta marca de tiempo se utiliza para dirimir cuando dos configuraciones tienen la misma prioridad.

    • System metrics (Métricas del sistema): las métricas calculadas por IoT Hub y que los desarrolladores no pueden personalizar. Los destinos especifican el número de dispositivos gemelos que coinciden con la condición de destino. Aplica el número especificado de dispositivos gemelos modificados por la configuración, que puede incluir modificaciones parciales en caso de que una configuración independiente de mayor prioridad también realice cambios.

    • Métricas personalizadas: métricas especificadas por el desarrollador como consultas de las propiedades notificadas de los gemelos. Se pueden definir hasta cinco métricas personalizadas por configuración.

  4. Seleccione la configuración que desea supervisar.

  5. Inspeccione los detalles de configuración. Puede utilizar las pestañas para ver detalles específicos sobre los dispositivos que han recibido la configuración.

    • Condición de destino o Módulos de destino: dispositivos o módulos que coinciden con la condición de destino.

    • Metrics (Métricas): una lista de métricas del sistema y métricas personalizadas. Para ver una lista de los dispositivos o módulos que se tienen en cuenta para cada métrica, seleccione la métrica en el menú desplegable y luego seleccione Ver dispositivos o Ver módulos.

    • Etiquetas: pares clave-valor utilizados para describir una configuración. Las etiquetas no tienen ningún impacto en la funcionalidad.

    • Configuración de dispositivos gemelos o Configuración de módulos gemelos: ajustes de gemelos definidos en la configuración, si los hay.

Modificación de una configuración

Cuando se modifica una configuración, los cambios se replican inmediatamente a todos los dispositivos o módulos seleccionados.

Si actualiza la condición de destino, se producen las siguientes actualizaciones:

  • Si un gemelo no cumplía la condición de destino anterior, pero cumple la nueva condición de destino y esta configuración es la prioridad más alta para ese gemelo, se aplica esta configuración.

  • Si un gemelo que ejecuta actualmente esta configuración ya no cumple la condición de destino, los valores de la configuración se quitarán y el gemelo se modificará con la configuración de la siguiente prioridad más alta.

  • Si un gemelo que ejecuta actualmente esta configuración ya no cumple la condición de destino ni la condición de destino de cualquier otra configuración, los valores de la configuración se quitarán y no se realizará ningún otro cambio en el gemelo.

Para modificar una configuración, siga estos pasos:

  1. En Azure Portal, vaya hasta su instancia de IoT Hub.

  2. Seleccione Configuraciones e implementaciones en Administración de dispositivos.

  3. Seleccione la configuración que desea modificar.

  4. Realice las actualizaciones en los campos siguientes:

    • Priority
    • Métricas
    • Condición de destino
    • Etiquetas
  5. Seleccione Guardar.

  6. Siga los pasos de Supervisión de una configuración para observar la implementación de los cambios.

Eliminación de una configuración

Al eliminar una configuración, los dispositivos gemelos adoptan la configuración con la siguiente prioridad más alta. Si los dispositivos gemelos no cumplen la condición de destino de cualquier otra configuración, no se aplica ningún otro ajuste.

  1. En Azure Portal, vaya hasta su instancia de IoT Hub.

  2. Seleccione Configuraciones e implementaciones en Administración de dispositivos.

  3. Utilice la casilla de verificación para seleccionar la configuración que desea eliminar.

  4. Seleccione Eliminar.

  5. Un símbolo del sistema le pedirá que confirme la operación.

Pasos siguientes

En este artículo, ha aprendido cómo configurar y supervisar dispositivos IoT a escala.

Para aprender a administrar identidades de dispositivo de IoT Hub de forma masiva, consulte Importación y exportación de identidades de dispositivo de IoT Hub de forma masiva.