Digital signage

Digital signage headless: uno script, una pipeline o un agente gestisce gli schermi

Nel digital signage headless nulla deve restare aperto perché uno schermo cambi: un agente, uno script o una pipeline aggiorna ciò che viene riprodotto tramite un’API, e il Player lo mostra. Qui una pipeline CI scrive su una TV con curl, senza dashboard aperta e senza nessuna persona che guarda.

Aggiornato il

  1. Tu

    Metti la nostra pipeline di rilascio sulla TV del team di piattaforma. La pipeline pubblica ogni passaggio mentre accade (avvio, test, deploy, rollback), il più recente in alto, con una riga rossa quando qualcosa fallisce. Lo farà da uno script shell con curl, senza persone né agenti nel ciclo, quindi configura la bacheca una volta sola e dimmi di cosa ha bisogno lo script.

  2. Agente

    La bacheca è sulla TV del team di piattaforma: il passaggio più recente in cima e un errore appare come riga rossa. Lo script ha bisogno di tre cose, l’indirizzo dell’API, l’id della bacheca e un token, e l’ho scritto per te. Nel mio test il deploy fallito era sullo schermo circa due secondi dopo che lo script l’aveva pubblicato.

Inizia gratisVedi prezzi

01 Cosa significa headless per il digital signage?

Cosa significa headless per il digital signage?

In un sistema di signage tradizionale la web app è la superficie di controllo e il player la segue. In un sistema headless il controllo vive in un’API. Qualsiasi client chiama lo stesso piano di controllo, il piano di controllo decide cosa riproduce ogni Player, e il Player lo mostra e riferisce l’esito. La dashboard è un client in più, e nessun client deve restare aperto perché uno schermo continui a riprodurre.

AmbitoCMS headlessPiattaforma di signage headless
Cosa contieneVoci di contenuto strutturateContenuti multimediali, playlist, app pronte, le tue app e stato chiave/valore
Chi lo mostraIl tuo front end o il tuo playerIl Player su ogni schermo
Programmazione e takeoverUn sistema separato lato schermoIl server decide cosa riproduce ogni schermo
La prova che lo schermo l’ha mostratoUn sistema separato lato schermoScreenshot e registri di riproduzione
Usalo quandoLo stesso contenuto alimenta anche un sito web o un’appGli schermi sono il canale

Programmabile significa che è il codice a controllare cosa viene riprodotto. Programmatic di solito indica l’acquisto automatizzato di spazi pubblicitari su schermi out-of-home, che la pagina Player tratta a parte.

02 Una bacheca di rilascio pilotata da una pipeline

Una bacheca di rilascio pilotata da una pipeline

Il team di piattaforma vuole la sua pipeline di rilascio sulla TV vicino alla macchinetta del caffè: ogni passaggio mentre accade, il più recente in cima, con una riga rossa quando qualcosa fallisce. La pipeline, i numeri dei job e gli host sono contenuti dimostrativi. L’esecuzione è reale: 26 ottobre 2026, sull’ambiente di staging di screenRIG, con le immagini disegnate dal Player in una finestra del browser al posto della TV. Ogni fase della pipeline esegue una volta un piccolo script:

  1. Pipeline avviata. main, 3 commit.
  2. Test superati. 412 test in 3 min 10 s.
  3. Deploy in produzione non riuscito. Il controllo di integrità è scaduto su web-2, rollback in corso.
  4. Rollback completato. web-1 e web-2 di nuovo funzionanti.

Dopo il terzo passaggio l’errore è la riga grande, i passaggi precedenti sono elencati con la loro età e il piè di pagina conta gli eventi e gli errori dell’ora. Dopo il quarto, il rollback è in cima e il deploy fallito sta sotto.

Una bacheca di rilascio: una riga rossa Errore, Deploy in produzione non riuscito, con il messaggio del controllo di integrità, e accanto Test superati e Pipeline 4182 avviata
Dopo il passaggio 3. Il livello della riga ne determina il colore: info, successo, avviso o errore.
La bacheca di rilascio dopo il rollback: una riga verde Successo, Rollback completato, con accanto il deploy fallito e i passaggi precedenti
Dopo il passaggio 4. Il piè di pagina conta ancora un errore nell’ultima ora.

03 Cosa fa lo script della pipeline?

Cosa fa lo script della pipeline?

La parte dell’agente è breve e avviene una sola volta. Crea una bacheca Feed attività, le dà una prima riga perché la pagina non sia vuota e la mette sullo schermo. Poi consegna alla pipeline uno script. Lo script legge la bacheca e la sua revisione, mette la nuova riga in cima e la riscrive solo se nessuno ha scritto nel frattempo:

Terminale
# $url is the board's address and $auth carries your token.
# 1. Read the board and its revision (the ETag).
etag=$(curl -sS -D - -o current.json -H "$auth" "$url" | awk 'tolower($1) == "etag:" { print $2 }' | tr -d '\r')
# 2. Write the board back with the new row first. A stale revision is refused, and the script reads again.
curl -sS -X PUT "$url" -H "$auth" -H "Content-Type: application/json" -H "If-Match: $etag" -H "Idempotency-Key: board-$(date -u +%s%N)" --data @next.json

