TagoTiP

O Protocolo IoT Aberto. Qualquer Transporte. Qualquer Servidor.

TagoTiP é um protocolo de telemetria leve e legível por humanos para UDP, TCP, HTTP e MQTT. A especificação é aberta sob Apache 2.0: rode no seu próprio backend ou envie para a TagoIO hoje mesmo.

ESP32

Wi-Fi + BLE

STM32

LoRa + Cellular

Arduino

Ethernet

TCP UDP MQTT HTTP
TagoTiP Protocol

TagoIO

Plataforma em Nuvem

TagoDeploy

Instância Dedicada

Sua Nuvem

Qualquer Provedor

Servidor Local

On-Premise

PUSH|token|serial|temperature:=23.5#C GET|token|serial|humidity:=68#% ACK|200|OK|1 record saved PUSH|token|serial|temperature:=23.5#C GET|token|serial|humidity:=68#% ACK|200|OK|1 record saved

Por que TagoTiP

Feito para dispositivos limitados e redes reais

Tudo que você precisa para enviar dados de telemetria com confiança. Menos overhead, mais clareza.

Payloads Menores

Formato compacto delimitado por barra vertical usa uma fração da banda de HTTP/JSON. 112 bytes vs 487 bytes para os mesmos dados. Crítico para LTE-M, NB-IoT, LoRa e links via satélite.

Legível por Humanos

Leia, escreva e faça debug de frames direto no terminal ou monitor serial. Sem parsers binários, sem ferramentas externas. Se você consegue ler uma string delimitada por barra vertical, consegue debugar o TagoTiP.

Agnóstico de Transporte

O mesmo formato de frame funciona via UDP, TCP, MQTT e HTTP. Troque de transporte sem alterar o firmware do dispositivo ou o pipeline de dados.

Tipagem Segura por Design

Operadores de atribuição explícitos definem números, strings, booleanos e coordenadas GPS inline. Sem casting ambíguo de JSON. O tipo é declarado na origem.

Comparação

Menos bytes. Mais sinal.

Veja como o TagoTiP se compara com uma requisição HTTP/JSON padrão para leituras de sensores IoT.

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": "%"
}]
↔ 4,3x menor
TagoTiP 112 bytes
PUSH|4deedd7bab8817ec|sensor-01|
[temperature:=32.5#C;humidity:=65#%]

Transportes

Um protocolo. Toda rede.

O formato de frame do TagoTiP é agnóstico de transporte. Envie por qualquer protocolo que seu hardware ou rede suporte.

UDP

Telemetria fire-and-forget. Overhead mínimo para hardware com bateria e recursos limitados.

Ver Funcionalidade

TCP

Entrega ordenada e garantida para ambientes onde integridade de dados é crítica.

Ver Funcionalidade

MQTT

Publique frames TagoTiP como payload MQTT no broker que você já usa.

Ver Funcionalidade

HTTP

Zero mudanças na infra. Troque o formato do payload, mantenha seu stack REST.

Ver Funcionalidade

Sintaxe

Sem ambiguidade. Sem schema externo.

Fácil de usar. Operadores de tipo fazem parte do próprio frame.

:=

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]

→ All 4 types in a single frame
PUSH|4deedd7bab8817ec|sensor-01|[temperature:=32.5#C;status="online";alarm?=false;pos@=-35.28,149.12,600]

Perguntas Frequentes

O que é o TagoTiP?
O TagoTiP é um protocolo de telemetria IoT aberto, leve e legível por humanos. A TagoIO escreveu o protocolo e publica a especificação sob a licença Apache 2.0. Ele usa frames compactos delimitados por barra vertical que funcionam sobre UDP, TCP, MQTT e HTTP, para que os dispositivos enviem dados com menos banda do que HTTP/JSON.
Quais transportes o TagoTiP suporta?
O mesmo formato de frame funciona sobre UDP, TCP, MQTT e HTTP. Você pode trocar de transporte sem alterar o firmware do dispositivo nem o seu pipeline de dados.
Quanto menor o TagoTiP é em relação ao HTTP/JSON?
Para a mesma leitura de sensor, um frame TagoTiP tem cerca de 112 bytes contra 487 bytes do HTTP/JSON, aproximadamente 4,3 vezes menor. Isso faz diferença em links LTE-M, NB-IoT, LoRa e satélite.
O TagoTiP é gratuito e aberto?
Sim. A especificação é pública em github.com/tago-io/tagotip, sob a licença Apache 2.0. Qualquer pessoa pode implementá-la, no cliente ou no servidor, para qualquer finalidade, inclusive comercial, sem taxa e sem conta na TagoIO.
Preciso de um SDK para usar o TagoTiP?
Não. Como os frames são texto puro, você pode montá-los e enviá-los diretamente do seu firmware ou de qualquer cliente. O protocolo é legível por humanos por design.
Preciso da TagoIO para usar o TagoTiP?
Não. A especificação define os dois lados da conversa, o dispositivo e o servidor, então qualquer backend pode receber frames TagoTiP. Bibliotecas open-source para Rust, Node.js, Python, Go e C/Arduino fazem o parse e montam os frames (github.com/tago-io/tagotip-sdk). A TagoIO é um servidor que fala TagoTiP nativamente nos quatro transportes, então você pode começar por ela sem operar o seu.

Comece Agora

Comece a enviar dados em minutos

A especificação do TagoTiP é gratuita e aberta sob Apache 2.0. Sem SDK obrigatório: monte o frame e envie para a TagoIO ou para qualquer servidor que implemente a especificação.