Fatti il cinema in casa con UDOO X86

C’era una volta in cui i single board computer erano solo schede di sviluppo per prototipare nuovi prodotti. Ma adesso UDOO X86 sta cambiando questo paradigma. UDOO X86 è l’ultimo nato in casa UDOO: un computer Intel quad core che arriva fino a 8 GB di RAM e 2.56 GHz di CPU Clock - e c’è pure un Arduino 101 montato sopra! Puoi usare la scheda non solo per realizzare quel robot che avevi in mente, ma anche come Home Theater PC per vedere film in 4K, e, perché no, come un vero e proprio computer. Non ci credi? Per mostrarti le capacità della scheda abbiamo dunque realizzato un tutorial che mostra quanto è facile costruirsi un sistema di illuminazione domestica intelligente sullo stile di quello inventato da Philips, chiamato Ambilight.

BobLight

L’idea, se non hai presente Ambilight, è di creare effetti luminosi attorno alla televisione in corrispondenza di quello che sta girando sulla televisione medesima. Della serie: se in TV passa Independence Day e c’è la scena dell’esplosione della Casa Bianca, le stesse luci rosso fuoco che vedrai in TV illumineranno il contorno della televisione tramite una striscia di LED. E’ un po’ come se l’azione uscisse dallo schermo ed entrasse nel tuo salotto. Ma come ottenere lo stesso effetto senza comprarsi una TV Philips e senza violarne il copyright? Come accade di solito nel mondo open source, alla fine qualcuno, armato di una sana dose di pazienza e voglia di smanettare, è riuscito a creare un sistema simile ad Ambilight, capace di girare su tutte le TV, e non solo sulle TV compatibili di Philips, ma soprattutto gratis. Così è nato  BobLight : un set open source di strumenti software che può essere usato per analizzare i colori del contenuto fruito, convertirli in segnali, trasmettere tali segnali a una striscia di LED disposta attorno alla schermo e proiettare dunque proprio quei colori che vedo in TV sulle pareti circostanti. E la cosa fantastica è che il tutto può girare direttamente su  Kodi , cioè un famoso software open source per la gestione di un completo media center o Home theater PC disponibile per Windows, MacOS, Linux, Apple TV, Android. In questa guida è stato utilizzato l’ambiente Windows. Segue dunque un breve tutorial per farti un sistema Ambilight Fai Da Te con UDOO X86 (Breve parentesi: non abbiamo sviluppato software, fatto porting o compilato alcunché per realizzare questo tutorial. Nessuna reinvenzione della ruota: ci siamo limitati a prendere una applicazione già esistente e testarne il funzionamento sulla board. E’ questa la novità che UDOO X86 porta nel panorama dei maker: finalmente potrai smanettare con un  Vero PC , su cui gira TUTTO - Android, qualsiasi distro Linux e persino Windows! Niente più grattacapi: se va sul tuo PC va anche su UDOO X86 . Chiusa parentesi).

Due parole sul funzionamento di BobLight

Un video viene riprodotto sulla tua TV grazie a Kodi. BobLight, sfruttando un’estensione di Kodi chiamata “XBMC Boblight”, converte in tempo reale l’immagine sullo schermo in un’immagine a bassissima risoluzione e la analizza. Attraverso un daemon (cioè un programma che gira in background) chiamato “boblightd” i dati vengono inviati sulla USB interna alla parte compatibile Arduino 101 di UDOO X86, che a sua volta usa quest’informazione per controllare i colori della striscia di LED. Questa connessione USB interna viene riconosciuta come porta seriale “COM” da Windows (generalmente COM3), esattamente come avere un Arduino 101 connesso tramite cavo USB ad un computer. Per essere sicuro della effettiva porta assegnata da Windows ad Arduino 101, puoi controllare dalla finestra “Gestione Dispositivi”. Assicurati prima che Kodi e UDOO X86 abbiano lo stesso BaudRate (Figura 1).

Figura 1: Schema a blocchi del funzionamento di BobLight

Figura 1: Schema a blocchi del funzionamento di BobLight

Viene inoltre inviato un prefix per essere certi che l’Arduino 101 montato su UDOO X86 sappia quando iniziare a proiettare i colori dietro la TV. La stessa stringa prefix deve essere definita nel config file di BobLight e nel tuo sketch Arduino.

