Ingestão
Topics, QoS, formato do payload, timestamps e como detectamos um dispositivo que caiu. Seus dispositivos se conectam para fora, contra o nosso broker, com credenciais que você pode revogar quando quiser.
bloomiot/v1/d/<deviceId>/telemetryDocumentação
Se seus dispositivos já publicam via MQTT — ou se o seu gateway roda o próprio network server LoRaWAN — não é preciso esperar por ninguém. Damos as credenciais, você mapeia seus campos e tem mapa de zonas, histórico e alertas rodando sobre o hardware que já está no campo.
MQTT 3.1.1 / 5.0 · LoRaWAN · TLS 1.2+ · JSON · sem SDK obrigatório
O que cada tipo de dispositivo realmente publica
O mesmo contrato de telemetria, em três formatos reais. Escolha um tipo de dispositivo para ver o payload e quais campos o Workspace já entende.
{
"deviceId": "node-lot3-04",
"ts": "2026-08-27T14:20:05Z",
"zone": "zone-b",
"fw": "1.4.2",
"metrics": {
"soil_moist": 0.31,
"battery_v": 3.71
},
"status": {
"rssi": -78
}
}metrics.soil_moist → Umidade do solometrics.battery_v → Bateriastatus.rssi → Intensidade do sinalUm Soil Sensor Node reporta umidade e bateria em intervalo fixo — sem válvula, sem pressão, só a leitura de campo.
Ingestão e mapeamento bastam para o monitoramento completo. O controle remoto é opcional e depende do seu firmware.
Topics, QoS, formato do payload, timestamps e como detectamos um dispositivo que caiu. Seus dispositivos se conectam para fora, contra o nosso broker, com credenciais que você pode revogar quando quiser.
bloomiot/v1/d/<deviceId>/telemetryAssocie os campos do seu JSON a variáveis do Workspace, com conversão de unidades e visualização da última mensagem recebida.
soil_moist (0–1) → Umidade do solo (%)Para abrir e fechar válvulas a partir do Workspace, seu firmware precisa se inscrever no topic de comandos e reportar o status de volta. Sem isso, tudo o resto funciona igual em modo monitoramento.
.../commands · QoS 1A ingestão é uniforme: qualquer coisa que publique entra. O controle não é, e preferimos dizer isso aqui antes que você descubra no meio da integração.
MQTT nativo
Seu firmware, ESP32 ou outro MCU
Cliente MQTT sobre TLS e inscrição no topic de comandos.
LoRaWAN
O servidor embutido do seu gateway
Uma integração MQTT no network server do próprio gateway, apontada para as credenciais que o Workspace emite.
LoRaWAN (Bloomiot Network Server)
Hospedado por nós · a partir do Scale
Aponte o gateway para o nosso LNS. Nós registramos cada nó e emitimos as chaves OTAA.
API REST / webhook
Plataformas e dataloggers
Um endpoint com token. Sem canal de retorno até o dispositivo.
O mesmo caminho que qualquer conta com hardware próprio segue dentro do Workspace.
Gerar as credenciais do dispositivo
Registrar o dispositivo e publicar uma mensagem de teste
Mapear os campos do seu JSON para variáveis do Workspace
Enviar telemetria real e confirmar que chega ao dispositivo
Associar o dispositivo a uma zona
Ativar os alertas que se aplicam ao seu dado
O mesmo esquema que todo dispositivo — Bloomiot ou de terceiros — publica.
Protocolo
MQTT 3.1.1 / 5.0
Transporte
TLS 1.2+ · porta 8883
QoS
1 · pelo menos uma vez
Intervalo de telemetria
A partir de 60 s por dispositivo
Identidade
1 credencial por dispositivo
Comandos
QoS 1 · envelope JSON
Timestamp
ISO 8601 UTC
Detecção de queda
Topic de status · padrão Last Will
Transferência de firmware
Nunca via MQTT · HTTPS + SHA-256
bloomiot/v1/d/{deviceId}/telemetryDispositivo → nuvem. Leituras de sensores, ou o lote de nós filhos de um gateway.
bloomiot/v1/d/{deviceId}/statusDispositivo → nuvem. Estado de conexão; funciona como Last Will quando o dispositivo cai sem avisar.
bloomiot/v1/d/{deviceId}/commandsNuvem → dispositivo. Controle de válvula, reinício e atualização OTA, QoS 1.
bloomiot/v1/d/{deviceId}/events/otaDispositivo → nuvem. Progresso do OTA: accepted, downloading, verifying, success, failed.
Todo campo além de deviceId e ts é opcional: envie só o que o seu hardware mede.
deviceIdstringObrigatóriotsISO 8601Obrigatóriometrics.soil_moist0 – 1Opcionalmetrics.pressure_bar0 – 20 barOpcionalmetrics.flow_lpm0 – 1000 L/minOpcionalmetrics.battery_v0 – 5 VOpcionalstatus.valveopen · closedOpcionalstatus.rssinumberOpcionalExemplo: um dispositivo publicando telemetria
LoRaWAN
O mesmo Workspace, os mesmos alertas, o mesmo histórico. O que muda é quem roda o network server: o seu gateway ou nós.
A maioria dos gateways de terceiros já vem com um network server a bordo, quase sempre ChirpStack. Seus nós se juntam a ele, as chaves de sessão nunca saem do seu site, e o gateway encaminha cada uplink para a Bloomiot por MQTT.
Para gateways sem servidor próprio, ou frotas que preferem não rodar um. Você aponta o gateway para o nosso LNS e nós cuidamos do join, das chaves e do roteamento.
Você não precisa adivinhar em qual está
O Workspace decide pelo modelo do gateway. O hardware que sabemos que traz servidor embutido fica nessa rota; o que sabemos que não tem vai para o nosso. Só um modelo do qual não temos registro deixa a escolha aberta, e aí o campo Network server do formulário é seu.
As duas terminam no mesmo lugar: um dispositivo reportando dentro de uma zona. O que muda é o meio.
Registre o gateway
Devices → Add device, conectividade LoRaWAN, tipo Gateway. Escolha fabricante e modelo; o campo Network server resolve para Built into this gateway.
Copie as credenciais MQTT
O registro emite host do broker, usuário e senha, mostrados uma única vez. Baixe o arquivo de setup antes de fechar o diálogo.
Aponte o servidor do gateway para a Bloomiot
No painel dele: ChirpStack → Applications → Integrations → MQTT. Informe o host sobre TLS e as credenciais do passo 2.
Declare seus nós no ChirpStack
Cada nó precisa de um device profile com codec de payload. A Bloomiot lê o objeto decodificado, então um nó sem codec chega com bytes que ninguém consegue ler.
Registre esses mesmos nós no Workspace
Cadastre cada um por DevEUI e associe ao gateway do passo 1. O DevEUI é o que liga um uplink a um dispositivo.
Confirme o primeiro uplink
O nó fica online e as leituras aparecem no histórico do dispositivo. Depois você mapeia os campos que quer no gráfico e o atribui a uma zona.
Registre o gateway
O mesmo formulário, com Network server em Bloomiot Network Server.
Aponte o gateway para o nosso LNS
A folha de setup traz os endpoints LNS e CUPS, a chave do gateway e o plano de frequências da sua região.
Registre cada nó por DevEUI
A Bloomiot provisiona o nó no network server e emite seu JoinEUI e sua AppKey.
Carregue as chaves OTAA no nó
DevEUI, JoinEUI e AppKey, com a ferramenta de configuração do fabricante. Depois ligue o nó para fazer o join.
Confirme o join
O nó aparece como conectado assim que o network server o enxerga, e as leituras seguem no intervalo de reporte dele.
Mapeie e atribua
O mesmo passo final de sempre: mapear os campos que você quer e colocar o dispositivo em uma zona.
Workspace · registro do gateway, com o network server para o qual o modelo resolve
Os dois network servers embrulham a mesma coisa: o que o codec do seu device profile decodificou. Esse objeto é o que mapeamos.
application/{applicationId}/device/{devEui}/event/upGateway → Bloomiot. Um publish por uplink de nó.
application/{applicationId}/device/{devEui}/command/downBloomiot → gateway. Enfileira um downlink no seu próprio network server.
deviceInfo.devEui16 hexLiga o uplink a um dispositivo registradodeviceInfo.applicationIdstringGuardado no primeiro uplink · endereça os downlinksobjectJSON decodificadoSaída do codec — as leiturastimeISO 8601Na falta, usa a hora de chegadarxInfo[].rssinúmeroO gateway que melhor ouviuChirpStack v3 e v4 funcionam igual: o DevEUI é lido nas duas grafias. Um uplink de um nó que você não registrou é descartado em vez de armazenado: numa banda compartilhada o seu gateway também ouve hardware que não é seu.
Seu codec nomeia os próprios campos. Estes são os nomes que a Bloomiot reconhece; qualquer outro fica fora das métricas em vez de ser adivinhado.
Umidade do solo
soil_moist · soil_moisture · soilMoistureGuardada como 0–1. Acima de 1 é lida como porcentagem e escalada.
Pressão de linha
pressure_bar · pressureBar · pressurebar
Vazão
flow_lpm · flowLpm · flowlitros por minuto
Bateria
battery_v · batteryV · battery_voltage · batteryVoltagevolts
humidity está ausente de propósito. Na maioria dos nós é umidade do ar, e alimentar a umidade do solo com isso levaria a irrigar pelo número errado. Se o seu mede solo mesmo, renomeie no codec.
A integração MQTT do ChirpStack é bidirecional, então o controle não precisa de conexão de entrada até o seu gateway nem de uma segunda API. A Bloomiot publica no topic de comandos e o seu próprio network server enfileira o downlink.
O que a Bloomiot publica
{
"devEui": "A84041XXXXXXXXXX",
"confirmed": true,
"fPort": 10,
"object": { "valve": "open", "output": 1 }
}Classe C
Receptor sempre aberto. O comando se aplica em segundos.
Classe B
Janelas fixas por beacon. O comando se aplica na próxima.
Classe A
Só escuta logo depois de transmitir. O comando fica enfileirado e se aplica no próximo uplink, tipicamente entre 15 e 60 minutos.
O Workspace informa qual delas se aplica antes de você confirmar, a partir do modelo registrado. Um controlador que parece não responder quase sempre é um nó Classe A que ainda não falou.
Escolher um modelo preenche o protocolo, o plano de frequências, a classe do dispositivo e se o gateway roda o próprio network server. O que não estiver na lista também se registra: escolha Other e preencha os campos você mesmo.
A maioria aparece como supported: especificações conhecidas, campos pré-preenchidos e aderência ao padrão. Verified fica reservado ao hardware que de fato ligamos e rodamos de ponta a ponta.
Cada alerta declara qual variável precisa. Se seus dispositivos não a publicam, ela aparece desativada no Workspace em vez de falhar em silêncio.
Válvula aberta sem pressão
A pressão de linha cai abaixo de 1,8 bar com uma válvula aberta.
pressure_bar + status da válvula
Queda brusca de pressão
A pressão cai mais de 0,8 bar mais rápido que o padrão esperado.
pressure_bar
Vazão com válvula fechada
Vazão acima de 1 L/min é detectada quando todas as válvulas deveriam estar fechadas.
flow_lpm + status da válvula
Umidade não subiu após a irrigação
Uma zona sobe menos de 2% depois de um ciclo de irrigação completo.
soil_moist + zona
Dispositivo sem comunicação
Sem mensagens por mais de 10 minutos, ou o topic de status reporta offline.
nada · qualquer dispositivo
Bateria perto de acabar
A tensão da bateria cai abaixo de 20% para aquele nó.
battery_v
Catálogo completo (18 regras) disponível dentro do Workspace, em Alerts.
Os mesmos módulos, venha o seu dado de hardware Bloomiot ou dos seus próprios dispositivos.
Inteligência de satélite
Os planos Scale e Enterprise somam imagens de satélite Sentinel-2 sobre o seu dado de campo — sem hardware extra, sem integração extra, e funciona não importa qual rota das acima você escolheu.
Cobertura de todo o campo
Um sensor de solo reporta um ponto. A imagem Sentinel-2 cobre todo o talhão a 10 m de resolução, então uma zona com estresse sem sensor por perto ainda aparece.
Cinco índices de vegetação e umidade
NDVI, NDMI, NDRE, MSAVI e RECI transformam a imagem bruta em sinais de vigor, estresse hídrico e clorofila que a sua equipe pode usar.
Funciona antes do primeiro dispositivo chegar
As camadas de satélite aparecem assim que o site é criado — mesmo antes de registrar um único sensor.
Cruza o dado com a realidade de campo
Quando a leitura de um sensor e a imagem discordam, essa diferença costuma ser o primeiro sinal de uma sonda falhando ou uma irrigação desigual.
Em desenvolvimento
Nós de umidade do solo, um Edge Controller com acionamento de válvulas e detecção de vazamentos por pressão. Chega provisionado de fábrica: sem integração, sem mapeamento e sem firmware para escrever. Ainda não está disponível; o guia de instalação é publicado no lançamento.
Suporte
Mande um payload de exemplo e o modelo do dispositivo, peça credenciais de teste, ou nos avise sobre algo errado nesta página. Cada mensagem chega direto à nossa equipe.