# Cómo conectar dispositivos RAK Wireless a TagoIO

> Guía paso a paso para conectar los sensores WisBlock y los gateways de RAK Wireless a TagoIO. Incluye la configuración del network server LoRaWAN (TTN y ChirpStack), el parseo de payload y casos de uso reales para agricultura inteligente, monitoreo industrial y sensado ambiental.

![Cómo conectar dispositivos RAK Wireless a TagoIO](https://tago.io/og/es/blog/how-to-connect-rak-wireless-devices-to-tagoio.png)

RAK Wireless construye uno de los ecosistemas LoRaWAN más flexibles que existen hoy. La plataforma modular WisBlock te permite combinar núcleos de sensores, módulos de comunicación y placas base para crear un nodo IoT a medida en minutos. Sus gateways RAK7258, RAK7289 y RAK7268 están desplegados en edificios, campus y plantas industriales de todo el mundo.

TagoIO aporta la capa de aplicación: gestión de dispositivos, almacenamiento de datos, dashboards, alertas y una API REST completa. Juntos, el hardware de RAK y TagoIO cubren todo el camino, del sensor a la decisión, pero conectarlos requiere unos cuantos pasos deliberados en ambos lados.

Esta guía recorre la integración de principio a fin, desde la configuración del network server LoRaWAN hasta tu primer dashboard en vivo.

## Qué necesitas antes de empezar

- Una cuenta de TagoIO ([plan gratuito disponible](https://tago.io/pricing))
- Un gateway RAK (RAK7258, RAK7289, RAK7268C o similar)
- Uno o más nodos sensores WisBlock o dispositivos finales LoRaWAN de RAK
- Un Network Server LoRaWAN: The Things Network (TTN) o una instancia de ChirpStack autoalojada

## Cómo funciona la integración

Los gateways de RAK reenvían los paquetes LoRaWAN a un Network Server (NS). El NS decodifica el direccionamiento del dispositivo y entrega el payload a una capa de aplicación, en este caso, TagoIO.

Hay dos caminos principales:

**Camino 1: gateway RAK → The Things Network → TagoIO**
Es la configuración más común. TTN se encarga de la capa MAC de LoRaWAN, y la integración nativa de TagoIO con TTN recibe los uplinks por webhook.

**Camino 2: gateway RAK → ChirpStack → webhook HTTPS de TagoIO**
Para despliegues privados o instalaciones on-premise, los gateways de RAK que ejecutan ChirpStack (integrado en el firmware AEP del RAK7258) pueden reenviar los payloads decodificados a TagoIO mediante HTTP POST.

Ambos caminos producen el mismo resultado en TagoIO. Elige según tu preferencia de infraestructura de red.

## Camino 1: RAK + The Things Network + TagoIO

### Paso 1: registra tu gateway en TTN

1. Inicia sesión en [console.cloud.thethings.network](https://console.cloud.thethings.network).
2. Ve a **Gateways** y haz clic en **Register gateway**.
3. Ingresa el EUI de tu gateway (lo encuentras en la etiqueta del gateway RAK o en la interfaz de administración).
4. Selecciona el plan de frecuencias de tu región (EU868, US915, AU915, etc.).
5. Guarda y verifica que tu gateway aparezca como **Connected**.

### Paso 2: registra tu dispositivo final en TTN

1. En tu aplicación de TTN, haz clic en **Register end device**.
2. Elige tu módulo WisBlock del repositorio de dispositivos (por ejemplo, el RAK4631 con el perfil de sensor adecuado), o ingresa las credenciales manualmente.
3. Copia el **AppEUI**, el **DevEUI** y el **AppKey** generados, ya que los programarás en tu nodo WisBlock mediante el RAK Serial Port Tool o con comandos AT.

### Paso 3: crea un dispositivo en TagoIO

1. Inicia sesión en [admin.tago.io](https://admin.tago.io).
2. Haz clic en **Devices** en la barra lateral izquierda y luego en **Add Device**.
3. Busca **The Things Network v3** en la lista de conectores y selecciónalo.
4. Dale al dispositivo un nombre que coincida con tu dispositivo final en TTN.
5. TagoIO generará una URL de webhook y un Authorization Token. Copia ambos.

Documentación completa de configuración de dispositivos: [docs.tago.io/docs/tagoio/devices](https://docs.tago.io/docs/tagoio/devices/)

### Paso 4: agrega el webhook de TagoIO en TTN

1. En tu aplicación de TTN, ve a **Integrations → Webhooks**.
2. Haz clic en **Add webhook** y elige **Custom webhook**.
3. Define la **Base URL** con la URL del webhook de TagoIO del Paso 3.
4. Define el encabezado **Authorization** con el token del Paso 3.
5. Activa **Uplink message** dentro de los tipos de mensaje.
6. Guarda el webhook.

A partir de ahora, TTN reenviará a TagoIO cada uplink LoRaWAN de tus dispositivos registrados en tiempo real.

### Paso 5: escribe un Payload Parser para tu sensor WisBlock

Los sensores WisBlock envían payloads binarios. El formato depende del módulo de sensor que hayas conectado. TagoIO espera variables decodificadas en su [formato de datos estándar](https://docs.tago.io/docs/tagoio/devices/sending-data):

```json
[
  {"variable": "temperature", "value": 22.5, "unit": "C"},
  {"variable": "humidity", "value": 58.0, "unit": "%"}
]
```

Para transformar el payload crudo de TTN a este formato, agrega un Payload Parser a tu dispositivo de TagoIO:

1. Abre el dispositivo en TagoIO.
2. Ve a la pestaña **Payload Parser**.
3. Escribe una función de JavaScript que lea `payload.uplink_message.decoded_payload` (TTN lo envía si configuras un formateador en TTN) o decodifica los bytes crudos desde `payload.uplink_message.frm_payload`.

Ejemplo de parser para un sensor ambiental WisBlock (RAK1906 / BME680):

```javascript
const decoded = payload.uplink_message.decoded_payload;

if (!decoded) {
  payload = [];
  return;
}

payload = [
  { variable: "temperature", value: decoded.temperature, unit: "C" },
  { variable: "humidity", value: decoded.humidity, unit: "%" },
  { variable: "pressure", value: decoded.pressure, unit: "hPa" },
  { variable: "gas_resistance", value: decoded.gas, unit: "Ohm" }
];
```

Documentación del Payload Parser: [docs.tago.io/docs/tagoio/devices/payload-parser](https://docs.tago.io/docs/tagoio/devices/payload-parser/)

### Paso 6: verifica en el Live Inspector

Abre la pestaña **Live Inspector** en la página de tu dispositivo. Muestra cada solicitud entrante en tiempo real. Dispara un uplink desde tu nodo WisBlock y confirma que las variables decodificadas aparecen antes de construir tu dashboard.

Documentación del Live Inspector: [docs.tago.io/docs/tagoio/devices/live-inspector](https://docs.tago.io/docs/tagoio/devices/live-inspector)

## Camino 2: gateway RAK + ChirpStack + TagoIO

El RAK7258 y el RAK7289 vienen con un LNS de ChirpStack integrado en su firmware AEP. Resulta útil para redes LoRaWAN privadas sin dependencia de TTN.

### Paso 1: configura ChirpStack en el gateway RAK

1. Inicia sesión en la interfaz web del gateway RAK (por defecto `192.168.230.1`).
2. Ve a **LoRa Network** y asegúrate de que ChirpStack esté seleccionado como network server.
3. En el application server de ChirpStack, crea una **Application** y registra tus dispositivos finales.

### Paso 2: agrega una HTTP Integration en ChirpStack

1. En ChirpStack, abre tu Application y haz clic en **Integrations**.
2. Agrega una **HTTP Integration**.
3. Define la **Uplink URL** con el endpoint HTTPS de TagoIO:

   ```
   https://api.tago.io/data
   ```
4. Agrega el encabezado HTTP:

   ```
   Device-Token: YOUR_TAGOIO_DEVICE_TOKEN
   ```

Obtén el device token desde la pestaña **General** de tu dispositivo en TagoIO.

Documentación del token: [docs.tago.io/docs/tagoio/devices/device-token](https://docs.tago.io/docs/tagoio/devices/device-token)

### Paso 3: parsea el payload de ChirpStack en TagoIO

ChirpStack envía un objeto JSON con un campo `object` que contiene los datos decodificados (si configuraste un codec) o `data` en base64. Escribe un Payload Parser en TagoIO según corresponda.

```javascript
// For ChirpStack with codec configured
const obj = payload.object;
payload = [
  { variable: "temperature", value: obj.temperature, unit: "C" },
  { variable: "humidity", value: obj.humidity, unit: "%" }
];
```

## Paso 7: construye tu dashboard

Una vez que los datos están fluyendo, crea un dashboard en TagoIO desde **Dashboards → +**.

Para un despliegue WisBlock con varios sensores, un diseño inicial útil:

- **Widget de mapa** que muestre la ubicación de todos los dispositivos (si tienen módulo GPS conectado)
- **Gráficos de series temporales** de temperatura y humedad por dispositivo
- **Widgets de tarjeta** que muestren la última lectura de cada variable
- **Indicadores de estado** que muestren el nivel de batería y la última hora de conexión

Para despliegues que gestionan muchos nodos RAK en varios sitios, usa un [Blueprint Dashboard](https://docs.tago.io/docs/tagoio/dashboards/blueprint-dashboard). Un mismo diseño se aplica a todos los dispositivos automáticamente mediante tags.

Documentación de dashboards: [docs.tago.io/docs/tagoio/dashboards](https://docs.tago.io/docs/tagoio/dashboards/)

## Paso 8: configura alertas

Usa [Actions](https://docs.tago.io/docs/tagoio/actions/) para disparar notificaciones cuando las lecturas de los sensores salgan del rango. Útil en despliegues con RAK:

- Temperatura por encima del umbral → email/SMS al equipo de guardia
- La humedad cae por debajo del 20% en un ambiente controlado → activar la lógica de ventilación
- No se reciben datos en 1 hora → alerta de desconexión

Documentación de Actions: [docs.tago.io/docs/tagoio/actions](https://docs.tago.io/docs/tagoio/actions/)

## Ejemplos de casos de uso

### Agricultura inteligente

Nodos WisBlock con sensores de humedad del suelo (RAK12035), temperatura y humedad desplegados por todo un campo. El gateway exterior RAK7289 cubre áreas de varias hectáreas. TagoIO almacena las lecturas y dispara señales de control de riego cuando la humedad del suelo cae por debajo del rango objetivo.

Usa [Blueprint Dashboards](https://docs.tago.io/docs/tagoio/dashboards/blueprint-dashboard) para dar a cada zona del campo su propia vista sin duplicar configuraciones.

### Monitoreo ambiental industrial

Nodos WisBlock con sensores de gas (RAK12004, RAK12009) y de partículas instalados en áreas de fabricación. Las lecturas se transmiten a TagoIO de forma continua. Un script de Analysis calcula promedios móviles y escribe los valores computados de vuelta en el bucket del dispositivo. Las alertas se disparan cuando se cruzan los umbrales de concentración.

Documentación de Analysis: [docs.tago.io/docs/tagoio/analysis](https://docs.tago.io/docs/tagoio/analysis/)

### Cadena de frío y productos perecederos

Nodos WisBlock en camiones refrigerados o en cámaras de almacenamiento. Se agrega un módulo GPS (RAK1910) para el seguimiento de ubicación. TagoIO recibe datos de temperatura, humedad y GPS. Un widget de mapa muestra las posiciones de los vehículos; una alerta se dispara si la temperatura se sale de la banda segura durante el transporte.

## Llevándolo más lejos con IA

El servidor MCP de TagoIO conecta asistentes de IA como Claude directamente a los datos de tus sensores. Una vez que tus dispositivos RAK están transmitiendo a TagoIO, puedes hacer preguntas en lenguaje natural: "¿Qué zona tuvo la humedad más alta la semana pasada?" o "Muéstrame todos los dispositivos que se desconectaron en las últimas 24 horas."

Detalles: [docs.tago.io/docs/tagoio/tago-ai/tagoio-mcp-ai-powered-iot-data-integration](https://docs.tago.io/docs/tagoio/tago-ai/tagoio-mcp-ai-powered-iot-data-integration)

## Resumen

Conectar dispositivos RAK Wireless a TagoIO requiere tres componentes: un network server LoRaWAN (TTN o ChirpStack), un dispositivo de TagoIO con el payload parser correcto y una integración por webhook entre ambos. RAK se encarga del hardware y la capa de radio; TagoIO se encarga de todo, desde los datos crudos hasta los dashboards y las alertas.

Empieza con un gateway y un nodo WisBlock. Valida los datos en el Live Inspector, escribe el payload parser y construye el dashboard a partir de ahí.

- Dispositivos de TagoIO: [docs.tago.io/docs/tagoio/devices](https://docs.tago.io/docs/tagoio/devices/)
- Payload Parser: [docs.tago.io/docs/tagoio/devices/payload-parser](https://docs.tago.io/docs/tagoio/devices/payload-parser/)
- Plantillas de dashboard: [docs.tago.io/docs/tagoio/dashboards](https://docs.tago.io/docs/tagoio/dashboards/)
- Actions: [docs.tago.io/docs/tagoio/actions](https://docs.tago.io/docs/tagoio/actions/)
- TagoIO MCP: [docs.tago.io/docs/tagoio/tago-ai/tagoio-mcp-ai-powered-iot-data-integration](https://docs.tago.io/docs/tagoio/tago-ai/tagoio-mcp-ai-powered-iot-data-integration)

[llms.txt](https://tago.io/llms.txt)
