Definición de un nuevo tipo de dispositivo IoT en la aplicación de Azure IoT Central

Una plantilla de dispositivo es un plano técnico que define las características y los comportamientos de un tipo de dispositivo que se conecta a una aplicación de Azure IoT Central.

En este artículo se describe cómo crear una plantilla de dispositivo en IoT Central. Por ejemplo, puede crear una plantilla de dispositivo para un sensor que envía telemetría, como la temperatura, y propiedades, como la ubicación. A partir de esta plantilla de dispositivo, un operador puede crear y conectar dispositivos reales.

En la captura de pantalla siguiente se muestra un ejemplo de una plantilla de dispositivo:

Captura de pantalla en la que se muestra una plantilla de dispositivo.

La plantilla de dispositivo contiene las secciones siguientes:

  • Modelo: use el modelo para definir cómo interactúa el dispositivo con la aplicación de IoT Central. Cada modelo tiene un identificador de modelo único y define las funcionalidades del dispositivo. Las funcionalidades se agrupan en interfaces. Las interfaces permiten reutilizar componentes entre modelos o usar la herencia para ampliar el conjunto de funcionalidades.
  • Datos sin procesar: vea los datos sin procesar enviados por el dispositivo de vista previa designado. Esta vista es útil al depurar o solucionar problemas de una plantilla de dispositivo.
  • Vistas: use las vistas para visualizar los datos del dispositivo y los formularios para administrar y controlar un dispositivo.

Para más información, consulte ¿Qué son las plantillas de dispositivo?.

Para obtener información sobre cómo administrar plantillas de dispositivo mediante la API de REST de IoT Central, consulte Uso de la API de REST de IoT Central para administrar plantillas de dispositivo.

Creación de una plantilla de dispositivo

Tiene varias opciones para crear plantillas de dispositivo:

  • Diseñe la plantilla de dispositivo en la GUI de IoT Central.
  • Importe una plantilla de dispositivo de la lista de plantillas de dispositivo destacadas. También puede personalizar la plantilla de dispositivos según sus requisitos en IoT Central.
  • Cuando el dispositivo se conecta a IoT Central, que envíe el identificador de modelo del modelo que implementa. IoT Central usa el identificador de modelo para recuperar el modelo del repositorio de modelos y crear una plantilla de dispositivo. Agregue las propiedades y las vistas de la nube que la aplicación de IoT Central necesita a la plantilla del dispositivo.
  • Cuando el dispositivo se conecte a IoT Central, deje que IoT Central genere automáticamente una definición de plantilla de dispositivo a partir de los datos que envía el dispositivo.
  • Cree un modelo de dispositivo utilizando el Lenguaje de Definición de Gemelos Digitales (DTDL) V2 y la extensión DTDL de IoT Central. Importe manualmente el modelo de dispositivo en la aplicación de IoT Central. Después, agregue las propiedades y las vistas en la nube que la aplicación de IoT Central necesita.
  • También puede agregar plantillas de dispositivo a una aplicación de IoT Central mediante Uso de la API de REST de IoT Central para administrar plantillas de dispositivo.

Nota:

En cada caso, el código del dispositivo debe implementar las funcionalidades definidas en el modelo. La implementación del código de dispositivo no se ve afectada por las secciones de propiedades y vistas en la nube de la plantilla de dispositivo.

En esta sección se muestra cómo importar una plantilla de dispositivo desde la lista de plantillas de dispositivo destacadas y cómo personalizarla mediante la GUI de IoT Central. En este ejemplo se usa la plantilla del dispositivoOnset Hobo MX-100 Temp Sensor de la lista de plantillas de dispositivo destacadas:

  1. Para agregar una nueva plantilla de dispositivo, seleccione + New (+ Nuevo) en la página Device templates (Plantillas de dispositivo).
  2. En la página Seleccionar tipo, desplácese hacia abajo hasta que encuentre el icono Onset Hobo MX-100 Temp Sensor en la sección Plantillas de dispositivo destacadas.
  3. Seleccione el icono Onset Hobo MX-100 Temp Sensor y, después, seleccione Siguiente: Revisar.
  4. En la página Revisar, seleccione Crear. El nombre de la plantilla que creó es Hobo MX-100. El modelo incluye componentes como Hobo MX-100 e IotDevice. Los componentes definen las funcionalidades de un dispositivo Hobo MX-100. Las funcionalidades incluyen la telemetría, las propiedades y los comandos. Este dispositivo solo tiene funcionalidades de telemetría.

