Como o dex-embedded funciona
O gateway (dex-gateway) é um programa único, escrito em Rust, que roda como serviço no MDVR. Ele
escuta os relógios por Bluetooth, resolve quem é o operador, guarda tudo localmente e entrega os
eventos ao software do parceiro.
relógio ──BLE──▶ dex-gateway ──▶ API local (gRPC) ──▶ software do parceiro
│ └──▶ MQTT (opcional)
└─────────▶ nuvem Dersalis (incidentes e telemetria)
Quatro decisões de projeto
1. O Bluetooth só escuta, nunca conecta
O relógio já transmite, em cada anúncio Bluetooth, tudo que o gateway precisa: jornada, incidente, status. O gateway só observa esses anúncios (scan passivo). Isso evita o custo e a fragilidade de manter uma conexão por dispositivo, e não exige nenhum pareamento.
2. O operador é identificado dentro do equipamento
O anúncio do relógio traz só um prefixo do identificador do colaborador, que não basta para resolvê-lo sozinho. O gateway baixa da nuvem a lista de colaboradores e monitoramentos da empresa e a mantém em memória; cada evento é resolvido contra essa lista na hora, sem ir à rede.
Por isso o equipamento continua tratando o status do operador mesmo com a conexão caída: só a atualização da lista depende da nuvem. Ela é disparada quando um operador começa a jornada, e não o tempo todo.
3. O seu software recebe eventos já resolvidos
O seu software nunca vê Bluetooth nem identificadores internos. O contrato é uma API local
(gRPC, 127.0.0.1, só acessível de dentro do equipamento) com os campos já resolvidos: a
matrícula do operador e o nome do monitoramento. O contrato é versionado: dentro da versão v1 só se
acrescentam campos.
Quem não quer compilar uma biblioteca gRPC no equipamento usa o dex-events, que entrega os mesmos
eventos como uma linha JSON por evento. Quem prefere um barramento publica por MQTT.
4. Tudo é gravado antes de ser entregue
Cada evento vai para uma fila local durável (SQLite) assim que é decodificado e resolvido, com eliminação de duplicatas: o relógio repete o mesmo incidente a cada poucos segundos enquanto ele está ativo, e isso vira um único registro, atualizado conforme o incidente evolui.
Essa fila desacopla a captura Bluetooth da API local e do envio à nuvem: uma queda de rede ou um software do parceiro fora do ar não perde nada.
O que fica no equipamento
- Jornada do gateway: o contêiner a que incidentes, status e testes de atenção pertencem. O software do parceiro a controla dizendo qual operador acompanhar e quando o turno termina.
- Retenção: os dados vivem com a jornada. Depois dela, o gateway apaga o que já foi entregue à nuvem e confirmado pelo parceiro, para o armazenamento do equipamento não crescer sem limite.
- Privacidade: o nome do operador não é armazenado. O resultado do teste de atenção é dado de saúde: só circula pela API local e, se o parceiro ligar a telemetria, pela nuvem, e nunca é escrito em log.
E a nuvem?
O gateway envia à nuvem Dersalis os incidentes (já identificados) em segundo plano, de forma leve. Há também uma telemetria opcional (posição do veículo, estado do gateway e dos relógios), desligada por padrão. O gateway não depende da nuvem para entregar eventos ao seu software.
Próximos passos
- Veja os requisitos do equipamento.
- Pronto para começar? Torne-se parceiro.