Files
flywms/aggiornamento-2026-05-16-12-04.md
2026-05-19 08:52:44 +02:00

2.1 KiB

Aggiornamento 2026-05-16 12:04

Milestone prima implementazione OCR lato WMS server

Obiettivo

Evolvere flywms_wms_server.py da server demo ACK/NACK a server WMS demo con pipeline remota:

  1. riceve crop etichetta e metadati dal client navigazione;
  2. mostra l'immagine ricevuta in una finestra server;
  3. esegue OCR sul crop etichetta;
  4. prepara payload WMS finale;
  5. salva payload WMS su disco;
  6. simula verifica WMS con risposta ACK/NACK;
  7. risponde realmente al client.

Decisioni concordate

  • Il codice OCR deve idealmente essere il codice numerico reale sull'etichetta.
  • Se OCR reale non e' disponibile o non legge nulla, usare fallback demo configurabile.
  • Il server deve rispondere realmente al client.
  • Il client, per ora, continua a mostrare la risposta ma mantiene la logica di attesa demo gia' configurata.
  • In futuro il tempo di attesa verra' spostato completamente lato server e il client si adeguera' alla risposta.
  • La finestra payload server mostra solo l'ultimo gaylord ricevuto.
  • Il server salva anche il payload WMS finale in JSON, oltre al metadata originale.
  • L'esito ACK/NACK resta governato da wms_fake_ack_mode.

Finestre server previste

  • wms immagine ricevuta: crop etichetta ricevuto dal client.
  • wms payload: ultimo payload WMS con informazioni utili:
    • request id;
    • client id / drone;
    • snapshot id;
    • posizione;
    • codice OCR;
    • esito WMS;
    • data/ora ricezione;
    • track id;
    • bbox etichetta;
    • vettore movimento.

Configurazione prevista

Da aggiungere in flywms_navigation.ini:

wms_ui_enabled = true
wms_ocr_enabled = true
wms_ocr_mode = auto
wms_fake_ocr_prefix = UDC
wms_fake_ocr_delay_sec = 0.2
wms_fake_wms_delay_sec = 1.0
wms_operator = udrone
wms_site = demo-magazzino

Note tecniche

La GUI OpenCV del server non deve essere aggiornata direttamente dall'handler HTTP. L'handler aggiorna stato condiviso thread-safe; un thread UI separato aggiorna le finestre OpenCV.

L'OCR reale verra' implementato cercando prima le opzioni gia' disponibili nell'ambiente/progetto. Se non disponibili, il server resta funzionante con fallback demo e lo segnala nel payload.