Ir al contenido principal
Todas las coleccionesConecta tus dispositivos
Conectar el WisNode TrackIt (RAK2171) a Ubidots
Conectar el WisNode TrackIt (RAK2171) a Ubidots

Este artículo trata sobre cómo conectar el rastreador GPS LoRaWAN de RAK al servidor de red pública LoRaWAN de Helium e integrarlo con la plataforma Ubidots.

Sergio M avatar
Escrito por Sergio M
Actualizado hace más de una semana

Requisitos

  1. Un teléfono móvil que ejecute Android o iOS con capacidad Bluetooth.

  2. La aplicación WisNode TrackIt de RAK para Android o iPhone.

  3. Una cuenta activa en el servidor de red pública LoRaWAN de Helium. Aquí puedes registrarte para una.

  4. Una cuenta activa en la plataforma Ubidots. Si aún no tienes una, regístrate aquí.

1. Configuración de WisNode TrackIt para usar la red LoRaWAN

Por favor, abre la aplicación “TrackIt” que instalaste recientemente.

image.png

Haz clic en “Iniciar sesión con RAK ID” y aparecerá la siguiente pantalla:

image.png

Si ya tienes una cuenta de “RAK ID”, por favor inicia sesión, si no, presiona el enlace “Crear nuevo” para crear una nueva cuenta. Para hacerlo, solo sigue los pasos indicados en la aplicación.

Después de crear con éxito tu cuenta de “RAK ID” se te pedirá que agregues tu dispositivo TrackIt a través de Bluetooth. En este punto, por favor toma tu dispositivo TrackIt y presiona el botón de encendido durante al menos 3 segundos para hacerlo detectable por el Bluetooth de tu teléfono móvil. Un sonido suave confirmará que el dispositivo está en modo detectable. La siguiente imagen muestra cómo debería verse tu pantalla en este momento:


image.png

Después de escuchar la confirmación de sonido del dispositivo, presiona el botón “Agregar rastreador” para agregar y configurar tu dispositivo WisNode. Aparecerá una nueva pantalla informándote que el dispositivo se está emparejando con el teléfono móvil. Este proceso puede tardar unos 20 segundos en completarse.


Consejo profesional: Si obtienes un error de “Rastreador no encontrado”, simplemente apaga el Bluetooth de tu teléfono móvil así como el TrackIt, luego enciende todo nuevamente.


Cuando el dispositivo se empareje con éxito con el teléfono móvil, se te pedirá que establezcas el nombre del TrackIt así como su modo de funcionamiento, cualquier nombre es permitido en este paso, ya que no repercute en los pasos siguientes. Para el modo de funcionamiento, por favor elige la opción “LoRaWAN” , luego, aparecerán opciones para el tipo de red. Por favor elige la opción “Tercero NS”. La siguiente imagen ilustra esta situación:

image832.png

Al elegir la opción “Tercero NS” nos aseguramos de que nuestro dispositivo pueda conectarse a cualquier red LoRa.

Hasta este punto, aparecerá una nueva pantalla mostrando los datos del TrackIt, como el DevEUI del dispositivo, su Clase y, lo más significativo, la región de banda LoRaWAN. Es obligatorio almacenar los datos del dispositivo porque esos son los parámetros que se utilizarán para registrar el dispositivo en la consola de Helium en pasos posteriores. En la siguiente captura de pantalla, los cuadros rojos indican los datos que se utilizarán más adelante en el paso de registro, así que por favor almacena esta información cuidadosamente.


image82666.png

Notarás un menú desplegable que muestra el nombre “REGIÓN”. Este es el paso más importante, aquí necesitas seleccionar la región de banda apropiada de acuerdo con las regulaciones de tu país y el espectro permitido para aplicaciones. Aquí, uno de nuestros socios enumera brevemente algunos países junto con sus bandas de región permitidas.

El país en el que se desarrolló este artículo permite el uso de la banda AU915, así que seleccionaremos AU915.


bitmap.png

Después de presionar el botón “CONFIRMAR” aparecerá una alerta en la pantalla, ignórala y haz clic en el botón “CONFIRMAR” nuevamente para proceder al siguiente paso.


