2.1 KiB
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:
- riceve crop etichetta e metadati dal client navigazione;
- mostra l'immagine ricevuta in una finestra server;
- esegue OCR sul crop etichetta;
- prepara payload WMS finale;
- salva payload WMS su disco;
- simula verifica WMS con risposta
ACK/NACK; - 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/NACKresta governato dawms_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.