Entrada de datos de telemetría y conectividad de dispositivo
Importante
Se ha publicado una nueva versión del servicio Azure Digital Twins. A la luz de las funcionalidades ampliadas del nuevo servicio, se ha retirado el servicio Azure Digital Twins original (descrito en este conjunto de documentación).
Para ver la documentación del nuevo servicio, visite la documentación activa de Azure Digital Twins.
Los datos de telemetría enviados por los dispositivos y sensores son la columna de cualquier solución de IoT. La manera de representar estos diferentes recursos y de administrarlos en el contexto de una ubicación es una de las principales preocupaciones en el desarrollo de aplicaciones de IoT. Azure Digital Twins simplifica el proceso de desarrollar soluciones de IoT al unir dispositivos y sensores con un grafo de inteligencia espacial.
Para empezar, cree un recurso de Azure IoT Hub en la raíz del grafo espacial. El recurso IoT Hub permite a todos los dispositivos situados debajo del espacio raíz enviar mensajes. Después de crear la instancia de IoT Hub, registre los dispositivos con sensores dentro de la instancia de Digital Twins. Los dispositivos pueden enviar datos a un servicio de Digital Twins mediante el SDK de dispositivo IoT de Azure.
Para obtener una guía paso a paso sobre cómo incorporar dispositivos, lea el tutorial para implementar y configurar Digital Twins. En resumen, los pasos son:
- Implementar una instancia de Digital Twins desde Azure Portal
- Crear espacios en el grafo
- Crear un recurso de IoT Hub y asignarlo a un espacio en el grafo
- Crear dispositivos y sensores en el grafo y asignarlos a los espacios creados en los pasos anteriores
- Crear un buscador de coincidencias para filtrar los mensajes de telemetría en función de las condiciones
- Cree una función definida por el usuario y asígnela a un espacio en el gráfico para el procesamiento personalizado de los mensajes de telemetría.
- Asignar un rol para permitir que la función definida por el usuario acceda a los datos del grafo
- Obtener la cadena de conexión del dispositivo de IoT Hub de las API de administración de Digital Twins
- Configurar la cadena de conexión de dispositivo en el dispositivo con el SDK de dispositivo IoT de Azure
En las siguientes secciones, va a aprender a obtener la cadena de conexión del dispositivo de IoT Hub de la API de administración de Digital Twins. También aprenderá a utilizar el formato de mensajes de telemetría de IoT Hub para enviar telemetría basada en sensores. Digital Twins requiere que cada pieza de telemetría que recibe esté asociada a un sensor dentro del grafo espacial. Este requisito garantiza que los datos se procesen y enruten dentro del contexto espacial apropiado.
Obtención de la cadena de conexión del dispositivo de IoT Hub de la API de administración
En los ejemplos siguientes, YOUR_MANAGEMENT_API_URL
hace referencia al identificador URI de la API de Digital Twins:
https://YOUR_INSTANCE_NAME.YOUR_LOCATION.azuresmartspaces.net/management/api/v1.0
Nombre | Reemplazar por |
---|---|
YOUR_INSTANCE_NAME | El nombre de la instancia de Azure Digital Twins |
YOUR_LOCATION | La región en la que está hospedada la instancia |
Haga una llamada GET en la API de dispositivo con un parámetro includes=ConnectionString
para obtener la cadena de conexión del dispositivo de IoT Hub. Puede filtrar por GUID de dispositivo o por el identificador de hardware para encontrar el dispositivo específico.
YOUR_MANAGEMENT_API_URL/devices/YOUR_DEVICE_GUID?includes=ConnectionString
Parámetro | Reemplazar por |
---|---|
YOUR_DEVICE_GUID | El identificador del dispositivo |
YOUR_MANAGEMENT_API_URL/devices?HardwareIds=YOUR_DEVICE_HARDWARE_ID&includes=ConnectionString
Valor del parámetro | Reemplazar por |
---|---|
YOUR_DEVICE_HARDWARE_ID | El id. del hardware del dispositivo |
En la carga de la respuesta, copie la propiedad connectionString del dispositivo. Se usa cuando se llama al SDK de dispositivo IoT de Azure para enviar datos a Digital Twins.
Mensaje del dispositivo a la nube
Puede personalizar la carga y el formato del mensaje del dispositivo para ajustarse a las necesidades de su solución. Utilice cualquier contrato de datos que se pueda serializar en una matriz de bytes o secuencia que sea compatible con la clase de mensaje de cliente de dispositivo IoT de Azure, Message(byte[] byteArray). El mensaje puede estar en un formato binario personalizado de su elección, siempre que descodifique el contrato de datos en una función definida por el usuario correspondiente. Hay solo un requisito para un mensaje del dispositivo a la nube. Mantenga un conjunto de propiedades para asegurarse de que el mensaje se enruta correctamente al motor de procesamiento.
Propiedades de telemetría
El contenido de la carga de un mensaje pueden ser datos arbitrarios con un tamaño de hasta 256 KB. Se esperan algunos requisitos para las propiedades del tipo Message.Properties
. La tabla muestra las propiedades obligatorias y opcionales admitidas por el sistema.
Nombre de propiedad | Value | Obligatorio | Descripción |
---|---|---|---|
DigitalTwins-Telemetry | 1.0 | Sí | Valor constante que identifica un mensaje en el sistema. |
DigitalTwins-SensorHardwareId | string(72) |
Yes | Identificador único del sensor que envía el mensaje. Este valor debe coincidir con la propiedad HardwareId de un objeto para que el sistema lo procese. Por ejemplo, 00FF0643BE88-CO2 . |
CreationTimeUtc | string |
No | Cadena de fecha con formato según ISO 8601 que identifica el tiempo de muestreo de la carga. Por ejemplo, 2018-09-20T07:35:00.8587882-07:00 . |
CorrelationId | string |
No | UUID que puede usarse para el seguimiento de eventos en todo el sistema. Por ejemplo, cec16751-ab27-405d-8fe6-c68e1412ce1f . |
Envío de mensajes a Digital Twins
Use la llamada SendEventAsync o SendEventBatchAsync de DeviceClient para enviar el mensaje a Digital Twins.
Pasos siguientes
- Para más información sobre el procesamiento de datos de Azure Digital Twins y las funcionalidades definidas por el usuario, lea Procesamiento de datos de Azure Digital Twins y funciones definidas por el usuario.