Ingredienti della ricetta Attrezzi:

  • Saldatore.
  • Pinza Tagliafili.
  • Spellacavi.
  • Forbici.
  • Cacciavite.
  • Trapano.
  • Una cornice per tenere i LED Parti elettroniche.
  • UDOO X86. Qualsiasi modello andrà bene.
  • 12V power supply per alimentare la board UDOO.
  • WS2812B LED strip.
  • 5V power supply per alimentare la striscia di LED.
  • Cavi e connettori, a seconda delle strisce di LED e del design della cornice Software.
  • Kodi.
  • XBMC Boblight Add-on.
  • Boblightd.
  • BoblightConfigTool per creare un file di configurazione(opzionale).
  • Arduino sketch.

Primo passo: la cornice

Come prima cosa partiamo con la cornice. La striscia di LED potrebbe essere anche solo incollata sul retro della tv con del nastro, ma creare una cornice su cui fissare la striscia è sicuramente una soluzione più elegante e con una resa decisamente migliore. Per valutare la grandezza della cornice dovrete prendere in considerazione:

  • Luminosità dei LED (se i LED che userete sono più luminosi chiaramente avrete bisogno di meno LED).
  • Risoluzione che desideri ottenere (nel senso che necessiterai di un maggior numero di LED se vuoi una risoluzione più alta).
  • Distanza della tua TV dal muro.
  • Design della tua TV.

Tieni inoltre in considerazione il fatto che il sistema potrebbe scaldarsi, per cui la cornice e la colla che andrai ad applicare dovrà reggere l’aumento di temperatura. Per tale motivo sconsigliamo di usare un nastro biadesivo. Per la cornice pertanto consigliamo l’ alluminio. Per fissare la cornice alla TV consigliamo di usare i fori di montaggio VESA Flat Display Mounting Interface, anche conosciuto come FDMI o più comunemente VESA mount (Figura 2).

Figura 2: I Fori di montaggio VESA

Figura 2: i Fori di montaggio VESA

Montare la striscia di LED sulla cornice

Per montare le strisce di LED sulla cornice mettiti dietro il televisore e applica le strisce in senso circolare antiorario partendo dalle ore 6. Quando scegli le strisce di LED fai attenzione a non comprare varie strisce lunghe un metro pensando che in un secondo momento potrai cavartela con un po’ di taglia e cuci. Cerca invece una striscia di LED di lunghezza custom, e ti sarai semplificato in gran parte il lavoro. Le soluzioni basata sul taglia e cuci inoltre tendono a non essere simmetriche. Ad ogni modo, se hai deciso di percorrere questa strada fai buon uso di  Boblight Config Maker, disponibile per Windows, Mac e Linux OS (Figura 3).

Figura 3: I fori VESA e le strisce LED

Figura 3: I fori VESA e la striscia LED

Attaccare cavi

Prima di tutto, ricordati che i cavi troppo sottili non sono tuoi amici: le strisce di LED sono affamate di corrente elettrica, e tu non vuoi che si sovraccarichino. Dopodiché riscalda i connettori delle strisce di LED e applica applica dello stagno. Lo stesso dovrebbe essere fatto per le estremità delle guaine termorestringenti dei cavi che vorremmo connettere. Fatto questo riscalda di nuovo lo stagno sul connettore e con delicatezza posiziona il cavo sulla piattaforma (Figura 4).

Figura 4: Collegamento dei LED

Figura 4: Collegamento dei LED

 

Connettere la striscia di LED alla parte compatibile con Arduino 101 di UDOO X86

La parte iniziale della striscia deve essere connessa alla parte Arduino 101 della UDOO X86 in questo modo (figura 5):

  1. Din, cioè il Data pin della striscia di LED, deve essere connesso al pin 9.
  2. +5v , sarà connesso al polo positivo del power supply a 5V.
  3. GND , deve essere connesso al polo negativo del power supply a 5V e ad un pin GND della parte Arduino 101 della UDOO X86.
Figura 5: Collegamento della board UDOO

Figura 5: Collegamento della board UDOO

Caricare lo sketch Arduino

