Ir al contenido principal
Todas las coleccionesConecta tus dispositivos
Integrar tu Mobilogix BAT (rastreador GPS + Sensores Ambientales) a Ubidots
Integrar tu Mobilogix BAT (rastreador GPS + Sensores Ambientales) a Ubidots

Aprende a configurar tu Mobilogix BAT en Ubidots para comenzar a monitorear tu ubicación actual y variables ambientales.

Sergio M avatar
Escrito por Sergio M
Actualizado hace más de 2 meses

Mobilogix BAT (Terminal Básico de Activos) es un robusto rastreador GPS que transmite datos a través de conectividad celular y LPWAN como CAT-M1 y NBIoT para una mejor gestión de la duración de la batería. Otra característica clave del BAT son los sensores ambientales integrados como Acelerómetro, giroscopio, temperatura, presión, humedad y luz ambiental que permiten al dispositivo detectar diferentes variables alrededor del activo donde se despliega el sensor.

Siguiendo esta guía, podrás gestionar los datos obtenidos por el Mobilogix BAT en la Plataforma de Desarrollo IoT de Ubidots para comenzar a monitorear los datos, tomar acciones basadas en los datos obtenidos y la oportunidad de generar informes recurrentes.

Requisitos

NOTA IMPORTANTE: Esta guía asume que el dispositivo Mobilogix ya está configurado y transmitiendo datos a los servicios principales de Mobilogix y proporciona un proceso detallado para la comunicación API entre Mobilogix y Ubidots.

Paso a Paso

  1. Configuración de UbiFunction

  2. Codificación de una UbiFunction

  3. Verificar la recepción de datos

  4. Depuración y Registros

  5. Resumen

1. Configuración de UbiFunction

Para crear una función sin servidor que analice datos de Mobilogix a Ubidots, necesitas tener una suscripción activa de Ubidots.

1. Para crear la UbiFunction, ve a la pestaña "Datos" y selecciona "Función" y crea una nueva función.

2. Crea una nueva función (haz clic en el ícono "+")

3. En la ventana siguiente, dale a la nueva función un nombre descriptivo que se asemeje a la función de análisis que se va a ejecutar. En este caso la llamamos "BAT1". En la URL del Endpoint HTTPS, selecciona "POST" como el método para activar la función y establece el disparador basado en el tiempo a 5 minutos, luego haz clic en el botón “Hacerlo en vivo”:

NOTA: si tu cuenta no tiene un ‘disparador basado en el tiempo’ como la imagen anterior, por favor contacta al equipo de soporte de Ubidots en support@ubidots.com para habilitar esta función en tu cuenta. Esta función de disparador ejecutará la función automáticamente cada X minutos para recuperar los últimos datos de los servidores de Mobilogix a través de la API.

2. Codificación de una UbiFunction

El código de muestra a continuación tiene 4 funciones:

  • Una función main que gestiona las otras 3 funciones que manejan la autenticación con Mobilogix para obtener el Token de Autenticación, la obtención de datos de sensores como GPS y sensores ambientales, y la solicitud POST a Ubidots, actualizando cualquier información de dispositivo o variable en el proceso.

  • Una función auth_login que se autentica con la API de Mobilogix utilizando las credenciales de la cuenta y recupera el Token de Autenticación.

  • Una función mobilogix_request que utiliza el Token de Autenticación de Mobilogix anterior para recuperar una lista de los datos disponibles dentro de la cuenta.

  • Una función ubidots_request, que utiliza el TOKEN especificado, device_label y un payload JSON como entrada para hacer una solicitud HTTP POST a la API de Ubidots.

Usando la lógica anterior, obtenemos la capacidad de recuperar datos de GPS, temperatura, humedad, presión y estado de la batería de una cuenta de Mobilogix con un dispositivo BAT registrado, analizar los datos recuperados y luego publicar dichos datos en Ubidots.

1. Coloca el código en la UbiFunction creada. Luego, asigna tu Token de Ubidots, las credenciales de la cuenta de Mobilogix, y el número de serie del BAT donde se indica.

