Aplicação python ‐ Vaisala - tecnologiadB/MonitoramentoRuidoWiki GitHub Wiki

VaisalaConfigure (Python)

Utilitário responsável pela configuração padronizada dos sensores Vaisala, garantindo calibração, sincronização e operação consistente entre os dispositivos e o restante da solução.


Arquitetura de pastas

vaisala_service/
├─ app/
│  ├─ __init__.py
│  ├─ main.py                      # bootstrap (uvicorn/worker CLI)
│  ├─ settings.py                  # Pydantic Settings (carrega INI/env)
│  ├─ orchestrators/
│  │   ├─ scheduler.py             # Agenda coletas (vento/PTU/chuva)
│  │   └─ pipeline.py              # Ingestão → validação → enrich → persistir/publicar
│  ├─ domain/
│  │   ├─ models.py                # dataclasses/pydantic (Vento, PTU, Chuva, NivelRuido, Periodo)
│  │   ├─ policies.py              # limites, tonal/impulsivo (Strategy)
│  │   └─ periods.py               # mapa de períodos (diurno/vespertino/noturno)
│  ├─ infra/
│  │   ├─ serial_gateway.py        # Adapter Vaisala (pyserial-asyncio)
│  │   ├─ sonometro_gateway.py     # Adapter (TCP/IP)
│  │   ├─ storage.py               # Persistência (CSV/DB/Blob)
│  │   ├─ streaming.py             # MQTT/HTTP/gRPC (opcional)
│  │   └─ observability.py         # logging estruturado + metrics
│  └─ web/
│     └─ api.py                    # FastAPI (health/metrics/opcional)
├─ tests/                          # pytest (mocks, loopback serial)
├─ pyproject.toml                  # ruff/black/mypy/uvicorn deps
└─ README.md

🎯 Objetivo

Realizar a configuração automatizada dos sensores Vaisala, assegurando que todos os parâmetros operacionais estejam devidamente ajustados e armazenados para uso contínuo pelos outros componentes do sistema.


⚙️ Comportamento

  • Execução sob demanda via LabVIEW ou manualmente pelo operador;
  • Detecção automática de portas serial/USB disponíveis;
  • Envio de comandos de configuração e calibração diretamente para o sensor;
  • Gravação de parâmetros atualizados em config.ini para uso pelos demais componentes.

🔄 Fluxo de Execução — VaisalaConfigure

flowchart TD
    A[Inicio - Chamado pelo LabVIEW ou operador] --> B[Carregar parametros desejados para o sensor]
    B --> C[Identificar portas seriais ou USB disponiveis]
    C --> D{Porta encontrada?}
    D -- Nao --> E[Registrar erro de comunicacao e encerrar] --> Z[Fim]
    D -- Sim --> F[Estabelecer comunicacao com sensor Vaisala]
    F --> G[Enviar comandos de configuracao e calibracao]
    G --> H[Receber respostas do sensor]
    H --> I{Configuracao aplicada com sucesso?}
    I -- Nao --> J[Registrar erro em log] --> Z[Fim]
    I -- Sim --> K[Atualizar arquivos de configuracao locais]
    K --> Z[Fim]