Per caricare uno sketch Arduino hai bisogno di installare Arduino IDE e, all’interno del software, il gestore di Arduino 101 (board manager). A questo link sul sito di Arduino troverai tutte le informazioni necessarie per caricare lo sketch: https://www.arduino.cc/en/Guide/Arduino101.

I parametri che possono essere cambiati nello sketch per adattarlo alle tue esigenze sono:

  • DATAPIN 9  // Pin connesso al Din della striscia
  • LEDCOUNT 80 // Numero di LED usati
  • SHOWDELAY 200 // Delay in micro secondi
  • BAUDRATE 460800 // Velocità della porta seriale
  • BRIGHTNESS 90 // Massima luminosità in %

Scarica lo sketch da questo indirizzo: http://download.udoo.org/files/tutorial/ambient_light_UDOOx86_boblight.zip. Avrai bisogno di installare anche la libreria Adafruit_NeoPixel usata nello sketch. Puoi farlo direttamente dall’IDE di Arduino con lo strumento di gestione delle librerie (Library Manager).

Installare KODI e BobLight

Puoi installare Kodi per Windows scaricando il software direttamente dal sito: https://kodi.tv/download/

Ora ti mancano solo due componenti da installare.

XBMC Boblight addon

Una volta installato Kodi aprilo ed andiamo a installare l’add-on ‘XBMC Boblight’, che è anche usato per la configurazione. Per installarlo vai in: Settings -> Add-ons -> Install from repository -> Kodi add-on repository -> Services -> XBMC Boblight e seleziona “Install”.

Boblightd

Abbiamo bisogno di installare anche ‘boblightd’ (il daemon che comunica con l’add-on di Kodi). Puoi scaricarlo da questo link nella versione Windows 64bit compatibile con la UDOO X86: http://download.udoo.org/files/tutorial/boblightd.zip.  Puoi scompattare i file contenuti nel pacchetto nella cartella  "C:\boblightd\".

Creare il Boblight Config File

Una volta installato il demone boblightd, dovrai creare un config file. Il config file per boblightd definisce il modo in cui boblightd comunica col tuo Arduino. Così dunque definiremo il device a cui stiamo parlando e il tipo di comunicazione. Inoltre possiamo definire il colore e i LED che useremo. Per ogni LED verrà definita una zona corrispondente, dalla forma di un rettangolo interno allo schermo di posizione e dimensioni specifiche. Per creare il config file potresti usare la soluzione manuale, ma il nostro consiglio è di risparmiarti un mucchio di lavoro inutile e sfruttare lo strumento BoblightConfigTool contenuto nell’archivio. Ricordati di usare i giusti parametri per la porta COM connessa e le altre costanti dichiarate nello sketch. A questo punto avremo nella stessa cartella un file boblight.conf. Puoi avviare ora il demone con il file “start.bat” (figura 6).

Figura 6: Boblight Control Tool

Figura 6: Boblight Config Tool

Primo test

A questo punto hai finito tutto. Ti manca solo di avviare il sistema (Figura 7). Per farlo, assicurati di:

  • aver caricato lo sketch sul microcontrollore compatibile Arduino 101 presente su UDOO X86;
  • aver connesso i LED al loro alimentatore;
  • aver installato e avviato “boblightd” e installato “XBMC Boblight” su Kodi;
  • aver caricato il file “boblight.conf” nella cartella di boblightd;
  • aver avviato Kodi.
Figura 7: Test del sistema

Figura 7: Test del sistema

Se la striscia di LED si accende e compare un Popup di Kodi boblight che conferma l’avvenuta connessione tutto è andato a buon fine. A questo punto non ti resta nient’altro da fare che mettere un bel film, sederti sul divano e goderti lo spettacolo (Video 1).

Video 1: le potenzialità del sistema

 

4 Commenti

  1. Maurizio Di Paolo Emilio Maurizio Di Paolo Emilio 20 dicembre 2016
  2. Emanuele Bonanni Emanuele Bonanni 20 dicembre 2016
  3. DeMauri 20 dicembre 2016
  4. Giuseppe Caputo 28 marzo 2017

Scrivi un commento

ESPertino è la nuova scheda per IoT compatibile ARDUINO.
Scopri come averla GRATIS!