// Asignar el Token de Ubidotsvar ubidots_token = "assign_your_ubidots_token_here";// Importar la biblioteca 'request-promise' para que podamos hacer solicitudes HTTP desde la funciónvar request = require('request-promise');// Función principal - se ejecuta cada vez que se ejecuta la función.async function main() {  // Definir variables constantes  var username = "assign_mobilelogix_username"; // Asignar el nombre de usuario de la cuenta donde está registrado el dispositivo  var password = "assign_mobilelogix_password"; // Asignar la contraseña de la cuenta donde está registrado el dispositivo  var serial_number = "assign_BAT_serial_numer"; // Asignar el número de serie del dispositivo  // Acceder a Mobilogix para obtener el Token de Autenticación  var token_response = await auth_login(username, password);  var token = JSON.parse(token_response);  // Guardar el Token devuelto  var mobi_token = token["auth_token"];  // Hacer solicitud a Mobilogix para obtener datos de GPS y sensores ambientales  var gps = await mobilogix_request("LocateDevice", serial_number, mobi_token);  var sensors = await mobilogix_request("GetDeviceDetails", serial_number, mobi_token);    // Verificar el estado del GPS para establecer 1 como valor fijo para la variable "location"  var isTripActive = 0;  if( gps['isTripActive'] == true ){    isTripActive = 1;  }  // Construir el payload de Ubidots con datos de batería, temperatura, humedad, presión y ubicación  var payload = {     "battery-status": sensors['deviceDetails']['value'][0]['batteryStatus'],    "temperature": sensors['deviceDetails']['value'][0]['temperatureValue'],    "humidity": sensors['deviceDetails']['value'][0]['humidityValue'],    "pressure": sensors['deviceDetails']['value'][0]['pressureValue'],    "location": {      "value": isTripActive,       "context": {        "lat": gps['latitude'],        "lng": gps['longitude']      }    }  };  // Enviar el payload a Ubidots  var response = await ubidots_request(ubidots_token, serial_number, payload);  // Pasar la respuesta de la API de Ubidots como la respuesta de la función  return response;}// Construye una solicitud HTTP POST a Mobilogix para iniciar sesión en la cuenta y obtener el token de autenticaciónasync function auth_login(username, password) {  var options = {    url: 'https://fusion.mobilogix.com:6443/api/Auth/login',    json: true,    headers: {      'Accept': 'application/json',      'x-api-version':'1.0'    },    body: {      'username': username,      'password': password     }  };  return await request.post(options);}// Construye una solicitud HTTP GET a Mobilogix// Endpoints - GPS: "LocateDevice", Sensores Ambientales: "GetDeviceDetails"async function mobilogix_request(endpoint, serial_number, mobi_token) {  var options = {    url: ${"https://fusion.mobilogix.com:9443/api/DeviceIOTSettings/"}${endpoint}${"/"}${serial_number},    json: true,    headers: {      'Accept': 'application/json',      'x-api-version':'1.0',      'Authorization': 'Bearer ' + mobi_token    }  };  return await request.get(options);}// Esta función construye una solicitud HTTP POST a Ubidotsasync function ubidots_request(token, label, body) {  var options = {    method: 'POST',    url: ${"https://industrial.api.ubidots.com/api/v1.6/devices/"}${label},    body: body,    json: true,    headers: {      'Content-Type': 'application/json',      'X-Auth-Token': token    }  };  return await request.post(options);}

3. Verificar la recepción de datos

Después de que tu función se ejecute por primera vez, los datos del dispositivo Mobilogix BAT se publicarán en Ubidots y se mostrarán de manera similar a la imagen a continuación:

Una vez que revises el Resumen del Dispositivo, así es como se ve la ventana de variables:

4. Depuración y Registros

Además, un gran recurso de depuración es la capacidad de ver los registros de tu función. Para hacerlo, consulta la barra de control y selecciona el ícono "registros" como se muestra a continuación para ver el historial de las ejecuciones de tu Función:

En los registros de la Función, puedes confirmar si los datos se publicaron correctamente en Ubidots con el código de respuesta 201:

5. Resumen

En solo un par de minutos, integraste con éxito tu dispositivo Mobilogix BAT para transmitir datos en vivo a Ubidots donde los datos pueden comenzar a trabajar en tu aplicación impulsada por Ubidots.

Conéctate con Mobilogix en info@mobilogix.com, para cualquier pregunta técnica sobre los dispositivos Mobilogix.

Ahora es el momento de ensamblar tableros y agregar usuarios que puedan ver e interactuar con los datos de tu aplicación.

Otros desarrolladores también encontraron útil:

¿Ha quedado contestada tu pregunta?