Captura de pantalla en la que se muestra una plantilla de dispositivo.

Generación automática de una plantilla de dispositivo

También puede crear automáticamente una plantilla de dispositivo a partir de un dispositivo actualmente sin asignar. IoT Central usa los valores de propiedad y telemetría que envía el dispositivo para deducir un modelo de dispositivo.

Nota:

Actualmente, esta característica en versión preliminar no puede usar la telemetría ni las propiedades de los componentes. Solo puede generar funcionalidades a partir de la telemetría y las propiedades raíz.

Los pasos siguientes muestran cómo usar esta característica:

  1. Conecte el dispositivo a IoT Central y empiece a enviar los datos. Cuando vea los datos en la vista Datos sin procesar, seleccione Auto-create template (Crear plantilla automáticamente) en la lista desplegable Administrar plantilla:

    Captura de pantalla en la que se muestra los datos sin procesar del dispositivo sin signo.

  2. En la página Vista previa de los datos, realice los cambios necesarios en los datos sin procesar y seleccione Crear plantilla:

    Captura de pantalla en la que se muestra el cambio de vista previa de los datos que le permite editar los datos que usa IoT Central para generar la plantilla de dispositivo.

  3. IoT Central genera una plantilla basada en el formato de los datos mostrados en la página Vista previa de los datos y le asigna el dispositivo. Puede realizar más cambios a la plantilla de dispositivo, como cambiarle el nombre o agregar funcionalidades, en la página Plantillas de dispositivo:

    Captura de pantalla en la que se muestra cómo cambiar el nombre de la plantilla de dispositivo generada automáticamente.

Administración de una plantilla de dispositivo

Puede cambiar el nombre o eliminar una plantilla desde la página del editor de la plantilla.

Una vez definida la plantilla, puede publicarla. Hasta que se publique la plantilla, no podrá conectar un dispositivo a ella y no aparecerá en la página Dispositivos.

Para más información sobre cómo modificar y realizar un control de versiones de plantillas de dispositivo, consulte Edición de una plantilla de dispositivo existente.

Modelos

El modelo define cómo interactúa el dispositivo con la aplicación de IoT Central. Personalice el modelo con más funcionalidades, agregue interfaces para heredar funcionalidades o agregue nuevos componentes basados en otras interfaces.

Para crear un modelo de dispositivo, puede:

  • Usar IoT Central para crear un modelo personalizado desde cero.
  • Importar un modelo de DTDL desde un archivo JSON. Un creador de dispositivos puede utilizar Visual Studio Code para crear un modelo de dispositivo para su aplicación.
  • Seleccione uno de los dispositivos de la lista de plantillas de dispositivo destacadas. Esta opción importa el modelo de dispositivo que el fabricante publicó para este dispositivo. Un modelo de dispositivo importado como este se publica automáticamente.
  1. Para ver el identificador del modelo, seleccione la interfaz raíz en el modelo y seleccione Editar identidad:

    Captura de pantalla en la que se muestra el identificador de modelo de la interfaz raíz de la plantilla de dispositivo.

  2. Para ver el identificador de componente, seleccione Editar identidad en cualquiera de las interfaces de componente del modelo.

Para más información, consulte la Guía de modelado de IoT Plug and Play.

Interfaces y componentes

Para ver y administrar las interfaces en el modelo de dispositivo:

  1. Vaya a la página Plantillas de dispositivo y seleccione la plantilla de dispositivo que ha creado. Las interfaces se muestran en la sección Modelos de la plantilla de dispositivo. En la captura de pantalla siguiente se muestra un ejemplo de la interfaz raíz de Sensor Controller en una plantilla de dispositivo:

    Captura de pantalla en la que se muestra la interfaz raíz de un modelo

  2. Seleccione los puntos suspensivos para agregar una interfaz heredada o un componente a la interfaz raíz. Para más información sobre las interfaces y los componentes, vea Varios componentes en la guía de modelado.

    Captura de pantalla que muestra cómo agregar una interfaz o un componente.

  3. Para exportar un modelo o una interfaz, seleccione Exportar.

  4. Para ver o editar el DTDL de una interfaz o una funcionalidad, seleccione Edit DTDL (Editar DTDL).

Funcionalidades

Seleccione + Agregar funcionalidad para agregar una funcionalidad a una interfaz o componente. Por ejemplo, puede agregar la funcionalidad Target Temperature (Temperatura de destino) a un componente SensorTemp.

Captura de pantalla que muestra cómo agregar una capacidad.

Telemetría

La telemetría es un flujo de valores enviados desde el dispositivo, normalmente desde un sensor. Por ejemplo, un sensor podría informar de la temperatura ambiente como se muestra en la siguiente captura de pantalla:

Captura de pantalla que muestra cómo agregar un tipo de telemetría.

En la siguiente tabla se muestran las opciones de configuración de una funcionalidad de telemetría:

Campo Description
Nombre para mostrar Nombre para mostrar del valor de telemetría que se usa en las vistas y formularios.
Nombre El nombre del campo en el mensaje de telemetría. IoT Central genera un valor para este campo a partir del nombre para mostrar, pero puede elegir su propio valor si es necesario. Este campo debe ser alfanumérico.
Capability Type (Tipo de funcionalidad) Telemetría.
Semantic Type (Tipo semántico) El tipo semántico de la telemetría, como la temperatura, el estado o el evento. La elección del tipo semántico determina cuál de los campos siguientes está disponible.
Schema El tipo de datos de telemetría, como doble, cadena o vector. El tipo semántico determina las opciones disponibles. El esquema no está disponible para los tipos semánticos de evento y estado.
severity Solo está disponible para el tipo semántico de evento. Los niveles de gravedad son Error, Información o Advertencia.
State Values (Valores de estado) Solo está disponible para el tipo semántico de estado. Defina los valores de estado posibles, cada uno de los cuales tiene el nombre para mostrar, el nombre, el tipo de enumeración y el valor.
Unidad Unidad para el valor de telemetría, como km/h, % o °C.
Display Unit (Unidad de visualización) Unidad de visualización para usarse en vistas y formularios.
Comentario Cualquier comentario sobre la funcionalidad de telemetría.
Descripción Una descripción de la funcionalidad de telemetría.

Propiedades

Las propiedades representan valores de un momento dado. Puede establecer las propiedades que se pueden editar desde IoT Central. Por ejemplo, un dispositivo puede usar una propiedad grabable para permitir que un operador establezca la temperatura de destino como se muestra en la siguiente captura de pantalla:

Captura de pantalla que muestra cómo agregar una propiedad.

En la siguiente tabla se muestran las opciones de configuración de una funcionalidad de propiedad:

Campo Description
Nombre para mostrar Nombre para mostrar del valor de propiedad que se usa en las vistas y formularios.
Nombre El nombre de la propiedad. IoT Central genera un valor para este campo a partir del nombre para mostrar, pero puede elegir su propio valor si es necesario. Este campo debe ser alfanumérico.
Capability Type (Tipo de funcionalidad) Propiedad.
Semantic Type (Tipo semántico) El tipo semántico de la propiedad, como la temperatura, el estado o el evento. La elección del tipo semántico determina cuál de los campos siguientes está disponible.
Schema El tipo de datos de la propiedad, como doble, cadena o vector. El tipo semántico determina las opciones disponibles. El esquema no está disponible para los tipos semánticos de evento y estado.
Editable Si la propiedad no se puede modificar, el dispositivo puede notificar los valores de la propiedad a IoT Central. Si la propiedad es escribible, el dispositivo puede informar de los valores de la propiedad a IoT Central, e IoT Central puede enviar actualizaciones de la propiedad al dispositivo.
severity Solo está disponible para el tipo semántico de evento. Los niveles de gravedad son Error, Información o Advertencia.
State Values (Valores de estado) Solo está disponible para el tipo semántico de estado. Defina los valores de estado posibles, cada uno de los cuales tiene el nombre para mostrar, el nombre, el tipo de enumeración y el valor.
Unidad Unidad para el valor de propiedad, como km/h, % o °C.
Display Unit (Unidad de visualización) Unidad de visualización para usarse en vistas y formularios.
Comentario Cualquier comentario sobre la funcionalidad de propiedad.
Descripción Una descripción de la funcionalidad de propiedad.
Color Una extensión de IoT Central a DTDL.
Valor mínimo Fijar valor mínimo - Una extensión de IoT Central a DTDL.
Valor máximo Fijar valor máximo - Una extensión de IoT Central a DTDL.
Posiciones decimales Una extensión de IoT Central a DTDL.