¡Ahora el dispositivo está listo para ser registrado en la red LoRa de Helium!

2. Registrando el TrackIt en la red pública LoRa de Helium

Inicia sesión en la consola de Helium siguiendo este enlace. Luego, dirígete al menú en el lado izquierdo, específicamente a la sección “Dispositivos”.

rect18125.png


Allí, haz clic en el botón “Agregar nuevo dispositivo” . Es el que está encerrado en un cuadro rojo en la siguiente imagen:

image18647.png

Después de hacer clic en “Agregar nuevo dispositivo” serás llevado a otra página web que te pedirá que ingreses los datos únicos del dispositivo, como su DevEUI, AppEUI y AppKey. Obtén estos datos de la ubicación donde los almacenaste en el paso 1 de esta guía, ingresa cada dato en el campo correspondiente y luego haz clic en “Guardar dispositivo”. La siguiente imagen muestra cómo registrar un nuevo dispositivo. Por favor, deja la opción “Perfil” como está por defecto y dale a tu dispositivo un nombre descriptivo.

image24849.png

Consejo profesional: Puedes adjuntar tu dispositivo con una etiqueta específica si deseas usar esta configuración de integración en otros dispositivos.


3. Creando la función de decodificación

Ahora que nuestro dispositivo está registrado en la red pública LoRa de Helium, debería comenzar a enviar datos al servidor de red en forma de un objeto JSON de acuerdo con el esquema JSON de Helium, este objeto contiene mucha información como el DevEUI del dispositivo, los hotspots a través de los cuales los datos llegaron al servidor de red, su ID, y lo más importante, la carga útil, que suele ser una cadena codificada en Base64. Necesitamos extraer los datos de esta carga útil utilizando una función de decodificación.

Dirígete a la sección “funciones” en el panel lateral izquierdo, luego haz clic en “Agregar nueva función”, selecciona la opción “Personalizada” y dale un nombre apropiado. Podrías nombrarla como “mi función de decodificación de dispositivo”, pero eso depende completamente de ti. Aquí hay un GIF para explicar mejor el proceso.

Ahora, copia el siguiente decodificador en el editor de código, luego haz clic en el botón “Guardar cambios”.

function Decoder(bytes,port) {if(bytes[0] == 0xCA){// Sin fijación de ubicacióntimeStamp = ((bytes[11] << 24) | (bytes[12] << 16) | (bytes[13] << 8) | bytes[14]) * 1000;var payload = {"location-fixed":{"value":0,"timestamp":timeStamp},"battery":{"value":bytes[10],"timestamp":timeStamp},"position":{"value":1,"timestamp":timeStamp,}};return payload;}else if(bytes[0] == 0xCB){// Fijación de ubicacióntimeStamp = ((bytes[21] << 24) | (bytes[22] << 16) | (bytes[23] << 8) | bytes[24]) * 1000;lng = (((bytes[10] << 24) | (bytes[11] << 16) | (bytes[12] << 8) | bytes[13]) * 0.000001).toFixed(4);lat = (((bytes[14] << 24) | (bytes[15] << 16) | (bytes[16] << 8) | bytes[17]) * 0.000001).toFixed(4);var payload = {"location-fixed":{"value":1,"timestamp":timeStamp},"battery":{"value":bytes[20],"timestamp":timeStamp},"position":{"value":1,"timestamp":timeStamp,"context":{"lat":lat,"lng":lng}}};return payload;}}

4. Creando la integración entre Helium y Ubidots

Con los datos ya decodificados, solo necesitamos pensar en cómo hacer que estos datos lleguen a la plataforma Ubidots, si ya estás familiarizado con Ubidots, puedes pensar en hacer solicitudes HTTP o usar el protocolo MQTT manualmente para lograr tal objetivo, sin embargo, afortunadamente para todos los usuarios, los equipos de Ubidots y Helium han pensado detenidamente en esto. Por lo tanto, te proporcionamos la Integración de Ubidots en la plataforma Helium, que es una herramienta que configurará un endpoint y... en resumen: gestionará el flujo de datos entre Helium y Ubidots.

Para crear la integración, dirígete a la sección “Integraciones” en el panel lateral izquierdo. Luego, la siguiente página se cargará en tu navegador. Allí, haz clic en el botón “Agregar nueva integración” y selecciona la opción “Ubidots”.

Después de hacer clic en el icono de integración de Ubidots, se mostrará otra página web con 2 botones diferentes: uno que abre la documentación de integración y el otro con el texto “+ Agregar integración”, haz clic en esta opción y se mostrará la siguiente página:

Por favor, ingresa un token de Ubidots en el campo “Ingresar token de autenticación” y luego haz clic en el botón “Obtener URL de Webhook” . Si olvidaste qué es y dónde está tu token, por favor consulta la información pertinente sobre este asunto.

Después de escribir tu token en el campo correspondiente y presionar el botón “Obtener URL de Webhook” , se mostrará un campo correspondiente al nombre de la integración que deberás llenar, por favor hazlo y luego haz clic en el botón “Agregar integración” debajo del cuadro de texto para el nombre.


5. Conectando la integración

La integración ya está creada, lo que sigue es decirle a Helium qué dispositivo utilizará esta nueva integración y dónde usar la función de decodificación. Para hacerlo, por favor ve a la sección “Flujos” en el panel lateral izquierdo. Para conectar la integración a nuestro dispositivo, solo tendremos que, literalmente, conectar los puntos. Mientras estés en la sección “Flujos” , dirígete al panel “NODOS” en la esquina superior izquierda, haz clic en él y luego ve a la pestaña “Dispositivos” , allí deberás buscar el dispositivo creado en el paso 2 y simplemente arrastrarlo y soltarlo en el espacio en blanco. Haz lo mismo en la pestaña “integraciones”, arrastra y suelta la integración recién creada en el área en blanco. Finalmente, haz exactamente lo mismo, solo que esta vez deberás buscar en la pestaña “Funciones” la función de decodificación creada en el paso 4. Por último, solo conecta los nodos.

Como "una imagen vale más que mil palabras", aquí hay un GIF que representa el proceso:


Solo queda un último paso antes de que puedas enviar los datos de tu TrackIt a Ubidots, que es configurar el decodificador desde el lado de Ubidots. Para hacerlo, dirígete a tu cuenta de Ubidots, luego ve a la sección “Plugins” bajo la pestaña “Dispositivos”. Busca el plugin creado recientemente desde la consola de Helium.

Haz clic en el ícono de lápiz gris en el lado derecho del nombre del plugin para editar su función de decodificación.

banner.png

Se comenzará a cargar una nueva página web. Ve al panel lateral izquierdo y busca la sección “Decodificador” , haz clic en ella y luego tu pantalla debería verse así:

Nota que ya hay una función escrita, siéntete libre de eliminar todo ese código y pegar este:

def format_payload(args):    # Registra los datos recibidos para fines de depuración:    print(args)    decoded_payload = args["decoded"]["payload"]    print(decoded_payload)    return decoded_payload

Después de pegar el código en el editor de código, haz clic en el botón “GUARDAR Y HACER VIVO” para guardar los cambios y permitir que el plugin funcione.


Consejo profesional: Puedes usar la sección “Registros” para depurar tu plugin echando un vistazo a los registros de respuestas.


6. Visualizando los datos en la plataforma Ubidots

Si te diriges a la sección “Dispositivos” de tu cuenta de Ubidots, notarás que se ha creado un nuevo dispositivo con el nombre del dispositivo creado en el paso 2 de esta guía. Haz clic en él y verás 3 variables. Puedes establecer la ubicación del dispositivo mediante una variable específica, en este caso, la variable de posición se seleccionará del menú desplegable “Modo” .


banner.png

Ahora puedes crear un panel de control para tener una mejor visualización de los datos. Aquí hay una instantánea de lo que puedes hacer:

Otros usuarios también encontraron útil...

¿Ha quedado contestada tu pregunta?