Compartir a través de


Metadatos de información de dispositivo en la solución preconfigurada de supervisión remota

La solución preconfigurada de supervisión remota de Azure IoT Suite muestra un enfoque para administrar los metadatos de dispositivo. En este artículo se describe el enfoque que adopta esta solución para que comprenda:

  • Qué metadatos de dispositivo almacena la solución.
  • Cómo la solución administra los metadatos de dispositivo.

Context

La solución preconfigurada de supervisión remota usa Azure IoT Hub para que los dispositivos puedan enviar datos a la nube. La solución almacena información acerca de los dispositivos en tres ubicaciones diferentes:

Location Información almacenada Implementación
Registro de identidad Identificador de dispositivo, claves de autenticación, estado habilitado Integrado en IoT Hub
Dispositivos gemelos Metadatos: propiedades notificadas, propiedades deseadas, etiquetas Integrado en IoT Hub
Cosmos DB Historial de comandos y métodos Personalizado para la solución

IoT Hub incluye un registro de identidad de dispositivo para administrar el acceso a una instancia de IoT Hub y usa dispositivos gemelos para administrar los metadatos del dispositivo. También hay un registro de dispositivo específico de la solución de supervisión remota que almacena el historial de comandos y métodos. La solución de supervisión remota usa una base de datos de Cosmos DB para implementar un almacén personalizado para el historial de comandos y métodos.

Nota

La solución preconfigurada de supervisión remota mantiene sincronizado el registro de identidad del dispositivo con la información de la base de datos de Cosmos DB. Ambos utilizan el mismo id. de dispositivo para identificar de forma única cada dispositivo conectado a su centro de IoT.

Metadatos del dispositivo

IoT Hub mantiene un dispositivo gemelo para cada dispositivo simulado y físico conectado a una solución de supervisión remota. La solución utiliza dispositivos gemelos para administrar los metadatos asociados con los dispositivos. Un dispositivo gemelo es un documento JSON mantenido por IoT Hub. La solución utiliza la API de IoT Hub para interactuar con los dispositivos gemelos.

Un dispositivo gemelo almacena tres tipos de metadatos:

  • Un dispositivo envía las propiedades notificadas a una instancia de IoT Hub. En la solución de supervisión remota, los dispositivos simulados envían las propiedades notificadas durante el inicio y en respuesta a comandos y métodos para cambiar el estado del dispositivo. Puede ver las propiedades notificadas en la lista de dispositivos y en Detalles del dispositivo en el portal de la solución. Las propiedades notificadas son de solo lectura.
  • Los dispositivos recuperan Las propiedades deseadas desde IoT Hub. Es responsabilidad del dispositivo realizar cualquier cambio de configuración necesario en el mismo. También es responsabilidad del dispositivo notificar el cambio al concentrador como una propiedad notificada. Puede establecer un valor de propiedad deseada través del portal de la solución.
  • Las etiquetas solo existen en el dispositivo gemelo y nunca se sincronizan con un dispositivo. Puede establecer los valores de etiqueta en el portal de la solución y usarlos al filtrar la lista de dispositivos. La solución también utiliza una etiqueta para identificar el icono para mostrar de un dispositivo en el portal de la solución.

Las propiedades notificadas de ejemplo de los dispositivos simulados incluyen fabricante, número de modelo, latitud y longitud. Los dispositivos simulados también devuelven la lista de métodos admitidos como una propiedad notificada.

Nota

El código del dispositivo simulado solo usa las propiedades deseadas Desired.Config.TemperatureMeanValue y Desired.Config.TelemetryInterval para actualizar las propiedades notificadas devueltas a IoT Hub. Todos los demás cambios de propiedades deseadas se omiten.

Un documento JSON de metadatos de información de dispositivo almacenado en la base de datos de Cosmos DB del Registro de dispositivos tiene la siguiente estructura:

