# TagoTiP | Offenes IoT-Telemetrieprotokoll | TagoIO

> TagoTiP ist ein offenes, schlankes IoT-Telemetrieprotokoll für UDP, TCP, HTTP und MQTT. 4,3x kleiner als HTTP/JSON. Apache-2.0-Spezifikation, die jeder Server umsetzen kann.

Das offene IoT-Protokoll. Jeder Transport. Jeder Server.

TagoTiP ist ein schlankes, menschenlesbares Telemetrieprotokoll für **UDP**, **TCP**, **HTTP** und **MQTT**. Die Spezifikation ist offen unter Apache 2.0: Betreiben Sie es auf Ihrem eigenen Backend oder senden Sie noch heute an TagoIO.

## Gebaut für eingeschränkte Geräte und reale Netzwerke

Alles, was Sie brauchen, um Telemetriedaten zuverlässig zu senden. Weniger Overhead, mehr Klarheit.

### Kleinere Payloads

Kompaktes Pipe-delimitiertes Framing verbraucht nur einen Bruchteil der Bandbreite von HTTP/JSON. 112 Bytes statt 487 Bytes für dieselben Daten. Entscheidend für LTE-M, NB-IoT, LoRa und Satellitenverbindungen.

### Menschenlesbar

Lesen, schreiben und debuggen Sie Frames direkt in Ihrem Terminal oder Serial Monitor. Keine binären Parser, keine externen Tools. Wenn Sie einen Pipe-delimitierten String lesen können, können Sie TagoTiP debuggen.

### Transportagnostisch

Dasselbe Frame-Format funktioniert über UDP, TCP, MQTT und HTTP. Wechseln Sie den Transport, ohne Ihre Geräte-Firmware oder Datenpipeline zu ändern.

### Typsicher by Design

Explizite Zuweisungsoperatoren definieren Zahlen, Strings, Booleans und GPS-Koordinaten inline. Kein mehrdeutiges JSON-Casting. Der Typ wird an der Quelle deklariert.

## Weniger Bytes. Mehr Signal.

Sehen Sie, wie TagoTiP im Vergleich zu einer Standard-HTTP/JSON-Anfrage für IoT-Sensorwerte abschneidet.

### HTTP / JSON (487 bytes)

```
POST /data HTTP/1.1
Host: api.tago.io
Content-Type: application/json
Authorization: ate2bd31...c0d0
[{
  "variable": "temperature",
  "value": 32.5,
  "unit": "C"
}, {
  "variable": "humidity",
  "value": 65,
  "unit": "%"
}]
```

### TagoTiP (112 bytes)

```
PUSH|4deedd7bab8817ec|sensor-01|
[temperature:=32.5#C;humidity:=65#%]
```

## Ein Protokoll. Jedes Netzwerk.

Das Frame-Format von TagoTiP ist transportagnostisch. Senden Sie über jedes Protokoll, das Ihre Hardware oder Ihr Netzwerk unterstützt.

### UDP

Fire-and-Forget-Telemetrie. Minimaler Overhead für batteriebetriebene, eingeschränkte Hardware.

### TCP

Geordnete, garantierte Zustellung für Umgebungen, in denen Datenintegrität entscheidend ist.

### MQTT

Veröffentlichen Sie TagoTiP-Frames als MQTT-Payload über den Broker, den Sie bereits betreiben.

### HTTP

Keine Infrastrukturänderungen. Ändern Sie das Payload-Format, behalten Sie Ihren bestehenden REST-Stack.

## Keine Mehrdeutigkeit. Kein externes Schema.

Einfach zu verwenden. Typ-Operatoren sind Teil des Frames selbst.

### `:=` Numbers & Units

Integer or decimal. Attach any unit with #.

`# variable := value #unit`

- `temperature:=32.5#C`
- `pressure:=1013.25#hPa`
- `battery:=3.7#V`

### `=` Strings

Any text value. Status labels, version strings, named locations.

`# variable = "text value"`

- `status="running"`
- `firmware="v2.3.1"`
- `location_name="warehouse-A"`

### `?=` Booleans

Exact lowercase true or false. No other values accepted.

`# variable ?= true | false`

- `door_open?=true`
- `alarm_active?=false`
- `connected?=true`

### `@=` GPS Coordinates

lat, lng, or lat, lng, alt. Altitude always in meters.

`# variable @= lat,lng[,alt]`

- `location@=-35.28,149.12,600`
- `# combined with number in one frame`
- `[location@=-35.28,149.12;speed:=72#kmh]`

```
PUSH|4deedd7bab8817ec|sensor-01|[temperature:=32.5#C;status="online";alarm?=false;pos@=-35.28,149.12,600]
```

## Teil der TagoIO-Produktfamilie

TagoIO ist eine Full-Stack IoT-Cloud-Plattform. Jedes Produkt deckt einen Teil des Aufbaus, Betriebs und der Skalierung einer IoT-Lösung ab.

## Häufig gestellte Fragen

### Was ist TagoTiP?

TagoTiP ist ein offenes, leichtgewichtiges, menschenlesbares IoT-Telemetrieprotokoll. TagoIO hat es entwickelt und veröffentlicht die Spezifikation unter der Apache-2.0-Lizenz. Es verwendet kompakte, Pipe-delimitierte Frames, die über UDP, TCP, MQTT und HTTP funktionieren, sodass Geräte Daten mit weniger Bandbreite als bei HTTP/JSON senden können.

### Welche Transporte unterstützt TagoTiP?

Dasselbe Frame-Format funktioniert über UDP, TCP, MQTT und HTTP. Sie können den Transport wechseln, ohne Ihre Geräte-Firmware oder Datenpipeline zu ändern.

### Wie viel kleiner ist TagoTiP als HTTP/JSON?

Für denselben Sensorwert ist ein TagoTiP-Frame etwa 112 Bytes groß gegenüber 487 Bytes bei HTTP/JSON, also rund 4,3-mal kleiner. Das macht bei LTE-M, NB-IoT, LoRa und Satellitenverbindungen einen Unterschied.

### Ist TagoTiP kostenlos und offen?

Ja. Die Spezifikation ist öffentlich unter github.com/tago-io/tagotip und steht unter der Apache-2.0-Lizenz. Jeder darf sie implementieren, auf Client- oder Serverseite, für jeden Zweck, auch kommerziell, ohne Gebühr und ohne TagoIO-Konto.

### Brauche ich ein SDK, um TagoTiP zu nutzen?

Nein. Da die Frames reiner Text sind, können Sie sie direkt aus Ihrer Firmware oder einem beliebigen Client bilden und senden. Das Protokoll ist von Grund auf menschenlesbar.

### Brauche ich TagoIO, um TagoTiP zu nutzen?

Nein. Die Spezifikation definiert beide Seiten, Gerät und Server, also kann jedes Backend TagoTiP-Frames annehmen. Open-Source-Bibliotheken für Rust, Node.js, Python, Go und C/Arduino parsen und erzeugen Frames (github.com/tago-io/tagotip-sdk). TagoIO ist ein Server, der TagoTiP auf allen vier Transporten nativ versteht, sodass Sie dort starten können, ohne einen eigenen zu betreiben.

## In Minuten Daten senden

Die TagoTiP-Spezifikation ist kostenlos und offen unter Apache 2.0. Kein SDK nötig: Bilden Sie den Frame und senden Sie ihn an TagoIO oder an jeden Server, der die Spezifikation umsetzt.

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