# How to Connect Robustel Cellular Routers to TagoIO

> How to connect Robustel industrial cellular IoT routers (R2000, R3000, R5020) to TagoIO. Covers MQTT and HTTPS forwarding, RobustLink SDK, Modbus-to-cloud bridging, and industrial remote monitoring use cases.

![How to Connect Robustel Cellular Routers to TagoIO](https://tago.io/og/blog/how-to-connect-robustel-cellular-routers-to-tagoio.png)

Robustel makes industrial cellular IoT routers and gateways used in remote monitoring, utilities, transportation, and industrial automation. Their R2000, R3000, and R5020 series connect field equipment via RS-232, RS-485, Modbus, and I/O interfaces, and communicate over 4G LTE, 5G, or Wi-Fi.

TagoIO is the application layer: it receives data from Robustel devices, stores it over time, drives dashboards, and triggers alerts. Connecting Robustel to TagoIO gives your field operations a cloud application backend without building a custom server.

This guide covers MQTT-based integration (recommended for real-time data) and HTTPS REST forwarding.

## What you need before you start

- A TagoIO account ([free plan available](https://tago.io/pricing))
- A Robustel gateway (R2000, R3000, R5020, or compatible model)
- Cellular SIM card with data plan installed in the Robustel device
- Field instruments connected to the Robustel RS-485 or I/O ports

## Architecture overview

```
[Field instruments] → (RS-485/Modbus or digital I/O) → [Robustel gateway]
                                                               ↓ (MQTT or HTTPS over cellular/LTE)
                                                          [TagoIO]
```

## Path 1: Robustel → MQTT → TagoIO (TagoTiP)

Robustel devices support MQTT natively through their RobustLink application framework and the built-in MQTT client.

### Step 1: Create a TagoTiP device in TagoIO

1. Log in to [admin.tago.io](https://admin.tago.io).
2. Click **Devices → Add Device**.
3. Search for **TagoTiP** and select it.
4. Name the device and set a **Serial Number** (used in the MQTT topic).
5. Copy the **Authorization Hash** from the General tab.

TagoTiP MQTT docs: [docs.tago.io/docs/tagotip/transports/mqtt](https://docs.tago.io/docs/tagotip/transports/mqtt)

### Step 2: Configure MQTT on the Robustel gateway

Log in to the Robustel web interface and navigate to **Services → RobustLink → MQTT**:

| Setting | Value |
|---|---|
| MQTT Broker Host | `mqtt.tip.us-e1.tago.io` (US) or `mqtt.tip.eu-w1.tago.io` (EU) |
| Port | `1883` |
| Client ID | any unique string |
| Username | First 8 hex characters of the Authorization Hash |
| Password | Last 8 hex characters of the Authorization Hash |
| Publish Topic | `$tip/YOUR_SERIAL/push` |

### Step 3: Map field data to TagoTiP payload

Configure the Robustel RobustLink data collection to poll your Modbus registers or digital I/O at the desired interval, and format the publish payload using the TagoTiP syntax:

```
[temperature:=87.3#C;pressure:=4.32#bar;alarm_input:=0]
```

For Robustel devices with the RobustLink SDK (supports Python scripting on R5020 and R3000 Pro):

```python
import paho.mqtt.client as mqtt

SERIAL = "robustel-site-01"
AUTH_HASH = "your_auth_hash_here"
HOST = "mqtt.tip.us-e1.tago.io"

# Read Modbus registers (example using pymodbus)
temperature = read_modbus_register(1, 40001)
pressure = read_modbus_register(1, 40002)

client = mqtt.Client()
client.username_pw_set(AUTH_HASH[:8], AUTH_HASH[8:])
client.connect(HOST, 1883)

payload = f"[temperature:={temperature}#C;pressure:={pressure}#bar]"
client.publish(f"$tip/{SERIAL}/push", payload)
client.disconnect()
```

## Path 2: Robustel → HTTPS REST → TagoIO

For simpler deployments or devices without full MQTT configuration, use the Robustel HTTP client to POST data to the TagoIO API.

### Step 1: Create an HTTPS device in TagoIO

1. In TagoIO, go to **Devices → Add Device → HTTPS**.
2. Name the device and copy the **Device Token**.

### Step 2: Configure HTTP POST on the Robustel device

In the Robustel web interface, navigate to **Services → RobustLink → HTTP**:

- **URL**: `https://api.tago.io/data`
- **Method**: POST
- **Headers**: `Device-Token: YOUR_DEVICE_TOKEN`, `Content-Type: application/json`
- **Body template**:

```json
[
  {"variable": "temperature", "value": ${temperature}},
  {"variable": "pressure", "value": ${pressure}},
  {"variable": "signal_strength", "value": ${rssi}}
]
```

Robustel's RobustLink HTTP client supports variable substitution in the payload body using the `${variable_name}` syntax for mapped data channels.

Sending data docs: [docs.tago.io/docs/tagoio/devices/sending-data](https://docs.tago.io/docs/tagoio/devices/sending-data)

## Step 3: Verify in the Live Inspector

Open the **Live Inspector** in TagoIO and confirm readings arrive on the expected schedule.

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

## Step 4: Build dashboards and alerts

From **Dashboards → +**, create an operator dashboard. For Robustel remote monitoring deployments:

- **Map widget** showing all remote site locations (use latitude/longitude from GPS-equipped Robustel devices)
- **Time-series charts** for key process variables
- **Status cards** showing last communication time and cellular signal strength
- **Alert log** showing recent threshold events

For multiple sites with identical layouts, use [Blueprint Dashboards](https://docs.tago.io/docs/tagoio/dashboards/blueprint-dashboard).

Set up [Actions](https://docs.tago.io/docs/tagoio/actions/) for offline alerts when a Robustel gateway stops reporting (cellular outage or power loss).

## Use case examples

### Remote pump station monitoring

Robustel R2000 at a water utility pump station. Reads flow, pressure, and level via Modbus from a PLC. Sends to TagoIO every 60 seconds over LTE. TagoIO dashboard shows real-time station status. Alert fires and triggers an SMS if the pump goes offline or pressure drops below minimum.

### Pipeline leak detection

Robustel R3000 Pro at multiple points along a gas pipeline. Pressure sensors connected via RS-485. TagoIO Analysis scripts run delta-pressure calculations between adjacent points and flag anomalies consistent with leak signatures.

Analysis docs: [docs.tago.io/docs/tagoio/analysis](https://docs.tago.io/docs/tagoio/analysis/)

### Fleet and mobile asset tracking

Robustel R5020 in trucks and construction vehicles. GPS + CAN-bus data sent to TagoIO every 30 seconds. TagoIO map widget shows live fleet positions. Idle time and fuel consumption calculated via Analysis and surfaced on an operations dashboard.

## Taking it further with AI

TagoIO's MCP server lets AI assistants query your Robustel field data in natural language. Ask: "Which remote sites lost connectivity in the past 24 hours?" or "Show me average pump pressure for each site over the last week."

MCP docs: [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)

## Summary

Robustel cellular routers connect to TagoIO via MQTT (TagoTiP) or HTTPS REST, sending Modbus and I/O data from field instruments over LTE. The integration is configured on the Robustel side through its RobustLink framework, with no additional middleware required.

- TagoTiP MQTT: [docs.tago.io/docs/tagotip/transports/mqtt](https://docs.tago.io/docs/tagotip/transports/mqtt)
- Sending Data: [docs.tago.io/docs/tagoio/devices/sending-data](https://docs.tago.io/docs/tagoio/devices/sending-data)
- Analysis Scripts: [docs.tago.io/docs/tagoio/analysis](https://docs.tago.io/docs/tagoio/analysis/)
- Actions: [docs.tago.io/docs/tagoio/actions](https://docs.tago.io/docs/tagoio/actions/)
- 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)
