1. Login do usuário
O frontend inicia o fluxo OAuth no Gateway: Também existe o fluxo em que o callback chega ao Gateway e depois o frontend troca umsession_id em POST /auth/exchange-session.
Com o access_token, as chamadas protegidas usam:
2. Criar sensor pelo Gateway
Usuários com papel global de operador de sensor podem criar sensores emPOST /sensors.
Campos principais:
namedescriptionmetadataadmins, lista opcional dekeycloak_user_id
- cria o sensor no Meters Service;
- registra o criador como
sensor_adminno Auth Service; - registra admins adicionais quando informados.
3. Boot automático do Raspberry Pi
O simulador e o device real usamPOST /transactions/account.
O campo pubkey é o endereço da carteira Besu do device. A chave privada nunca é enviada ao servidor.
Idempotência do boot
Se o mesmodeviceId já existir com a mesma carteira, o servidor responde already_registered: true. Nesse caso:
- o
sensor_idé devolvido; - a
public_keyHMAC não é reenviada; - o device deve continuar usando o segredo já salvo no
.env.
deviceId vier com outra carteira, a API retorna DEVICE_WALLET_MISMATCH.
Arquivo .env do device
O comando device-boot atualiza automaticamente:
Fluxo resumido
Provar a geração
O próximo passo: enviar medições assinadas