Comandos

Puede llamar a los comandos de dispositivo desde IoT Central. Los comandos, opcionalmente, pasan parámetros al dispositivo y reciben una respuesta del dispositivo. Por ejemplo, puede llamar a un comando para que reinicie un dispositivo en 10 segundos, como se muestra en la siguiente captura de pantalla:

Captura de pantalla que muestra cómo agregar comandos.

En la tabla siguiente se muestran las opciones de configuración de una funcionalidad de comando:

Campo Description
Nombre para mostrar Nombre para mostrar del comando que se usa en las vistas y formularios.
Nombre El nombre del comando. IoT Central genera un valor para este campo a partir del nombre para mostrar, pero puede elegir su propio valor si es necesario. Este campo debe ser alfanumérico.
Capability Type (Tipo de funcionalidad) Comando.
Queue if offline (poner en cola si no hay conexión) Si está habilitado, puede llamar al comando aunque el dispositivo esté sin conexión. Si no está habilitado, solo puede llamar al comando cuando el dispositivo esté en línea.
Comentario Cualquier comentario sobre la funcionalidad del comando.
Descripción Una descripción de la funcionalidad del comando:
Solicitud Si está habilitada, una definición del parámetro de solicitud que incluye lo siguiente: nombre, nombre para mostrar, esquema, unidad y unidad de visualización.
Response Si está habilitada, una definición de la respuesta del comando que incluye lo siguiente: nombre, nombre para mostrar, esquema, unidad y unidad de visualización.
Valor inicial Valor predeterminado del parámetro Este parámetro es una extensión de IoT Central a DTDL.

Para más información sobre la forma en que los dispositivos implementan comandos, consulte Cargas de telemetría, propiedades y comandos > Comandos y comandos de larga duración.

Comandos sin conexión

Puede elegir comandos de cola si un dispositivo está sin conexión; para ello, habilite la opción Queue if offline (Poner en cola si no está conectado) en un comando de la plantilla de dispositivo.

Esta opción usa los mensajes de la nube al dispositivo de IoT Hub para enviar notificaciones a los dispositivos. Para obtener más información, consulte el artículo de IoT Hub Envío de mensajes de la nube al dispositivo.

Los mensajes de la nube al dispositivo:

  • Son notificaciones unidireccionales al dispositivo de la solución.
  • Ofrecen la garantía de que el mensaje se entrega al menos una vez. IoT Hub conserva los mensajes de la nube al dispositivo en las colas por dispositivo, garantizando así la resistencia frente a errores de conectividad y de dispositivo.
  • Requieren que el dispositivo implemente un controlador de mensajes para procesar el mensaje de la nube al dispositivo.

Nota:

Los comandos sin conexión se marcan como durable si exporta el modelo como DTDL.

Propiedades de la nube

Use las propiedades en la nube para almacenar información acerca de los dispositivos en IoT Central. Las propiedades en la nube no se envían nunca a un dispositivo. Por ejemplo, puede utilizar las propiedades de la nube para almacenar el nombre del cliente que instaló el dispositivo, o la última fecha de servicio del dispositivo.

Captura de pantalla que muestra cómo agregar propiedades de la nube.

Sugerencia

Solo puede agregar propiedades de la nube al componente Raíz en el modelo.

En la tabla siguiente se muestran las opciones de configuración de una propiedad en la nube:

Campo Description
Nombre para mostrar Nombre para mostrar del valor de propiedad en la nube que se usa en las vistas y formularios.
Nombre El nombre de la propiedad en la nube. IoT Central genera un valor para este campo a partir del nombre para mostrar, pero puede elegir su propio valor si es necesario.
Semantic Type (Tipo semántico) El tipo semántico de la propiedad, como la temperatura, el estado o el evento. La elección del tipo semántico determina cuál de los campos siguientes está disponible.
Schema El tipo de datos de la propiedad en la nube, como doble, cadena o vector. El tipo semántico determina las opciones disponibles.

Vistas

Las vistas permiten definir vistas y formularios que permiten a un operador supervisar e interactuar con un dispositivo. Las vistas usan visualizaciones como gráficos para mostrar los valores de telemetría y propiedad.

La generación de vistas predeterminadas es una forma rápida de visualizar la información importante del dispositivo. Las tres vistas predeterminadas son las siguientes:

Vistas predeterminadas

  • Comandos: Una vista con los comandos del dispositivo, y permite a su operador enviarlos a su dispositivo.
  • Visión general: Una vista con la telemetría del dispositivo, que muestra gráficos y métricas.
  • Acerca de: Una vista con información sobre el dispositivo, que muestra sus propiedades.

Después de seleccionar Generate default views (Generar vistas predeterminadas), las vistas se agregan automáticamente a la sección Views (Vistas) de la plantilla de dispositivo.

Vistas personalizadas

Agregue vistas a una plantilla de dispositivo para permitir que los operadores visualicen un dispositivo mediante gráficos y métricas. Puede agregar sus propias vistas personalizadas a una plantilla de dispositivo.

Para agregar una vista a una plantilla de dispositivo:

  1. Vaya a la plantilla del dispositivo y seleccione Vistas.
  2. Seleccione Visualización del dispositivo.
  3. Escriba un nombre para la vista en Nombre de vista.
  4. Seleccione Start with a visual (Iniciar con un objeto visual) en Agregar iconos y elija el tipo de objeto visual para el icono. Después, seleccione Agregar icono o arrastre y coloque el objeto visual en el lienzo. Para configurar el icono, seleccione el icono de engranaje.

Captura de pantalla que muestra cómo empezar con un objeto visual.

Captura de pantalla que muestra cómo configurar un icono.

Para probar la vista, seleccione Configure preview device (Configurar la vista previa de dispositivo). Esta función le permite ver la vista tal y como la ve un operador después de publicarla. Use esta característica para asegurarse de que las vistas muestran los datos correctos. Elija entre las siguientes opciones:

  • Ningún dispositivo de versión preliminar.
  • El dispositivo de prueba real que configuró para su plantilla de dispositivos.
  • Un dispositivo existente en la aplicación mediante el uso del identificador de dispositivo.

Formularios

Agregue formularios a una plantilla de dispositivo para permitir a los operadores administrar un dispositivo con la visualización y configuración de propiedades. Los operadores solo pueden editar las propiedades en la nube y las propiedades del dispositivo que se pueden modificar. Puede tener varios formularios para una plantilla de dispositivo.

  1. Seleccione el nodo Views (Vistas) y, después, seleccione el icono Editing device and cloud data (Editar datos del dispositivo y de la nube) para agregar una vista.

  2. Cambie el nombre del formulario a Manage device (Administrar dispositivo).

  3. Seleccione las propiedades y las propiedades de la nube que se van a agregar al formulario. Después, seleccione Add section (Agregar sección).

  4. Seleccione Save (Guardar) para guardar la configuración.

Captura de pantalla que muestra cómo configurar un formulario.

Publicación de una plantilla de dispositivo

Antes de poder conectar un dispositivo que implementa el modelo de dispositivo, debe publicar la plantilla del dispositivo.

Para publicar una plantilla de dispositivo, vaya a su plantilla de dispositivo y seleccione Publicar.

Después de publicar una plantilla de dispositivo, el operador puede ir a la página Dispositivos y agregar dispositivos reales o simulados que usan la plantilla de dispositivo. Puede seguir modificando y guardando la plantilla de dispositivo mientras realiza los cambios. Si desea enviar estos cambios al operador para que los vea en la página Dispositivos, debe seleccionar Publicar cada vez.