Relatório BP
Comando BP (G)
Relatório binário compacto para transmissão eficiente. Adequado para comunicação via satélite (Iridium 9602 SBD).
A estrutura pode ser visualizada em modo debug através do Comando DB.
Gerar relatório
GBPbbcVer Comando G para detalhes dos parâmetros.
O destino ;@dd..dd da sintaxe genérica do Comando G é aceito mas ignorado: AddRpt() intercepta o relatório BP antes de enfileirá-lo e o envia sempre pela porta serial local (rptBpToPort()), sem passar pela fila de retentativas/ACK.
Plataforma IoT
Para modelos Spider IOT, Smart IOT, Zero IOT.
Os parâmetros são configurados através do Comando CXBP.
Estrutura binária
Trama fixa de 39 bytes (rptBpToPort(), protocol.c:50-131), igual para todos os equipamentos compatíveis: não há variantes de 24/28/32 bytes nem um formato diferente por plataforma.
Inclui ID de relatório, Data, Hora, Latitude, Longitude, Velocidade, Rumo, estado de entradas (IN), saídas digitais (XP), flags de limiares analógicos (AR), tensão de bateria, antiguidade de posição e ID de equipamento.
| Byte(s) | Campo | Tipo | Descrição |
|---|---|---|---|
| 0 | IdRpt | uint8 | Número de relatório (00-FF) |
| 1 | Dia | uint8 | 1-31 |
| 2 | Mês | uint8 | 1-12 |
| 3 | Ano | uint8 | 2 dígitos (ex: 24 = 2024) |
| 4 | Hora | uint8 | 0-23 |
| 5 | Minuto | uint8 | 0-59 |
| 6 | Segundo | uint8 | 0-59 |
| 7-10 | Latitude | int32, Big Endian | Graus ×100000, com sinal |
| 11-14 | Longitude | int32, Big Endian | Graus ×100000, com sinal |
| 15-16 | Velocidade | uint16, Big Endian | km/h |
| 17-18 | Rumo | uint16, Big Endian | graus |
| 19 | IN | uint8 | Entradas digitais IN00-IN07 (bit 0 = IN00) |
| 20 | XP | uint8 | Saídas digitais XP00-XP02 (bit 0 = XP00) |
| 21 | AR | uint8 | Flags de limiar analógico AR00-AR05 (bit 0 = AR00) |
| 22-23 | VBat | uint16, Big Endian | Tensão de bateria principal, décimos de V |
| 24 | Age | uint8 | Segundos desde a última posição válida |
| 25-36 | ID equipamento | char[12] | ID do equipamento, 12 caracteres fixos |
| 37-38 | Checksum | uint16, Big Endian | Soma acumulada dos bytes 0-36 |
Não há coordenadas em ponto flutuante nem tamanhos de pacote variáveis (24/28/32 bytes): a trama é sempre de 39 bytes, com Latitude e Longitude como inteiros de 32 bits Big Endian (não IEEE754 Little Endian) e o ID de equipamento em 12 bytes fixos (não variável, não depende de CXBP). O checksum é uma soma acumulada dos bytes anteriores, não um XOR.