{
  "DeviceProperties": {
    "DeviceID": "deviceid1",
    "HubEnabledState": null,
    "CreatedTime": "2016-04-25T23:54:01.313802Z",
    "DeviceState": "normal",
    "UpdatedTime": null
    },
  "SystemProperties": {
    "ICCID": null
  },
  "Commands": [],
  "CommandHistory": [],
  "IsSimulatedDevice": false,
  "id": "fe81a81c-bcbc-4970-81f4-7f12f2d8bda8"
}

Nota

La información de dispositivo también puede incluir metadatos para describir la telemetría que envía el dispositivo a IoT Hub. La solución de supervisión remota utiliza estos metadatos de telemetría para personalizar cómo se muestra en el panel la telemetría dinámica.

Ciclo de vida

Cuando se crea por primera vez un dispositivo en el portal de la solución, esta crea una entrada en la base de datos de Cosmos DB para almacenar el historial de comandos y métodos. En este punto, la solución también crea una entrada para el dispositivo en el Registro de identidad del dispositivo que genera las claves que usa el dispositivo para autenticarse en IoT Hub. También crea un dispositivo gemelo.

Cuando un dispositivo se conecta por primera vez a la solución, envía las propiedades notificadas y un mensaje de información de dispositivo. Los valores de las propiedades notificadas se guardan automáticamente en el dispositivo gemelo. Las propiedades notificadas incluyen el fabricante del dispositivo, el número de modelo, el número de serie y una lista de los métodos admitidos. El mensaje de información del dispositivo incluye la lista de los comandos que admite el dispositivo e información sobre los parámetros de comando. Cuando la solución recibe este mensaje, actualiza la información de dispositivo en la base de datos de Cosmos DB.

Visualización y edición de la información de dispositivo en el portal de solución

En la lista de dispositivos del portal de la solución, aparecen, de forma predeterminada, las siguientes propiedades de dispositivo en forma de columnas: Estado, Id. de dispositivo, Fabricante, Número de modelo, Número de serie, Firmware, Plataforma, Procesador y RAM instalada. Puede personalizar las columnas haciendo clic en Editor de columnas. Las propiedades Latitud y Longitud controlan la ubicación en el mapa de Bing incluido en el panel.

Editor de columnas en la lista de dispositivos

En el panel Detalles del dispositivo del portal de la solución, puede editar las propiedades deseadas y las etiquetas (las propiedades notificadas son de solo lectura).

Panel de detalles del dispositivo

Puede usar el portal de solución para quitar un dispositivo de la solución. Cuando se quita un dispositivo, la solución elimina la entrada de dispositivo del registro de identidad y, a continuación, elimina el dispositivo gemelo. La solución también elimina la información relacionada con el dispositivo de la base de datos de Cosmos DB. Para poder quitar un dispositivo, debe deshabilitarlo.

Quitar dispositivo

Procesamiento de mensajes de información de dispositivo

Los mensajes de información de dispositivo enviados por un dispositivo son distintos de los mensajes de telemetría. Los mensajes de información de dispositivo incluyen los comandos a los que un dispositivo puede responder y el historial de comandos. El propio IoT Hub no conoce los metadatos contenidos en un mensaje de información de dispositivo y procesa el mensaje de la misma manera que cualquier mensaje del dispositivo a la nube. En la solución de supervisión remota, un trabajo de Azure Stream Analytics (ASA) lee los mensajes de IoT Hub. El trabajo DeviceInfo de Stream Analytics filtra los mensajes que contienen "ObjectType": "DeviceInfo" y los reenvía a la instancia del host EventProcessorHost, que se ejecuta en un trabajo web. La lógica de la instancia de EventProcessorHost usa el identificador de dispositivo para buscar el registro de Cosmos DB para el dispositivo específico y actualizar el registro.

Nota

Un mensaje de información de dispositivo es un mensaje estándar del dispositivo a la nube. La solución distingue entre mensajes de información de dispositivo y mensajes de telemetría mediante consultas ASA.

Pasos siguientes

Ahora que ya ha terminado de aprender cómo personalizar las soluciones preconfiguradas, puede explorar algunas de las características y funcionalidades de las soluciones preconfiguradas del conjunto de aplicaciones de IoT: