Posts Tagged ‘howto’

Costruire un Jukebox con Raspberry PI


12 May

A grande e lusinghiera richiesta, pubblico questo tutorial, non appena sono venuto dalla conferenza annuale di CaSPA, che vi permettera’ di costruire questo Jukebox (o una sua variante a vostro piacere 😉 ) :

Demo:

Per affrontare questo progetto e’ richiesto un minimo di manualita’, confidenza con cavi audio e con l’informatica in generale.

Shop Lists

Shoplist Hardware

– Raspberry Pi
– Monitor
– Relativi cavi (hdmi, audio ecc)
– Pulsanti+controller USB e luci a led
– Casse
Opzionali:
– Car hifi
– Alimentatore 12 volts (anche quello di un vecchi o PC puo’ andare bene)
– Switch RCA
– Input audio RCA

Shoplist Software

Raspbian GNU Linux (io ho usato la version 9.6)
Fruitbox (io ho usato la versione v1.12.1)
– Scripts custom e configurazioni (da scaricare piu’ avanti su questa guida)

Parte 1 – Hardware

In questa sezione verra’ saltata la parte che e’ in comune con la costruzione del cabinato in quanto e’ analoga a quella per un arcade, e di guide la rete e’ gia piena (chedete a zio Google 🙂 ). Diremo solamente che questa include:

  • Il monitor
  • i controlli
  • il Raspberry (mini PC)
  • Cavi vari
  • Luci e tamarrate varie 🙂

Allego solo alcune foto della fase di realizzazione come eventuale spunto di lavorazione:

 

Opzionalmente, si puo’ aggiungere l’autoradio per ascoltare anche i CD. Secondo qualcuno, questo snatura un po’ il progetto, ma a mio parere lo trasforma in un mobile hi-fi piuttosto che in un lettore MP3 gigante 🙂

Per connettere un alimentatore ad un autoradio,  c’e’ un ulteriore lista di tutorial.

Per alternare l’uso del CD, del jukebox e di qualunque altra fonte audio, si puo’ usare uno switch rca, reperibile nei principali store on line.

Parte 2 – Software

Questa sezione e’ a mio avviso quella piu’ interessante in quanto contiene le personalizzazioni che ho fatto per fare funzionare la parte jukebox, che e’ il core del progetto.

Il consiglio che do, e che io stesso ho messo in pratica, e’ di acquistare l’hardware minimo per poter prototipare. Cosi’ facendo, se ci rendiamo conto che il progetto e’ troppo ambizioso, in caso di abbandono conterremmo le spese.

Procediamo per steps:

Scaricare e installare Raspbian sul Raspberry

Guida Ufficiale in inglese, ma in rete si trovano anche varianti in Italiano

 

Scaricare e installare Fruitbox per Retropie

Download e guida in inglese (qui andiamo piu’ sul tecnico, non so se ci siano guide in Italiano, ma imparare l’inglese non fa male 🙂 )

 

Prime configurazioni e test

NOTA: Tutti i comandi presuppongono una installazione Raspbian e fruitbox di default. Personalizzazioni di queste potrebbero non garantire il corretto funzionamento, che non e’ garantito a prescindere 🙂

A questo punto fruitbox dovrebbe essere nella directory /home/pi/rpi-fruitbox-master.

Copiamo i nostri MP3 nella cartella /home/pi/rpi-fruitbox-master/Music/ (creiamola se non esiste) usando il nostro client SFTP preferito (ad esempio Filezilla). Consiglio inizialmente non piu’ di una cinquantina di file per prova.

Lanciamo una prima esecuzione del programma come descritto nella guida:

cd  /home/pi/rpi-fruitbox-master

./fruitbox –cfg skins/[IL_MIO_TEMA]/fruitbox.cfg

Dove [IL_MIO_TEMA] e’ una delle seguenti skin di default:

  • Granite
  • MikeTV
  • Modern
  • NumberOne
  • Splat
  • TouchOne
  • WallJuke
  • WallSmall
  • Wurly

Provate varie skin, usando come input temporaneo la tastiera, ma considerate che i pulsanti richiesti sono diversi per skin, e questo impattera’ la scelta finale dei pulsanti fisici.

Configurazione dei pulsanti

Una qualsiasi delle guide per costruire un cabinet aracade, precedentemente citata, dovrebbe spiegarvi come collegare un controller USB i relativi pulsanti.

Per vedere con quale codice i pulsanti vengono riconosciuti dal sistema, eseguire i seguenti comandi.

cd  /home/pi/rpi-fruitbox-master

sudo ./fruitbox –test-buttons –cfg ./skins/[IL_MIO_TEMA]/fruitbox.cfg

Cliccare sui ogni pulsante e prendere nota di volta in volta del codice generato a video.

Modificare sul vostro PC il file di configurazione fruitbox.btn (scarica il file qui) sostituendo per ogni tasto che vogliamo mappare il corrispondente codice che abbiamo annotato nel passo precedente.

Copiare il file di configurazione fruitbox.btn via SFTP su questo path:

/home/pi/rpi-fruitbox-master/rpi-fruitbox-master/

Rilanciare l’applicazione fruitbox come mostrato precedentemente:

cd  /home/pi/rpi-fruitbox-master

./fruitbox –cfg skins/[IL_MIO_TEMA]/fruitbox.cfg

Verificare che i tasti funzionino.

Impostarte l’avvio automatico di fruitbox al boot e spegnimento all’uscita

Come prima cosa dobbiamo impostare il login automatico on l’utente pi.

Comandi

sudo raspi-config

Al menu ncurses (quello grigio a sfondo blu per intenderci) selezionare:

3 Boot Options Configure options for start-up 

Poi:

B1 Desktop / CLI Choose whether to boot into a desktop environment or the command line 

E infine:

B2 Console Autologin Text console, automatically logged in as ‘pi’ user

Uscire selezionando

<Finish>

E alla domanda:

 Would you like to reboot now? 

Rispondere

<Yes>

A questo punto verifichiamo che al riavvio di Raspbian, non venga richiesta la password per accere come utente  pi.

A questo punto dobbiamo automatizzare la partenza e lo spegnimento.

Come prima cosa scarichiamo il file jukebox.conf. Modifichiamolo questo file decommentando (cioe’ eliminando il il carattere cancelletto) dalla nostra skin preferita.

Scarichiamo lo script runjb.sh.

Copiamo i file runjb.sh e jukebox.conf via SFTP sulla directory /home/pi del nostro Raspberry.

Infine, sul terminale di Raspbian (las schermata di avvio testuale per intenerci) eseguiamo:

chmod 770 /home/pi/runjb.sh
chmod 770 /home/pi/jukebox.conf
echo “/home/pi/runjb.sh” >> /home/pi/.bashrc

A questo punto dobbiamo solo riavviare il sistema e verificare il corretto funzionamento.

Parte 3 – Finale

Se tutti i precedenti passi sono stati correttamente eseguiti, divertitevi a montare e decorare il vostro jukebox.

In caso avreste bisogno di assistenza, o volete condividere i vostri progetti (cosa che vi incoraggio a fare), vi consiglio di chiedere asistenza alla community arcade italia di cui io faccio parte:

Arcade Italia Forum Ufficiale

Arcade Italia Gruppo Facefook

O anche su:

Fruitbox su Raspberry Forum

Parte 4 – Extra

Alcuni Tips and Tricks aggiuntivi:

Aggiornare la lista degli MP3:

  1. Aggiungere i files nella directory /home/pi/rpi-fruitbox-master/Music/
  2. Cancellare il file /home/pi/fruitbox.db
  3. Riavviare fruitbox

Configurazioni avanzate:

Il file rpi-fruitbox-master/skins/[IL_VOSTRO_TEMA]/fruitbox.cfg contiene interessanti configurazioni tra le quali:

  • La possibilita’ di eseguire brani random dopo un certo periodo di inattivita’
  • La possibilita’ di gestire la gettoniera 🙂
  • Tanto altro…

Documentazione ufficiale

Framebuffer

Se non vi piacciono “le scritte all’avvio” che sono lo standard output dello start di Raspbian, si puo’ customizzare con l’ immagine che preferite (guida). Ma la proceura non e’ per neofiti. Personalmente li ho lasciati perche’ se qualcosa va storto voglio capire cos’e’.

WallBradz skin

Per il mio progetto ho modificato la skin basandomi su l’ originale WallJuke. Se proprio ci tenete ad avere la mia faccia sul vinile che gira potete scaricarla qui 😀

NOTA: Questo articolo, come tutti i contenuti di questo blog sono sotto licenza creative commons. Puo’ essere liberamente distribuito senza scopo di lucro e citando la fonte.

 

Umili Liriche

musica, appunti e riflessioni sull'universo conosciuto