Manual de utilização
Voos
A área Voos contém o logbook da organização e o logbook pessoal de cada piloto. O regulamento europeu (Reg. UE 2019/947, AMC1 UAS.SPEC.050) exige registos completos, conservados três anos e protegidos contra alteração: aqui o requisito é arquitetura, não boa vontade.
A entrada de logbook
Cada voo é uma entrada com drone, piloto, descolagem e aterragem ao segundo, locais e coordenadas, baterias montadas, VLOS ou BVLOS, número OA, anomalias e — se a missão estiver ligada a uma ordem de operação — a referência ODO-2026-001 / TO-3. A duração calcula-se sozinha pela diferença entre aterragem e descolagem, e as horas do drone crescem em consequência.
As baterias indicam-se apenas na criação: entram no voo, acumulam as horas e voltam sozinhas a «por carregar». Podes anexar uma telemetria em JSON até 20 MB, como array de pontos {t, lat, lng, alt_m, speed_kmh, battery_pct}.
Append-only com cadeia de hash
As entradas não se alteram e não se apagam. Cada entrada está encadeada à anterior com um SHA-256 calculado sobre o hash anterior mais o conteúdo da entrada, numa cadeia por organização que arranca de um hash só de zeros. Adulterar uma entrada quebra a cadeia de forma evidente e verificável.
A tentativa de alteração é recusada pelo sistema, sempre: não há um campo que faça exceção. A eliminação está bloqueada enquanto a entrada tiver menos de três anos; na interface o botão nem sequer existe. Os erros corrigem-se com uma retificação: a partir da ficha do voo crias uma nova entrada ligada à original, pré-preenchida com os seus dados, que entra na cadeia por conta própria. A original fica onde está, visível, com a retificação indicada ao lado.
Na ficha do voo a impressão digital da entrada é mostrada por inteiro e pode ser copiada. Estão na cadeia drone, piloto, horários, locais e coordenadas, VLOS, número OA, anomalias e a referência à entrada retificada; não estão missão, telemetria, baterias e origem, que são dados auxiliares e reescrevíveis.
Os relatórios de missão levam um QR de verificação: quem recebe o documento abre uma página pública que recalcula a cadeia do zero a cada visita e mostra voo a voo se a impressão digital está íntegra, juntamente com as impressões digitais dos ficheiros entregues. Existe também um certificado de histórico operacional por drone, sem locais, pilotos e clientes.
Exportações
A partir do logbook descarregas a Exportação ENAC (PDF) escolhendo drone (ou todos) e intervalo de datas, com o hash de topo da cadeia impresso no documento. O QTB — Caderno Técnico de Bordo é, esse, uma ação na ficha do drone: identidade da aeronave, todos os seus voos, manutenções e baterias atribuídas, a exportação para mostrar numa inspeção.
Logbook do piloto
Cada piloto tem a sua página pessoal, limitada aos voos feitos nesta organização: horas totais de carreira com número de voos, horas do ano em curso, horas dos últimos 90 dias e um indicador de atividade recente.
Sobre esse indicador há que dizer uma coisa honesta: é um simples «voaste nos últimos 90 dias, sim ou não». Não aplica uma regra de currency normativa, não conta horas mínimas e não conta descolagens: é um lembrete, não um atestado de aptidão.
No ecrã vês as últimas 50 entradas; o histórico completo está nas exportações PDF (com as estatísticas no topo) e CSV — úteis para documentar a experiência numa renovação.
Importação a partir da DJI Cloud
Para as contas DJI ligadas existe um canal de ingest que recebe os voos da cloud e os escreve no logbook. O drone é reconhecido pelo número de série: se esse número não estiver na frota o voo é recusado com uma mensagem explícita, porque uma entrada sem aeronave identificada não tem valor. O piloto é associado pelo email, com recurso ao primeiro proprietário ou administrador. As baterias desconhecidas são registadas automaticamente no drone do voo, com etiqueta obtida do número de série e uma nota que diz como nasceram.
O mesmo voo importado duas vezes não gera um duplicado: a referência externa é única por organização. O payload em bruto é sempre arquivado, e a telemetria só é ligada se o voo trouxer mesmo pontos — mais vale nenhum trajeto do que um trajeto falso.
Uma precisão devida: a ligação à conta DJI não é um interruptor para acender no painel. Exige a conta de programador DJI do operador e uma configuração dedicada, e tem de ser ativada na instalação.
Importação CSV a partir do AirData
Se vens do AirData UAV podes importar os logs sem reescrever nada. A ação Importar de AirData (CSV) aceita a exportação «Flight Log CSV» por voo, até 20 MB: escolhes drone, piloto e, se quiseres, a bateria montada — o CSV do AirData não contém estas identidades, por isso indica-las tu.
O parser reconhece os nomes de coluna de forma tolerante — maiúsculas, espaços, hífenes e underscores não contam — e percebe sozinho o separador, vírgula ou ponto e vírgula. As conversões são automáticas: os pés tornam-se metros, as milhas por hora e os metros por segundo tornam-se km/h, os graus Fahrenheit tornam-se Celsius, os milivolt tornam-se volt e os miliampere ampere. Também a vírgula decimal das exportações europeias é tratada. A corrente é tomada em valor absoluto, porque os logs DJI registam-na negativa em descarga e o AirData positiva.
Quanto aos horários: se o ficheiro trouxer um timestamp absoluto, descolagem e aterragem vêm de lá e o campo «data/hora de descolagem» da janela é ignorado. Se o ficheiro só tiver um tempo relativo, essa data torna-se obrigatória e o sistema diz-to.
As linhas malformadas não fazem falhar a importação: são ignoradas e contadas, e a contagem aparece na notificação final juntamente com amostras, duração, altitude máxima e bateria mínima. Se faltarem as colunas essenciais a importação para e lista-te quais, com os nomes do AirData. Reimportar o mesmo ficheiro não cria um duplicado — o reconhecimento é feito sobre a impressão digital do ficheiro, por isso uma reexportação, mesmo que só ligeiramente diferente, seria importada como voo novo.
Do trajeto o sistema retira também avisos que vão parar às anomalias da entrada: bateria abaixo de 15%, menos de oito satélites, desequilíbrio de células de 150 mV para cima. As anomalias estão na cadeia de hash, portanto esse texto fica nos autos.
Telemetria do voo
Na ficha do voo, por baixo da entrada de logbook, há três blocos.
Telemetria e replay mostra altitude máxima, velocidade máxima, distância percorrida, bateria mínima e célula mínima, depois os gráficos de altitude e velocidade e de bateria e tensão de célula, e por fim o trajeto no mapa com os marcadores de descolagem e aterragem. Por baixo do trajeto são desenhadas as zonas UAS carregadas pela organização, a vermelho.
Telemetria da bateria é o bloco das células. Se o log trouxer as tensões por célula, vês uma curva para cada célula; se não as trouxer — acontece com os ficheiros históricos, que guardavam só mínimo e desequilíbrio — vês em vez disso a faixa entre célula mínima e célula máxima, reconstruída a partir do spread. Ao lado corre a temperatura do pack. No gráfico estão traçados dois limiares a tracejado: a descarga profunda a 3,30 V por célula e a sobretemperatura a 60 °C, ambos etiquetados com o valor. O segundo gráfico cruza percentagem de bateria e altitude.
Aqui há que dizer o limite mais importante, porque muda o que podes concluir: se o voo tiver duas ou mais baterias, os dados de célula não são atribuíveis. Não se sabe qual célula pertence a qual pack, por isso o sistema não escreve nenhuma estatística em nenhuma das duas e esse voo não contribui para o score de saúde. O gráfico pode ainda desenhar o trajeto — vem do ficheiro — mas não é referível a um pack. Do mesmo modo, se o trajeto não trouxer dados de bateria (uma gravação só de GPS, por exemplo), o bloco declara que não há nada em vez de mostrar um gráfico vazio.
Análise pós-voo lista as observações automáticas recalculadas a partir da telemetria: altitude acima dos 120 m e bateria abaixo de 10% são assinaladas como graves, bateria abaixo de 15%, menos de seis satélites e distância da descolagem acima de 500 m como menores. Daí, com uma ação, abres um incidente já pré-preenchido com estas observações.