04 Come fa la pipeline a sapere che lo schermo l’ha ricevuto?

Come fa la pipeline a sapere che lo schermo l’ha ricevuto?

Non fa polling. Il flusso di eventi del progetto è riproducibile, e una pipeline può leggerlo mentre scrive. Per il deploy fallito, il flusso ha riportato la scrittura, la modifica e poi la segnalazione del Player stesso di aver applicato quella revisione a quella pagina (orari in UTC, ridotti a evento e revisione):

Testo
03:43:47.501  kv.updated                 revision 5 written
03:43:47.505  screen.card_data_changed   revision 5
03:43:49.306  screen.card_data_applied   revision 5, page "board"

Il Player ha riportato la revisione 1,8 secondi dopo che la scrittura è stata accettata. Un job che non deve proseguire finché lo schermo non mostra un errore può attendere quell’ultima riga, e un job a cui non importa può ignorarla. Gli eventi dello schermo sono gratuiti sul flusso di ascolto, e una riconnessione riprende dall’ultimo cursore.

05 Due processi in scrittura, una revisione

Due processi in scrittura, una revisione

Due job possono scrivere nello stesso momento. Una scrittura che porta una revisione obsoleta viene rifiutata, e il rifiuto indica quale revisione è quella corrente, così nessuno sovrascrive una riga più recente. Lo script rilegge e riprova, fino a tre volte.

06 Cosa resta lato server nel digital signage headless?

Cosa resta lato server nel digital signage headless?

Tutto ciò che deve continuare a funzionare quando nessun client è connesso. Il Player visualizza; il server decide.

AmbitoCosa fa il server
ProgrammazioniSceglie cosa riproduce ogni schermo: il suo takeover, altrimenti la prima campagna valida, altrimenti la prima voce di programmazione che corrisponde all’ora locale dello schermo, altrimenti la playlist assegnata. I cambi avvengono entro circa un minuto dall’orario di cambio.
CampagnePorta ogni schermo di una flotta con tag su un’unica playlist finché valgono le sue date e le sue fasce settimanali, ciascuno secondo il proprio orologio.
TakeoverMette una playlist su uno schermo o su una flotta con tag prima di campagne, programmazioni e assegnazioni, poi termina da solo.
Alimentazione displayDefinisce quando ogni display è acceso. Il Player valuta la programmazione sul dispositivo, quindi continua a funzionare offline.
Prova di riproduzioneRegistra ogni avvio visibile di un’immagine o di un video. Un’esportazione CSV copre fino a 31 giorni.
Stato di salute dei dispositiviI Player segnalano regolarmente il proprio stato di salute, e subito quando cambia il collegamento al display o l’alimentazione.

Un tag seleziona una flotta, quindi un solo comando raggiunge tutti gli schermi che lo hanno.

07 Quando mi serve ancora la dashboard?

Quando mi serve ancora la dashboard?

La dashboard è un client in più, e alcune attività sono adatte a una persona.

  • Revisioni. Un agente che ha effettuato l’accesso con Proponi accesso, o un progetto che richiede la revisione, invia le modifiche alla pagina Revisioni. Una persona approva, richiede modifiche o rifiuta, e nulla raggiunge uno schermo prima di allora.
  • Accesso. La pagina Accesso elenca ogni agente, app connessa e client di servizio, e una persona può terminare l’accesso di ciascuno da lì.
  • Persone e progetti. Inviti e impostazioni del progetto spettano alle persone.

08 Domande frequenti

Domande frequenti

Il digital signage headless è lo stesso del digital signage API-first?

Descrivono lo stesso progetto da due lati. API-first significa che l’API viene progettata per prima e ogni client la usa. Headless significa che per gestire gli schermi non serve alcuna interfaccia particolare.

Mi serve uno sviluppatore per gestire il digital signage headless?

No. Un agente può gestirlo con una frase, e una persona approva ciò che propone quando il progetto richiede la revisione. Uno sviluppatore aggiunge script come quello qui sopra quando un sistema deve scrivere su uno schermo da solo.

Posso tenere i miei contenuti in un altro sistema?

Sì. Uno script legge il sistema e scrive i valori su una bacheca. Gli schermi mostrano ciò che custodisce il server.

Quali Player pilota una configurazione headless?

Dodici: il Player web, Android e Google TV, l’Amazon Signage Stick, Apple TV, macOS, iPhone e iPad, Windows, Linux, Raspberry Pi, LG webOS Signage, Samsung Smart Signage (Tizen) e BrightSign. La guida ai Player contiene i passaggi di installazione.

Il digital signage headless è gratuito?

screenRIG è gratuito, con schermi illimitati. I piani a pagamento aggiungono strumenti aziendali, più persone, persone con cui parlare, governance e condizioni contrattuali. Vedi i prezzi; Sviluppatori mostra ogni interfaccia.

09 Scrivi la tua prima riga

Scrivi la tua prima riga

Leggi il riferimento API REST per le chiamate che fa lo script, oppure inizia gratis e lascia che sia il tuo agente a scrivere lo script.

10 Correlati

11 Altri argomenti

screenRIG è gratuito.

Installa il plugin ufficiale, associa uno schermo e il tuo agente pubblica su di esso.

Inizia gratisVedi prezzi →