Una de las características que más les encanta a los desarrolladores que utilizan Ubidots es la creación automática de dispositivos cuando se recibe el primer punto de datos en la cuenta de un usuario (en caso de que no lo supieras, consulta el artículo “Provisionar automáticamente Dispositivos y Variables con las etiquetas de la API de Ubidots”). Aquí tienes un diagrama de flujo simplificado de cómo Ubidots entiende y reconoce un dispositivo:
Los Tipos de Dispositivos automatizan aún más el proceso de incorporación de dispositivos, no solo creando el nuevo dispositivo en Ubidots, sino también configurando sus variables, propiedades y apariencia. Con los Tipos de Dispositivos, las implementaciones son tan simples como subir el código con el token correcto y dejar que Ubidots se encargue del resto.
Requisitos
1. ¿Por qué Tipos de Dispositivos?
Para darte una idea de cuánto tiempo puedes ahorrar con esta característica, aquí tienes un flujo de trabajo de incorporación en la vida real antes de cambiar a Tipos de Dispositivos:
Crear un dispositivo en Ubidots
Flashear el firmware al dispositivo con el identificador de API proporcionado por la plataforma IoT
Crear 10 variables dentro del dispositivo
Especificar unidades para cada variable
Especificar rango para cada variable
Especificar un desplazamiento personalizado para algunas de las variables
Crear propiedades: Ciudad, fecha de instalación y versión del firmware
¡Para una implementación de 1,000 dispositivos, esto tendría que hacerse 1,000 veces!
Por otro lado, con los Tipos de Dispositivos, el proceso se vuelve tan simple como:
Crear un Tipo de Dispositivo con las propiedades, variables, unidades, rangos y fórmulas correspondientes.
Flashear el mismo firmware a todos los dispositivos.
Con los Tipos de Dispositivos, cada vez que se crea un dispositivo, el tipo de dispositivo especificado se aplica automáticamente, ahorrándote el tiempo de configuración y desarrollo necesario para lanzar cientos del mismo dispositivo.
2. Creando un Tipo de Dispositivo
Paso 1: Crear un nuevo tipo de dispositivo
Para crear un tipo de dispositivo, ve a la pestaña “Dispositivos” en tu cuenta de Ubidots, luego haz clic en “tipos”, seguido del botón “+” en la esquina superior derecha:
Paso 2: Nombre y apariencia del tipo de dispositivo
A continuación, se te presentará un panel para configurar los ajustes de tu tipo de dispositivo. En el primer paso podrás modificar el nombre, la etiqueta de API, la descripción, el ícono que deseas mostrar para tu dispositivo y los colores de las variables y dispositivos. Ten en cuenta que la etiqueta de API del tipo de dispositivo se generará automáticamente en función del nombre que ingreses.
NOTA IMPORTANTE: La etiqueta de API del tipo de dispositivo es un identificador único que permite a Ubidots saber qué tipo de dispositivo aplicar cuando se recibe un nuevo punto en la plataforma. Esto se puede especificar en tu solicitud utilizando el parámetro "type" en la URL de la solicitud. Por ejemplo:
curl -X POST 'https://industrial.api.ubidots.com/api/v1.6/devices/device-label/?type=device-type-label' \-H 'Content-Type: application/json' \-H 'X-Auth-Token: YOUR-TOKEN' \-d '{"temperature":10}'
Paso 3 (opcional): Configurar propiedades del dispositivo
Si utilizas la función de propiedades del dispositivo de Ubidots, entonces este paso es para ti.
Al especificar propiedades personalizadas para el tipo de dispositivo, cada nuevo dispositivo se creará con el mismo conjunto de propiedades aplicadas. En este paso podrás agregar propiedades en estos formatos: Verdadero o falso, fecha, lista, texto, número, dispositivo y JSON.
Aquí tienes un ejemplo de cómo podría verse una configuración de propiedad:
Paso 4 (opcional): Configurar variables
Haz clic en el botón “+ agregar variable” para agregar tantas variables como necesites (crudas o sintéticas).
Para cada variable cruda, puedes establecer estos campos básicos:
Nombre: El nombre de la variable que aparecerá en la lista de variables del dispositivo. Este es simplemente un nombre amigable para el usuario.
Etiqueta de API: Un identificador dentro de todas las variables del dispositivo. Puede ser diferente al nombre de la variable y debe coincidir con la carga útil. Ejemplo: Si la carga útil del dispositivo físico es ”{“temp”:10}”, entonces la etiqueta de API de la variable en el tipo de dispositivo debería ser “temp”.
Descripción: La descripción de la variable tal como te gustaría que apareciera para los usuarios finales.
Código de ícono: Nombre del ícono de Fontawesome. Este ícono es un simple recordatorio visual del tipo de sensor con el que estás trabajando.
Color: Opcionalmente, anula el color de la variable, como se establece en el paso de “apariencia” anterior.
Unidad: La unidad de medida de la variable.
Rango permitido: Los rangos mínimo y máximo para tu variable.
Función de escalado: Te permite aplicar una transformación lineal a los datos.
Visible para los usuarios finales: Por defecto está seleccionado. Si no está seleccionado, entonces esta variable solo será vista por el administrador, no por los usuarios de la aplicación.
Variable de ubicación: Si se selecciona, entonces Ubidots entenderá que esta variable contiene el contexto de las coordenadas de latitud y longitud.
Aquí tienes un ejemplo de cómo podría verse esta configuración:
NOTA: Para cada variable sintética, puedes establecer los campos básicos excluyendo rango permitido y función de escalado. Además, podrás establecer el siguiente campo:
Expresión sintética: La expresión matemática o estadística utilizada para calcular nuevos datos basados en una o más variables existentes.
EJEMPLO: El nombre de la variable y la etiqueta de API de la variable pueden ser iguales o diferentes. Si el nombre de la variable es "Temperatura" y la etiqueta de API de la variable es "temp", Ubidots reconocerá la etiqueta de API "temp" y actualizará la variable correspondiente, pero mostrará "Temperatura" en el panel de control.
Paso 5 (opcional): Configurar tareas
Las tareas son acciones que se ejecutan una vez que se crea un dispositivo utilizando un tipo de dispositivo. En los pasos anteriores hemos revisado configuraciones relacionadas con el propio dispositivo, pero las "tareas" te permiten ir aún más allá y automatizar la creación de paneles de control y eventos, o asignar el dispositivo recién creado a un grupo de dispositivos.
Haz clic en "+ agregar tarea" para agregar tantas tareas como necesites. Puedes elegir entre "asignar a un grupo de dispositivos", "crear un evento" o "crear un panel de control". Las dos últimas opciones toman un evento/panel de control existente como plantilla.
Tipo de tarea: Crear un evento
Cada vez que se crea un nuevo dispositivo de este tipo, se creará un nuevo evento con las mismas condiciones de activación y acciones que se encuentran en el evento seleccionado. Hacer clic en "seleccionar evento" te presentará un modal para seleccionar un evento existente.
Tipo de tarea: Crear un panel de control
Cada vez que se crea un nuevo dispositivo de este tipo, se creará un nuevo panel de control estático con los mismos widgets y etiquetas de variables que se encuentran en el panel de control seleccionado. Hacer clic en "seleccionar panel de control" te presentará un modal para seleccionar un panel de control existente.
Tipo de tarea: Asignar a grupo de dispositivos
Cada vez que se crea un nuevo dispositivo de este tipo, se asignará al grupo de dispositivos seleccionado en el menú desplegable "seleccionar grupo de dispositivos".
3. Probando Tipos de Dispositivos
Para acceder a la lista de todos los Tipos de Dispositivos en tu cuenta, selecciona "tipos" en la pestaña Dispositivos de la barra de navegación principal.
Para probar el tipo de dispositivo, copia y pega la solicitud de muestra a continuación en la terminal de tu computadora. Asegúrate de cambiar el token y el parámetro ?type=
.
NOTA IMPORTANTE: Los tipos de dispositivos solo se aplican al crear nuevos dispositivos. Enviar el parámetro “?type=”
a un dispositivo existente solo actualizará los datos de las variables configuradas.
curl -X POST 'https://industrial.api.ubidots.com/api/v1.6/devices/device-type-test/?type=new-type' \> -H 'Content-Type: application/json' \> -H 'X-Auth-Token: YOUR-TOKEN‘ \> -d '{"<Variable_API_Label>":""}'
Si el tipo de dispositivo se ha creado correctamente, se devolverá un código de respuesta 201
en la terminal de tu computadora.
{"Variable_API_Label": [{"status_code": 201}]}
Por último, en tu cuenta de Ubidots, puedes ver los resultados. No solo verás el nuevo dispositivo creado y nombrado de acuerdo con las credenciales establecidas en el tipo de dispositivo, sino que también verás las variables preconfiguradas del dispositivo con nombres, íconos y unidades de medida ya actualizándose de acuerdo con tu tipo de dispositivo:
Además... Las propiedades del dispositivo también se añaden: