Ambilight fai da te - la nostra guida definitiva con Raspberry ed Hyperion
di Luigi Duchi
01 Gennaio 2021
Audio-Video
Lo ammetto, come le gazze ladre sono attirate dagli oggetti che luccicano, io sono fortemente attirato dai Led e, se poi ci uniamo la mia passione per l'audio video, la scelta ricade solo su un marchio:
Philips con i suoi tv Ambilight.
Purtroppo non sono un grande estimatore di questo brand per quanto riguarda la qualità dei suoi pannelli tv (anche se hanno fatto passi da gigante di recente).
Preferisco Sony o LG a questo marchio. Tuttavia sono sempre stato affascinato dal loro sistema di illuminazione.
Utile? Essenziale? Sicuramente no, ma chi lo prova se ne innamora.
Questo progetto è la mia chimera. Lo inseguo da più di un anno. Questo perché mi ha posto davanti una serie di sfide da risolvere con particolare riferimento al 4k e all'HDR... più avanti vedremo meglio di cosa si tratta.
Dunque cosa sono a proporvi oggi?
Inseriremo delle strisce Led digitali dietro il nostro TV e con l'ausilio di un software chiamato Hyperion, cloneremo in tutto e per tutto il famosissimo sistema AMBILIGHT.
Il sistema non si limiterà ad accendere i Led, ma il loro colore seguirà dinamicamente l'immagine presente nel televisore, variando in maniera perfettamente sincronizzata creando un effetto di notevole profondità dell'immagine.
Hyperion è un software che si può installare direttamente su Raspberry OS (ex Raspbian).
Oppure si può utilizzare un immagine pronta all'uso chiamata Hyperbian.
Questo ne semplifica di molto l'installazione ed è proprio la distribuzione sulla quale baseremo la guida di oggi.
A dire il vero esiste anche la possibilità di installare un add-on per HASSOS proprio relativo all'utilizzo di Hyperion ma ho preferito dedicare un Raspberry ad uso esclusivo. Anche perché il mio NUC (sul quale ho in VM Hassos) è in un'altra stanza rispetto al TV sul quale voglio installare i Led.
#############################################
MATERIALE NECESSARIO PER QUESTO PROGETTO
#############################################
Per prima cosa servirà un Raspberry. Nei vari progetti che ci sono in rete utilizzano un pi0, sinceramente in casa avevo un pi3b e un pi4, il pi3 arrancava e non riusciva a pilotare i led e a far girare il software correttamente, nel dubbio ho usato il pi4.
Potrete acquistarlo QUI già completo di tutto il necessario per farlo funzionare
Sarà necessario anche un grabber che si collegherà ad una delle porte usb del Rasberry, lo potrete trovare QUI
Vi servirà anche un cavo video come quello seguente per connetterlo al grabber, potrete trovarlo QUI
in alternativa (che stranamente costa meno) potrete utilizzare il classico cavo RCA con anche gli spinotti bianchi e rossi, questi due non vi serviranno al grabber dovrete collegare solo il cavo giallo, comunque potrete trovarlo QUI
Servirà anche un adattatore da HDMI a RCA con RCA in uscita e HDMI in ingresso.
Lo potrete trovare QUI
Come cavi HDMI 2.0 potrete prendere questi QUI, vi consiglio di prendere il pacco da 2, vi servirà.
Il pezzo più importante della catena è sicuramente lo splitter HDMI.
Su questo articolo approfondirò successivamente il suo funzionamento, ma vi tolgo da ogni dubbio dicendovi di acquistare questo e non oggetti similari (ne ho provati mille e tutti avevano problemi) per il corretto funzionamento del progetto, questo accessorio vi sarà necessario se la fonte dell'immagine è in 4k, sia che essa provenga da una fonte diretta sia che invece venga da un sintoamplificatore.
Potrete acquistarlo su Amazon Italia al seguente link:
Ovviamente serviranno anche le strip Led digitali, il mio consiglio è quello di usare il modello Apa 102 potrete trovarle QUI o nel caso siano esaurite potrete trovarle su Ebay QUI.
Vi consiglio di prendere quelle con 300 led ogni 5 metri con base nera e ip65 (sono rivestite di gomma e garantiscono sicuramente più protezione e un aspetto visivo sicuramente migliore) nel mio caso per un TV 55 pollici sono stati necessari circa 4 mt. Vi consiglio quindi di prendere una bobina da 5 metri.
Servirà anche un Level shifter che più avanti nella guida vedremo come collegare, lo potrete trovare QUI
Ovviamente necessiterete anche di un alimentatore a 5V quest'ultimo vi consiglio di prenderlo di qualità.
Quest'ultimo lo dovrete prendere in funzione della lunghezza della vostra strip LED considerate che per un 55 pollici sarà necessario 4 metri di strip LED. Adeguate quindi gli Ampere del vostro alimentatore in base alla lunghezza della strip LED.
Io ad esempio ho preso questo QUI
#############################################
VEDIAMO COME INSTALLARE HYPERBIAN SUL RASPBERRY PRIMA DI DEDICARCI AI COLLEGAMENTI
#############################################
- Scaricate l'immagine di Hyperbian direttamente dal GITHUB ufficiale che troverete QUI
- Scaricate il programma Balena etcher da QUI.
Balena etcher altro non è che un Tool che permette di flashare immagini su SD destinate poi ad essere inserite nel Raspberry.
- Inserite quindi la vostra SD dentro un adattatore (se avrete acquistato il kit Raspberry suggerito lo troverete nella confezione) e successivamente connettetela al vostro PC.
- Aprite Balena Etcher e selezionate il file zip di Hyperbian precedentemente scaricato, successivamente selezionate la scheda SD tra i dispositivi disponibili e avviate il Flash.
- A procedura avviata estraete la SD dal vostro computer e subito dopo riconnettetela al computer stesso, dovreste vedere la vostra SD adesso chiamata BOOT.
- A questo punto potrete abilitare la connessione WIFI e l'accesso tramite SSH seguendo i passaggi sottostanti. Ricordo che questi passaggi sono opzionali, se avete intenzione di connettere il vostro Raspberry tramite cavo di rete ignorate la parte relativa al wifi. Vi consiglio però di abilitare SSH.
- Per abilitare il WIFI
una volta reinserita la SD sul vostro computer noterete che verrà rinominata come boot.
Aprite la sd cliccando su di essa, in fondo all'elenco dei vari file che sono contenuti all'interno della sd andate ad aggiungere un file di testo semplicemente aprendo il menù a tendina con il tasto destro del mouse, selezionate su Nuovo e successivamente Documento di testo
Rinominate il file appena creato con il nome wpa_supplicant.conf
N.B è molto importante che leviate l'estensione del file .txt e lasciate solo .conf se non visualizzate l'estensione del file (.txt) è perchè dovrete abilitare la visualizzazione dell'estenzione dei file, per farlo sarà semplicemente necessario cliccare sul menù visualizza e spuntare la voce "estensione nome file"
quindi noterete che il file si chiamerà wpa_supplicant.conf.txt cancellate .txt facendo in modo che il file si chiami appunto wpa_supplicant.conf confermate la voce che vi chiederà se siete sicuri di cancellare l'estensione.
Aprite il file appena creato.
Copiate le seguenti stringhe avendo cura di sostituire SSD e Password con le credenziali della vostra rete Wifi
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=IT
network={
ssid="YOUR_SSID"
psk="YOUR_PASSWORD"
key_mgmt=WPA-PSK
}
Ricordatevi di salvare cliccando su file e successivamente su salva.
Appena inserirete la SD nel vostro Raspberry lui si connetterà alla vostra rete Wifi.
- Per abilitare SSH
Con la stessa modalità con la quale avete creato il file di testo per la configurazione Wifi create un altro file di testo.
Questa volta dovrete lasciare il file vuoto ma lo dovrete rinominare con il nome ssh tutto minuscolo, in questo caso vedrete che, se avete abilitato precedentemente la visualizzazione dell'estensione del file, esso si chiamerà ssh.txt. Provvedete a cancellare l'estensione (.txt) e confermate quando vi verrà richiesto, vi troverete quindi un file chiamato ssh senza estensione, non vi preoccupate è giusto cosi. Appena inserirete la sd nel Raspberry in automatico verrà abilitato l'accesso ssh.
la username di default è: pi
la password di default è: raspberry
- Una volta inserita la SD nel Raspberry Hyperion risponderà alla pagina web digitando l'indirizzo http://VOSTROIP:8090 Dove "VOSTROIP" sarà l'ip assegnato al vostro router al Raspberry ad esempio http://192.168.1.5:8090
Vi consiglio di prenotare l'indirizzo ip sul vostro router in modo che venga assegnato sempre il medesimo ogni volta che il vostro Raspberry si avvierà.
#############################################
CONNESSIONE HARDWARE
#############################################
Prima di addentrarci sull'interfaccia grafica di Hyperion, andiamo a vedere i collegamenti hardware per questo progetto.
Innanzitutto dobbiamo aprire una breve parentesi.
Ci sono varie modalità di collegamento per questo progetto, oltretutto il corretto utilizzo del segnale 4k complica e non di poco l'esecuzione dello stesso.
Alla nostra "catena" hardware potremo collegare direttamente un segnale HDMI proveniente da una fonte esterna ad esempio Playstation, lettore Blu-ray, ecc... Oppure come nel mio caso un sintoamplificatore dove a sua volta saranno connesse varie fonti.
E qui ci imbattiamo nei primi problemi.
Hyperion non supporta in entrata i segnali 4k, quindi sia che si decida di connettere una fonte con tale risoluzione, o che si decida di collegare un sintoamplificatore, sarà necessario fare un downgrade della risoluzione a Full HD.
Molti sintoamplificatori (come il mio ad esempio) hanno un'uscita HDMI secondaria per poter collegare un secondo monitor/TV.
Tuttavia il bilanciamento delle uscite video porta a scegliere su entrambe le uscite la risoluzione più bassa, quindi anche nel caso usiate l'uscita secondaria per il vostro circuito Hyperion e la principale diretta alla vostra TV, anche quest'ultima verrà abbassata di risoluzione.
Le problematiche proseguono per quanto riguarda il passaggio del segnale HDR (High Dynamic Range) o dei più moderni segnali video quali Dolby vison, ecc...
Anche in questo caso i segnali non verranno passati, sia che scegliamo di utilizzare una fonte HDMI diretta al nostro circuito Hyperion, sia che utilizziamo l'uscita secondaria del sintoamplificatore.
Sarà dunque necessario uno Splitter con scaler integrato.
Questa è stata la mia più grande Nemesi.
Da un anno a questa parte ho trovato enormi difficoltà nel trovare il prodotto giusto.
Ne ho provati molti e posso asserire che l'unico da me testato e perfettamente funzionante è proprio quello che ho messo all'inizio della guida tra il materiale consigliato.
Questo accessorio, oltre a sdoppiare perfettamente il segnale video ne permette in maniera autonoma di scaling da 4k a 1080 per ognuna delle uscite HDMI. Semplicemente spostando un dip switch sul dispositivo stesso.
Con questo device avrete la possibilità di far passare anche tutti i segnali video senza compromesso di qualità.
Quindi lo potrete utilizzare con una delle vostre fonti oppure ancora meglio metterlo sull'uscita secondaria del vostro sintoamplificatore. Avrete cosi la possibilità di connettere l'uscita principale del Sinto direttamente al TV (in modo da far arrivare il segnale diretto), mentre la secondaria potrete connetterla a sua volta all'ingresso del ezcoo.
In questo modo ingannerete il sintoamplificatore facendoli credere che su entrambe le porte ci sia connesso un TV 4K HDR. Ciò impedirà il downgrade della risoluzione e permetterà il passaggio di ogni segnale video.
#############################################
Quindi ricapitolando, vediamo le due opzioni dei collegamenti visti fino ad ora:
FONTE DIRETTA (playstation, bluray, ecc...)
- hdmi in uscita dal dispositivo all'ingresso hdmi dell'ezcoo.
- dip switch della seconda uscita del ezcoo su ON
- dalla prima uscita dell'ezcoo diretti al tv
- la seconda uscita (scalata quindi a 1080p dal di switch) al convertitore hdmi->RCA.
#############################################
UTILIZZO DI UN SINTOAMPLIFICATORE
- hdmi dell'uscita principale dell'amplificatore direttamente al TV
- hdmi dell'uscita secondaria dell'amplificatore all'ingresso del ezcoo
- L'uscita principale dell'ezcoo sarà da lasciare vuota
- l'uscita secondaria (anche in questo caso scalata mediante il dip switch) andrà all'ingresso del convertitore hdmi->RCA
#############################################
Come vi dicevo sopra, qualsiasi soluzione si utilizzerete (fonte diretta o sintoamplificatore) dovrete proseguire con un convertitore da HDMI ad RCA
Da questo si dovrà uscire con un cavo RCA. Ci interesserà collegare solo il cavo relativo al video (quello giallo) ignorando il bianco e il rosso destinati all'audio, inutili per il nostro progetto.
Il cavo RCA dovrà essere portato fino al corrispettivo ingresso del GRABBER USB che a sua volta verrà connesso ad una delle porte USB del Raspberry.
Tutti gli accessori elencati fino ad ora, ad eccezione del GRABBER USB che verrà alimentato direttamente dal Raspberry, dovranno essere alimentati tramite il proprio alimentatore.
Qui abbiamo 2 possibilità, o collegare le strip LED direttamente al raspberry oppure usare il firmware Wled su un d1 mini e programmare il raspberry all'utilizzo di quest'ultimo, soluzione molto utile in caso si non si voglia far gestire le strip led direttamente ad hyperbian.
Sarà necessario poi variare la configurazione su Hyperbian, ma lo vedremo dopo. Adesso occupiamoci di vedere entrambe le possibilità.
#############################################
Soluzione con led direttamente collegati al Raspberry.
#############################################
Dalle GPIO del Raspberry dovremo partire con dei jumper che andranno prima ad un LEVEL SHIFTER
Successivamente vi dovrete preoccupare di andare alle strip led.
Vi consiglio vivamente di alimentare le strip led separatamente rispetto al Raspberry. Inoltre vi consiglio di portare + e - dei 5V sia all'inizio della strip led sia alla fine, mentre i 2 segnali digitali dovrete portarli solo all'inizio della striscia led.
N.B la strip led ha un senso di marcia indicata da una freccia stampata sopra rispettate il senso quando posizionate le strip led dietro al tv.
Non importa che siano messi in senso orario o Antiorario (si può invertire il senso via software, purchè siano tutti nella stessa direzione.
Ecco invece lo schema di collegamento senza l'utilizzo di un amplificatore ma collegando una fonte esterna direttamente al circuito.
#############################################
Soluzione con l'utilizzo di un d1mini e il firmware WLED
#############################################
Ricorderete il nostro articolo riguardante il firmware WLED, chi se lo fosse perso potrà trovare l'articolo QUI , li troverete anche il materiale necessario per costruire la schedina atta all'utilizzo di WLED.
Lo schema da utilizzare sarà il medesimo per quanto riguarda le strip led che utilizzerete per il progetto Hyperion, ovvero questo.
La parte dei collegamenti video invece rimarranno identici alla versione con Led connessi direttamente al Raspberry, l'unica cosa che cambierà sarà appunto che i led saranno connessi al d1mini e il Raspberry si occuperà solo di gestire il flusso video, si potrà quindi adattare i 2 schemi di collegamento della catena video ignorando la parte di connessione delle stripled al Raspberry.
Ecco invece un esempio dello schema realizzato per il circuito Wled.
A questo schema vi consiglio di aggiungere dei fusibili all'ingresso dell'alimentazione, io non l'ho fatto perché li ho messi subito dopo l'alimentatore.
Adesso che tutta la parte Hardware è connessa, andiamo a vedere l'interfaccia grafica software ma non prima di osservare lo schema qui sotto che riepiloga tutto quello che abbiamo scritto poco sopra.
#############################################
INTERFACCIA GRAFICA HYPERION
#############################################
Una volta raggiunto tramite browser l'indirizzo IP assegnato ad Hyperbian (vi consiglio di prenotare l'IP dal vostro router per avere sempre il medesimo), raggiungerete la dashboard di Hyperion.
Qui troverete tutte le informazioni relative alla vostra configurazione, io per il progetto ho utilizzato WLED.
Vedremo come va configurato per questo utilizzo e poi vi farò vedere come impostare Hyperion per l'utilizzo delle strip Led collegate direttamente al Raspberry.
Dal menù a tendina di Hyperion selezionate LED hardware
Vi troverete di fronte a questa schermata
Su Controller type dovrete selezionare WLED vi verrà chiesto di inserire l'indirizzo IP del vostro circuito WLED (anche in questo caso il mio consiglio è quello di prenotare l'indirizzo IP di WLED sul vostro router)n el mio caso come si vede dalla foto poco sopra è 192.168.1.25
Prima di salvare recatevi su LED layout e indicate nelle varie voci i numeri di led per lato.
Nel mio caso sono 38 sui lati verticali e 69 sui lati orizzontali.
Dovrete inoltre indicare l'inizio della vostra strip LED spostando l'Input position dovreste posizionare il quadrato nero in basso a sinistra (se avete seguito il mio layout di posizionamento dei led visto nel video finale).
salvate la configurazione del layout e poi salvate il setting su led controller.
In Advanced Settings potrete determinare lo Spessore della lettura dell'immagine sul tv.
mi sono trovato bene con questa configurazione qui sopra.
spostatevi su Capturing Hardware e settatelo come nelle immagini seguenti.
Infine nel menù Image processing configurate l'ultimo parametro come da foto
Quando avrete scelto WLED sulla pagina web di quest'ultimo vedrete comparire una richiesta del genere
Non dovrete fare altro se non goderti il vostro fantastico effetto eventualmente regolando la luminosità dei LED sulla pagina web di WLED.
Per connettere invece i LED direttamente sul Raspberry dovrete effettuare le medesime configurazioni ad eccezione della pagina Led hardware che dovrete configurare come da immagine sottostante.
SIETE PRONTI, VI LASCIO AL VIDEO DI FINE ARTICOLO PER VEDERE HYPERION ALL'OPERA.
Produrre e aggiornare contenuti su vincenzocaputo.com richiede molto tempo e lavoro. Se il contenuto che hai appena letto è di tuo gradimento e vuoi supportarmi, clicca uno dei link qui sotto per fare una donazione.