Aplicação C# ‐ Sonômetro - tecnologiadB/MonitoramentoRuidoWiki GitHub Wiki

📊 SoftwareExportacao (C#)

Módulo responsável por exportar dados consolidados do sonômetro utilizando o SDK oficial B&K, garantindo integridade, rastreabilidade e integração com o backend.


🎯 Objetivo

Exportar dados consolidados do sonômetro de forma automatizada, convertendo medições detalhadas em formatos interoperáveis (XML → JSON) para envio ao backend.


⚙️ Responsabilidades Principais

  • Execução agendada: normalmente duas vezes ao dia (configurável).
  • Comunicação com dispositivos B&K via bibliotecas e SDK oficiais.
  • Geração de XML contendo medições detalhadas do sonômetro.
  • Conversão XML → modelo interno → JSON para padronização.
  • Envio via REST para a API ou gravação em diretório monitorado.
  • Geração de logs detalhados de operação (traces.txt).

🔄 Fluxo de Execução — SoftwareExportacao

flowchart TD
    A[ Início — Agendamento ou comando do LabVIEW] --> B[Carregar configurações de exportação]
    B --> C[ Inicializar SDK do sonômetro]
    C --> D[ Detectar dispositivo conectado]
    D --> E{Dispositivo disponível?}
    E -- ❌ Não --> F[ Registrar erro em traces.txt] --> Z[ Fim]
    E -- ✅ Sim --> G[ Solicitar medições detalhadas ao dispositivo]
    G --> H[ Receber dados e gerar arquivos XML / estruturas internas]
    H --> I[ Mapear dados para modelo padrão interno]
    I --> J[ Montar JSON normalizado para API]
    J --> K[ Enviar POST para endpoint de medições ou relatórios]
    K --> L{ Resposta HTTP 200 OK?}
    L -- ❌ Não --> M[ Registrar erro em traces.txt] --> Z
    L -- ✅ Sim --> N[✅ Registrar sucesso em traces.txt] --> Z[ Fim]