Vai al contenuto

Smistamento stampe

Nello stand di tiro ci sono di solito due tipi di stampanti: una stampante di etichette alla cassa (p. es. Niimbot B1) e una stampante a fogli in ufficio per carte corona, classifiche e la chiusura di cassa. A queste può aggiungersi una stampante di scontrini per gli scontrini (p. es. Epson TM-m30III). Un browser non può comandare direttamente nessuna delle due – al massimo apre il dialogo di stampa.

Lo smistamento stampe risolve il problema: un piccolo dispositivo agente nella rete della società (p. es. un M5Stack Core2) cerca da sé le stampanti e le segnala all'app. Nell'amministrazione si stabilisce soltanto quale documento va a quale stampante. Dopodiché «Stampa» stampa direttamente (dopo una breve domanda: stampante o PDF) sull'apparecchio giusto.

Pacchetto Società

Lo smistamento stampe fa parte del pacchetto Società. Senza questo pacchetto l'app stampa tramite il browser; dispositivi e assegnazione restano salvati. Vedi Abbonamento.


Come funziona l'insieme

flowchart LR
    subgraph app["Schiess-Auswertungen"]
        direction TB
        doks["Etichette · Carte corona<br/>Classifiche · Chiusura"] --> weiche{{"Smistamento stampe<br/>Assegnazione"}}
        weiche --> ws[("Coda<br/>per stampante")]
    end

    subgraph haus["Rete della società nello stand di tiro"]
        direction TB
        agent["Dispositivo agente<br/>M5Stack Core2"]
        niimbot["Stampante di etichette<br/>Niimbot B1"]
        laser["Stampante a fogli<br/>p. es. Samsung, HP"]
    end

    agent -- "1 · segnala le sue stampanti" --> ws
    ws -- "2 · preleva i lavori" --> agent
    agent -- Bluetooth --> niimbot
    agent -- "Wi-Fi / IPP" --> laser
    agent -- "3 · conferma" --> ws
  • Il dispositivo agente preleva, l'app non invia mai. Per questo non servono porte aperte né un IP fisso – funziona dietro qualsiasi router.
  • Le stampanti le trova da sé: stampanti Niimbot tramite Bluetooth, stampanti di rete tramite la rete (AirPrint/IPP). All'avvio, ogni 10 minuti e premendo un pulsante.
  • Ogni lavoro viene confermato. Se la stampante è spenta, dorme o manca la carta, il lavoro resta in coda e parte non appena la stampante è di nuovo pronta.
  • L'app genera il formato che la stampante capisce – PDF o PostScript per le stampanti a fogli, un'immagine pronta per le etichette. Di driver non ce n'è bisogno.

Con un box nello stand di tiro

Se nello stand di tiro c'è un box, il dispositivo agente interroga entrambi: il cloud e il box. Il box lo trova da sé nella rete della società (mDNS), non occorre inserire un indirizzo. Così la cassa sul box stampa anche senza Internet.

flowchart LR
    cloud[("Cloud")] -- "Configurazione<br/>(dispositivi, chiavi, assegnazione)" --> box[("Box")]
    agent["Dispositivo agente"] -- preleva --> cloud
    agent -- "preleva<br/>(anche offline)" --> box
    box -. "lo trova via mDNS" .- agent

Si configura nel cloud. Il box riprende dispositivi, chiavi e assegnazione con la sincronizzazione (ogni ora o tramite Apparecchio → Sincronizza ora).

Qualche giorno senza Internet

Se Internet manca, sul box si può continuare a configurare:

  • Le nuove stampanti le annuncia al box il dispositivo agente stesso.
  • Si possono creare propri dispositivi agente sul box (segnati «solo su questo box»); la loro chiave vale subito.
  • Si possono inserire tipi di rotolo.
  • L'assegnazione si può sostituire – vale allora solo sul box («sostituita sul box»). Usare l'assegnazione del cloud la annulla.

Quando Internet torna, la sincronizzazione riunisce tutto: la stessa stampante appare una sola volta, i lavori in attesa restano. I dispositivi che vengono dal cloud non si modificano sul box – solo nel cloud.

Il box stampa da sé

Il box è esso stesso un dispositivo agente per le stampanti della sua rete – senza apparecchio aggiuntivo e senza chiave da inserire. Dopo l'accoppiamento si configura da solo presso il cloud e appare nell'amministrazione come dispositivo «Box …».

  • Stampanti A4 (p. es. Samsung, HP): le trova via AirPrint/IPP e stampa PDF o PostScript.
  • Stampanti di etichette Wi-Fi: Zebra (ZPL) e Brother QL. Legge la dimensione delle etichette dalla stampante.
  • Stampanti di scontrini in rete: Epson TM (p. es. TM-m30III, TM-T20, TM-T88) tramite la porta 9100. Legge modello, numero di serie e livello della carta dalla stampante.
  • Niimbot (p. es. B1): tramite cavo USB al box o via Bluetooth se il box ha un adattatore (p. es. mini-PC) – modello, numero di serie, rotolo e batteria vengono letti dalla stampante. Senza Bluetooth (RUTC), tramite un Core2. La B1 accetta una sola connessione: box o Core2, non entrambi.

Sul box lo si può disattivare in Stampa → Stampanti (Smistamento stampe) con Il box stampa da sé …, p. es. se un Core2 gestisce tutte le stampanti. Se box e Core2 trovano la stessa stampante, appare due volte – se ne assegna una, stampa solo quella.

Brother QL

Il supporto per Brother QL segue la descrizione del protocollo, ma non è ancora stato provato su un apparecchio reale.


Configurazione

1. Creare il dispositivo agente

Amministrazione → Stampa → Stampanti (Smistamento stampe), in basso in Nuovo dispositivo agente inserire un nome (p. es. «Core2 stand») e Crea. L'app mostra la chiave dell'agente e l'indirizzo del server – solo ora, una volta.

Trasferire subito la chiave

La chiave viene salvata solo come somma di controllo e più tardi non è più leggibile. Se è andata persa: sul dispositivo Nuova chiave – la vecchia allora non vale più. Destinazioni e assegnazione restano.

2. Configurare il dispositivo agente (M5Stack Core2)

  1. Accendere il Core2. Senza impostazioni apre la rete Wi-Fi PWA-Agent-XXXX.
  2. Collegarsi con telefonino o laptop; la pagina di configurazione si apre per lo più da sola (altrimenti http://192.168.4.1).
  3. Inserire: WLAN (Wi-Fi) e password dello stand di tiro, Server-URL e Agent-Schlüssel (chiave dell'agente) dal passo 1. In Box im Vereinsnetz (box nella rete della società) lasciare il valore predefinito «automatisch finden» (trova automaticamente).
  4. Speichern & neu starten. (salva e riavvia)

Dopo alcuni secondi il dispositivo figura nell'amministrazione come online, sotto le stampanti che ha trovato.

2b. Accoppiare l'agente PWA (agente autonomo)

L'agente PWA funziona anche senza box, p.es. su un mini-PC vicino alla stampante. Non conosce il cloud da solo – lo si accoppia con un link:

  1. Al primo avvio stampa uno scontrino di configurazione (scontrino, etichetta o A4) con l'indirizzo dell'interfaccia web, il PIN e un codice QR. Sul dispositivo pwa-agent pin mostra il PIN; pwa-agent pin neu ne crea uno nuovo.
  2. Qui sotto scegliere Accoppiare un agente PWA. L'app mostra un link di accoppiamento con codice (valido 15 minuti, una sola volta).
  3. Nell'interfaccia web dell'agente (http://<dispositivo>:2000/) accedere con il PIN, in Aggiungi connessione incollare il link – oppure scegliere «Schiess-Auswertungen» e inserire solo il codice – e Verifica. Mostra chi risponde (società), poi Connetti.

Poi compare qui come Agente di stampa … con le sue stampanti. Se nella rete c'è un box della stessa società, lo trova da solo e stampa anche senza Internet.

Cerca stampanti di rete (WebUI, scheda Stampanti, con PIN; dall'agente 0.9.40 – la WebUI è in italiano dalla 0.9.41): se attivato, l'agente cerca stampanti nella rete (Bonjour e Niimbot nella propria rete /24). Meglio installare l'agente solo dove ci sono stampanti: le stampanti di rete tramite un solo agente (p. es. il RUTC), le stampanti USB e Bluetooth sul dispositivo a cui sono collegate. Su questi dispositivi disattivare la ricerca appena lo scontrino di configurazione è stampato – altrimenti ogni agente annuncia di nuovo le stesse stampanti di rete. Disattivato, dimentica subito le stampanti di rete già annunciate; gli indirizzi inseriti a mano restano validi.

Scollegare:

  • Box o app sull'agente (p. es. un vecchio accoppiamento sotto «App in rete»): nella WebUI dell'agente con il PIN, sotto App in rete → Disconnetti.
  • Accoppiamento cloud dell'agente: nella WebUI sotto Connessioni → Disconnetti. Le voci «dall’app» le gestisce il box sullo stesso dispositivo.
  • Rimuovere del tutto l'agente: nel cloud, qui presso gli agenti, ✕, poi Eliminare davvero? – poi scollegarlo anche sul dispositivo, altrimenti continua ad annunciarsi con la sua vecchia chiave.

Ruoli (app che stampano direttamente tramite l'agente)

Le app che inviano direttamente all'agente PWA (p.es. un sistema di cassa) stampano su un ruolo come «Bon» o «Küche» invece che su una stampante precisa. Un ruolo è un elenco ordinato: Drucker (stampante), Ersatz (sostituta), 2. Ersatz (2a sostituta). L'agente prende la prima stampante pronta che sa gestire il formato; se una si guasta, cambiano anche i lavori in attesa.

Nell'interfaccia web, scheda Rollen (ruoli): con il PIN scegliere Rolle, Drucker, Ersatz e 2. Ersatz, poi Speichern (salva) – allo stesso modo modificare o rimuovere. La scheda mostra la catena di ogni ruolo; la stampante in uso al momento porta aktiv.

Per gli sviluppatori di app: POST /v1/auftraege con { rolle: "Bon", format, daten } invece di ziel; GET /v1/rollen fornisce i ruoli.

3. Verificare le stampanti

Ogni stampante segnalata ha una propria riga con stato (pronta, non vista, errore), batteria e etichette o carta rimanenti nel cassetto.

  • Nome visualizzato – p. es. «Cassa» o «Ufficio» invece del numero di modello. Appare anche sul display del dispositivo agente. Salvato uscendo dal campo, senza pulsante. Se la stampante ha già un nome (nome host, p. es. «Bon-Theke»), l'app lo mostra finché non è impostato un nome. Sotto il nome ci sono modello e numero di serie. Se un agente conosce una Niimbot in rete solo tramite l'indirizzo IP, accanto compare noto solo tramite l'IP … (nell'assegnazione e nella sostituzione «· tramite IP …»). Scegliere quella con numero di serie – l'IP cambia con il DHCP.
  • Stampa di prova (stampante di etichette), Scontrino di prova (stampante di scontrini) risp. Pagina di prova (stampante a fogli, A4) verifica il dispositivo stesso – anche senza assegnazione.
  • Coda mostra i lavori in attesa, stampati e falliti con contatori e indicazioni sul perché qualcosa non stampa – con riprova e elimina (con conferma).
  • Cerca stampanti sul dispositivo, quando si aggiunge una nuova stampante.

Nuovo rotolo di etichette

Il Niimbot segnala il tipo del suo rotolo, non il suo formato. Con un tipo sconosciuto l'amministrazione chiede una volta larghezza e altezza in millimetri (p. es. rotolo 10262260 = 50 × 30 mm). Dopodiché ogni rotolo di questo tipo viene riconosciuto.

4. Assegnare

In alto in Assegnazione si sceglie la stampante per ogni tipo di documento:

Tipo di documento Stampante Cosa
Etichette stampante di etichette etichette alla cassa, etichette sostitutive
Carte corona stampante a fogli carte corona (A6)
Diplomi stampante a fogli diplomi (A4) – vuoto = come i documenti
Documenti stampante a fogli classifica, chiusura di cassa, campionato, lista corone, conteggio munizione, AMM (A4)
Scontrini stampante di scontrini scontrino dopo il pagamento alla cassa
Buono di pagamento stampante di scontrini buono con QR dopo la registrazione di un pagamento (Pagamento); vuoto = la stampante degli scontrini
Scontrino risultato stampante di scontrini risultato con singoli colpi e immagine dei colpi (Corone); vuoto = la stampante degli scontrini
Portale dei risultati: scontrino / A4 stampante di scontrini / stampante A4 presso il chiosco del portale dei risultati; vuoto = nessuna stampa al portale (mai la stampante dell’ufficio)

Sono selezionabili solo stampanti del tipo adatto. «– come prima –» significa: nessuno smistamento, il browser stampa come prima. Eccezione Etichette: si stampano solo tramite lo smistamento – senza assegnazione la cassa segnala «Nessuna stampante assegnata per «Etichette».»

Ogni assegnazione ha un pulsante Test. Stampa per la stessa via come in servizio (etichetta di prova, carta di prova A6, scontrino di prova risp. pagina di prova A4) e verifica così stampante e assegnazione. La pagina di prova indica stampante, assegnazione e formato.

Avviso «Formato»

Se una stampante a fogli non sa gestire né PDF né PostScript, l'app invia PDF con «la stampante riconosce da sé». Funziona con molti, ma non con tutti i modelli – l'amministrazione mostra allora un avviso. Provare subito con la pagina di prova.

Stampante sostitutiva

Sotto la stampante di ogni assegnazione c'è Sostituta: «– nessuna sostituta –» o un'altra stampante dello stesso tipo. Se la stampante non è pronta – segnala un errore (p.es. carta esaurita, coperchio aperto), è non vista o il suo dispositivo agente è offline – e la sostituta è pronta, i nuovi lavori vanno alla sostituta. Anche i lavori ancora in attesa e non ancora prelevati dall'agente passano alla sostituta (entro circa 10 secondi); quelli già prelevati restano – niente viene stampato due volte. Vale anche per le etichette della cassa. Quando la stampante è di nuovo pronta, i nuovi lavori tornano a lei.

Finché stampa la sostituta, l'assegnazione mostra «stampante non è pronta – stampa sostituta.»; i lavori spostati mostrano nella coda «(sostituisce stampante)».

La sostituta si imposta nel cloud; sul box è solo visualizzata («La stampante sostitutiva si imposta nel cloud.») e arriva con la sincronizzazione. Se la stampante sostitutiva viene rimossa, l'assegnazione semplicemente non ha più una sostituta.

5. Cassetto, carta, colore, lati

Se la stampante A4 assegnata lo permette, sotto l'assegnazione appaiono dei campi di scelta – riempiti con ciò che la stampante stessa annuncia:

Campo Esempio
Cassetto Cassetto 1, Bypass multiuso
Carta Carta normale, Cartoncino
Colore Colore, Bianco e nero
Lati solo fronte, fronte-retro

Così una sola stampante serve entrambi: documenti dal cassetto, in bianco e nero e fronte-retro, carte corona dal bypass multiuso su cartoncino. «– decide la stampante –» lascia la scelta alla stampante.

Se una stampa va in un cassetto da riempire a mano (bypass multiuso), l'app mostra subito «Inserire carta o cartoncini in …»; la stampante attende finché i cartoncini sono inseriti. Un inceppamento o la carta mancante appaiono in chiaro nello stato della stampante.

Core2

Il Core2 tiene conto di cassetto e carta solo dopo un aggiornamento del firmware; fino ad allora stampa come prima.


In servizio

  • Le etichette vanno, dopo l'acquisto alla cassa, direttamente alla stampante di etichette assegnata.
  • Le carte corona si stampano direttamente dalla finestra delle corone.
  • Scontrini: dopo Incassato in contanti risp. TWINT → Pagato uno scontrino va alla stampante di scontrini – solo se all'assegnazione «Scontrini» è attribuita una stampante. Senza assegnazione niente scontrino. Sullo scontrino figurano società (a richiesta con logo), evento, nome, le passate pagate con importo, arrotondamento, totale e modalità di pagamento. Se la stampante si inceppa, il pagamento è comunque registrato; la cassa indica se lo scontrino è in attesa.
  • Documenti: «Stampa» su classifica, chiusura di cassa & co. imposta la pagina su A4 (tabelle larghe in orizzontale, intestazione su ogni pagina, numeri di pagina) e la invia alla stampante. Dopo appare in basso a destra un avviso con Stampa dal browser – se si preferisce comunque il dialogo di stampa.
  • Senza accesso (classifica pubblica) stampa sempre il browser.

Firmware dei dispositivi agente

Il nuovo firmware per i dispositivi agente (p. es. il Core2) arriva tramite il server – il dispositivo lo preleva da sé, come i lavori di stampa. Nulla si aggiorna da solo: una nuova versione arriva sul dispositivo solo quando l'amministrazione la rilascia.

In Stampa → Stampanti (Smistamento stampe) → Firmware dei dispositivi agente figura per ogni tipo di dispositivo (p. es. esp32-core2):

  1. Scegliere la versione e toccare Rilasciare. Senza fascia oraria parte subito; con una fascia oraria (p. es. 02:00–05:00) solo in quel lasso di tempo. Scegliere solo la versione non basta: finché non è rilasciata, appare «non ancora rilasciata» e il pulsante si chiama p. es. «Rilascia 0.11.4».
  2. Sotto figurano i dispositivi di questo tipo con la versione in funzione e lo stato dell'aggiornamento: in prova, aggiornato o aggiornamento fallito. Se il dispositivo indica „Bootloader ohne Rückfall – einmal per USB aktualisieren“, gli manca ancora il nuovo bootloader – senza di esso non c'è il ritorno automatico alla vecchia versione.
  3. Un singolo dispositivo può ricevere a destra una versione propria (p. es. per provarne prima solo uno). «– come tutti –» lo riporta al rilascio valido per tutti.

Un dispositivo si aggiorna solo se non ha nulla da stampare, se non ci sono conferme in sospeso e se è collegato alla corrente oppure la batteria è sopra il 50 %. La nuova versione gira dapprima in prova: se entro 10 minuti non raggiunge nessun server, il dispositivo si riavvia e torna a funzionare con la vecchia versione. Riprovare la stessa versione = di nuovo Rilasciare.

Con un box nello stand di tiro

Il rilascio si fa nel cloud. Arriva sul box con la sincronizzazione, poi il box scarica da sé il file del firmware. Da quel momento i dispositivi ricevono l'aggiornamento anche senza Internet. Il box si limita a mostrare lo stato.

Per il gestore

I file del firmware li carica solo il gestore (Master → Firmware); valgono per tutte le società. Viene accettata solo un'immagine app firmata (pwa-agent.bin, firmata con espsecure.py sign_data --version 2 --keyfile <schlüssel> …). Il dispositivo verifica da sé la firma e non avvia mai un file estraneo o non firmato. La chiave privata resta offline presso il gestore, mai sul server.


Se non stampa

Indicazione Causa Rimedio
Dispositivo offline dispositivo agente senza corrente o Wi-Fi controllare corrente e Wi-Fi; verificare l'indirizzo del server sul dispositivo
Stampante non vista stampante spenta, dorme, fuori portata o collegata all'app del telefonino accendere la stampante risp. scollegare l'app del telefonino – il lavoro attende e poi parte
Stampante resta non vista in riparazione, sostituita o sparita – dopo tre tentativi il dispositivo la interroga solo ogni qualche minuto (fino a 30 min) ✕ sulla riga e confermare: il dispositivo la dimentica, i lavori in attesa per lei vengono eliminati. Se lei (o la sostituta) torna, la ricerca la ritrova – subito con Cerca stampanti
Stampante errore (p. es. carta esaurita, coperchio aperto) messaggio della stampante risolvere; il lavoro prosegue
L'assegnazione mostra «… non è pronta – stampa ….» la stampante assegnata non è pronta, stampa la sostituta rimettere in ordine la stampante – quando è di nuovo pronta, i nuovi lavori tornano a lei
Stampante di scontrini «Carta quasi esaurita» il rotolo sta finendo (lo stato resta «pronta») preparare un nuovo rotolo; con «Carta esaurita» lo scontrino attende finché il nuovo rotolo è inserito
La cassa segnala «Nessuna stampante assegnata per «Etichette».» all'assegnazione «Etichette» non è assegnata nessuna stampante in Assegnazione scegliere una stampante di etichette per «Etichette»
Lavoro fallito la stampante ha rifiutato nella coda riprova; tenere conto dell'avviso sul formato
Il dispositivo agente mostra «Schlüssel ungültig» (chiave non valida) chiave errata o rigenerata nell'amministrazione rigenerare la chiave e inserirla nel dispositivo
Il dispositivo agente mostra «Schlüssel an der Box (noch) unbekannt» (chiave (ancora) sconosciuta sul box) il box non conosce ancora il dispositivo risp. la nuova chiave – li riprende solo con la sincronizzazione sul box Apparecchio → Sincronizza ora. Fino ad allora il dispositivo continua a prelevare dal cloud; non si perde nulla.
Il dispositivo agente non trova nessun box box e dispositivo agente in reti diverse (mDNS non passa attraverso un router), oppure box non ancora collegato entrambi nella stessa rete; altrimenti inserire a mano l'indirizzo del box sul dispositivo

Dopo ogni modifica a dispositivi o chiavi

Nuovo dispositivo agente, Nuova chiave o assegnazione modificata valgono nel cloud subito, sul box solo dopo la sincronizzazione successiva. Chi vuole continuare a lavorare subito: sul box Apparecchio → Sincronizza ora.