Blog
Come usare Raspberry Pi come alternativa a Chromecast
Utilizzando un Raspberry Pi 3B e Raspicast, è possibile creare un ricevitore multimediale wireless leggero che funziona in modo simile a Chromecast. Tuttavia, è importante comprendere fin da subito la limitazione: questo non è un sostituto completo di Chromecast. Non implementa il protocollo Google Cast completo e non offrirà la stessa compatibilità a livello di app di un dispositivo Chromecast commerciale.
In questa configurazione, un dispositivo Android, solitamente un telefono cellulare, invia link multimediali o file locali al Raspberry Pi. Il Raspberry Pi gestisce quindi la riproduzione ed emette il contenuto su una TV tramite HDMI. A seconda del tipo di media e del software utilizzato, strumenti più vecchi basati su OMX, come OMXPlayer o omxiv, potrebbero essere coinvolti nella riproduzione o visualizzazione di immagini.
Completteremo il progetto in fasi, tra cui l'installazione dell'hardware, l'installazione del sistema operativo, l'installazione o la compilazione del software, la configurazione della rete e l'impostazione di Raspicast. Ogni fase dipende dalla precedente, quindi è meglio completare i passaggi in ordine.
Passo 1: Configurazione dell'hardware
L'hardware richiesto per questo progetto è:
- Raspberry Pi 3 Modello B
- scheda microSD, 16 GB minimo
- Alimentatore affidabile da 5V/2.5A con micro-USB
- Cavo HDMI
- Custodia per Raspberry Pi
- Dissipatori opzionali per il SoC principale e altri chip che generano calore
- Combinazione tastiera e mouse wireless USB
- Lettore di schede SD per scrivere l'immagine del sistema operativo
Il Raspberry Pi 3 Model B ha il Wi-Fi integrato, quindi non è necessario un adattatore Wi-Fi USB. Se stai utilizzando un modello di Raspberry Pi più vecchio senza Wi-Fi integrato, puoi collegarlo tramite Ethernet o aggiungere un adattatore Wi-Fi USB compatibile.
Assicurati di utilizzare un alimentatore da 5V/2.5A stabile. Un caricabatterie del telefono debole o un cavo di scarsa qualità potrebbero causare avvisi di sottotensione, riavvii casuali, instabilità USB o problemi di riproduzione, specialmente quando sono collegati dei dispositivi.
Passaggio 2: Scrivi Raspberry Pi OS sulla scheda SD
Scarica l'immagine desktop di Raspberry Pi OS da raspberrypi.com. Se scarichi un file .zip compresso, estrailo prima per ottenere il file .img.
Flash con Etcher
Scarica balenaEtcher da balena.io e avvialo.
Clicca su Flash da file, quindi seleziona il file .img. Clicca su Seleziona destinazione e scegli la tua scheda SD. Assicurati di aver selezionato la scheda SD corretta, perché il processo di flash cancellerà l'unità selezionata.
Dopo aver confermato il target corretto, fai clic su Flash. Al termine del processo, espelli in sicurezza la scheda SD.
Su Linux
In alternativa, puoi scrivere l'immagine dalla riga di comando:
sudo dd if=raspbian.img of=/dev/sdX bs=4M status=progress conv=fsync
In questo comando, sostituisci /dev/sdX con il nome effettivo del dispositivo della tua scheda SD.
Fai attenzione con questo comando. Se scegli il dispositivo sbagliato, potresti sovrascrivere un altro disco sul tuo computer. Puoi usare il seguente comando per controllare la lista dei tuoi dischi prima di scrivere l'immagine:
lsblk
Passaggio 3: Assemblaggio dell'hardware
Aprire il case del Raspberry Pi secondo il design del vostro case. Se state usando dissipatori, rimuovere la pellicola adesiva e premere saldamente ciascun dissipatore sul chip corretto per circa dieci secondi.
Il dissipatore di calore più grande solitamente va sul SoC principale. Dissipatori più piccoli possono essere posizionati su altri chip che generano calore, a seconda del kit di dissipatori e del layout della scheda. Non aggiungere pasta termica se i dissipatori hanno già un adesivo termico pre-applicato.
Posiziona il Raspberry Pi all'interno del case allineando le porte USB, HDMI e di alimentazione con le aperture del case. Se il tuo case ha pannelli laterali rimovibili, potresti voler lasciare il case parzialmente aperto durante il test iniziale in modo che la risoluzione dei problemi sia più facile.
Passaggio 4: Avvio, Connessione di Rete e Configurazione SSH
Inserisci la scheda SD nel Raspberry Pi. Collega una tastiera, un mouse, un display HDMI e l'alimentatore micro-USB.
Accendi il Pi e attendi finché non viene caricato il desktop di Raspberry Pi OS. Durante l'avvio, il LED di attività verde potrebbe lampeggiare mentre il sistema legge dalla scheda SD.
Fai clic sull'icona del Wi-Fi nell'angolo in alto a destra, seleziona la tua rete Wi-Fi e inserisci la password per collegare il Raspberry Pi a Internet.
Successivamente, apri l'applicazione Terminale ed esegui:
sudo raspi-config
Vai a:
Opzioni interfaccia → SSH → Abilita
Poi esci da raspi-config.
SSH ti permette di controllare il Raspberry Pi da remoto senza usare tastiera o mouse. Se SSH è abilitato, cambia la password predefinita o usa il nome utente e la password che hai configurato durante l'installazione di Raspberry Pi OS, soprattutto se il Pi è collegato a una rete condivisa.
Per verificare l'indirizzo IP del Raspberry Pi, esegui:
hostname -I
Annota l'indirizzo IP. Ti servirà più avanti quando configurerai Raspicast sul tuo telefono Android.
Passaggio 5: Aggiorna pacchetti e installa dipendenze
Apri il terminale ed esegui:
sudo apt-get update
Questo aggiorna l'elenco dei repository di pacchetti.
Quindi esegui:
sudo apt-get upgrade
Questo scaricherà e installerà gli aggiornamenti dei pacchetti disponibili. Su una nuova installazione di Raspberry Pi OS, questo potrebbe richiedere diversi minuti a seconda della tua connessione Internet e della velocità della scheda SD.
Dopo che l'aggiornamento è terminato, installa le librerie di sviluppo richieste:
sudo apt-get install libjpeg8-dev libpng-dev git make
Questi file di intestazione di sviluppo sono necessari per creare strumenti correlati alle immagini come omxiv. Se si sta utilizzando un vecchio sistema legacy o seguendo una vecchia guida alla compilazione di omxiv, potrebbe essere menzionato libpng12-dev, ma sui sistemi più recenti libpng-dev è solitamente il nome del pacchetto più sicuro.
Accetta l'installazione quando richiesto.
Passo 6: Compila omxiv da Sorgente
Alcune configurazioni di Raspicast utilizzano omxiv per visualizzare immagini sul Raspberry Pi. Se la tua build di Raspicast richiede omxiv, potresti doverlo compilare da sorgenti.
Apri una finestra del terminale sul Raspberry Pi ed esegui:
git clone https://github.com/HaarigerHarald/omxiv
Questo scarica i file sorgente di omxiv in una directory chiamata omxiv.
Successivamente, spostati in quella directory:
cd omxiv
Quindi compila il progetto:
make -j4
Il flag -j4 consente al processo di build di utilizzare quattro processi paralleli, il che è adatto alla CPU quad-core del Raspberry Pi 3.
Dopo che la compilazione è completa, installala:
sudo make install
Questo installa omxiv nel percorso di sistema.
Per confermare l'installazione, esegui:
che omxiv
Se il comando restituisce un percorso come:
/usr/bin/omxiv
allora l'installazione è andata a buon fine.
Se la compilazione fallisce, verificare la presenza di dipendenze mancanti e rivedere i messaggi di errore dell'output prima di tornare al Passaggio 5.
Passaggio 7: Configura Raspicast sul telefono Android
Innanzitutto, assicurati che il tuo telefono Android e il tuo Raspberry Pi siano connessi alla stessa rete Wi-Fi.
Sul Raspberry Pi, controlla l'indirizzo IP corrente:
hostname -I
Quindi installa Raspicast sul tuo dispositivo Android dal Google Play Store.
Dopo l'installazione, apri Raspicast. Tocca l'icona del menu a tre puntini, vai su Impostazioni e inserisci i seguenti valori:
Indirizzo IP: utilizzare l'indirizzo IP del Raspberry Pi, ad esempio 192.168.1.50
Nome utente: utilizzare il nome utente configurato sul Raspberry Pi
Password: utilizzare la password configurata sul Raspberry Pi
Porta: 22
Dopo aver inserito questi valori, tocca Salva. Raspicast tenterà di stabilire una connessione SSH con il Raspberry Pi. Se la connessione avrà successo, l'app tornerà alla schermata principale di Raspicast.
Se Raspicast non riesce a connettersi, controlla quanto segue:
- L'indirizzo IP è corretto.
- L'SSH è abilitato sul Raspberry Pi.
- Il telefono Android e il Raspberry Pi sono sulla stessa rete Wi-Fi.
- La username e la password sono corretti.
- Porta 22 non è bloccata dalla tua rete.
Passaggio 8: Trasmetti contenuti alla tua TV
YouTube
Per utilizzare Raspicast con collegamenti video supportati, apri l'app YouTube o un'altra app supportata sul tuo smartphone. Riproduci un video, tocca Condividi e seleziona Raspicast.
Il link del video verrà inviato al Raspberry Pi. Se la configurazione Raspicast attuale e gli strumenti di riproduzione supportano il link, il Raspberry Pi tenterà di riprodurre il contenuto e lo visualizzerà sulla TV tramite HDMI.
Puoi bloccare il telefono o passare ad altre app dopo che la riproduzione è iniziata. In questa configurazione, il telefono invia principalmente la richiesta di riproduzione o il link multimediale; non sta renderizzando continuamente il video stesso.
File locali
Per trasmettere file locali come film, musica o altri file multimediali, apri Raspicast e naviga alla tua directory multimediale.
Seleziona un file supportato, come un video MP4, e Raspicast lo invierà al Raspberry Pi per la riproduzione. Il supporto effettivo per la riproduzione dipende dal formato del file, dal codec e dal lettore multimediale installato sul Raspberry Pi.
Immagini
Per proiettare immagini, naviga nella directory delle immagini in Raspicast e seleziona un'immagine JPG o PNG. L'immagine verrà inviata al Raspberry Pi e visualizzata sulla TV.
Note importanti
La qualità della riproduzione dipende dalla sorgente multimediale, dalla stabilità della rete, dal supporto dei codec e dal lettore utilizzato sul Raspberry Pi. Il supporto di YouTube o dei video web potrebbe variare poiché le piattaforme di streaming cambiano spesso i propri metodi di distribuzione.
Il Raspberry Pi 3 può gestire molte attività di riproduzione a 1080p, ma le prestazioni dipendono dal codec e dall'ambiente software. Se la riproduzione si blocca o salta, controlla la connessione Wi-Fi, l'alimentatore, il formato video, la compatibilità del software e la temperatura del Raspberry Pi.
Raspicast non offre lo streaming a livello di sistema come Chromecast. Le app di streaming come Netflix, Hulu, Disney+ e altri servizi protetti da DRM di solito non possono essere trasmesse tramite Raspicast allo stesso modo.
Potrebbe esserci un breve ritardo tra l'invio di una richiesta di riproduzione dal telefono e la visualizzazione dell'avvio del video sulla TV. Questo ritardo dipende dalla velocità di rete, dalla risoluzione del collegamento, dal buffering e dal tempo di avvio del player.
L'utilizzo della batteria del tuo telefono dovrebbe essere relativamente basso una volta avviata la riproduzione, poiché il telefono invia principalmente comandi o collegamenti multimediali anziché elaborare o transcodificare continuamente il video.
Considerazioni finali
Utilizzando Raspicast, puoi trasformare un Raspberry Pi in un ricevitore multimediale leggero per specifici flussi di casting. Il Raspberry Pi accetta richieste basate su SSH dal tuo telefono Android, riceve link o file multimediali e invia il contenuto a un televisore tramite HDMI.
Questa configurazione non è una copia esatta di Chromecast e non dovrebbe essere trattata come un sostituto completo di Google Cast. Tuttavia, è utile per la riproduzione di media locali, link condivisi selezionati e per imparare come l'hardware Raspberry Pi, il networking, SSH e gli strumenti di riproduzione media funzionano insieme.
Le competenze sviluppate durante questo progetto, tra cui la conoscenza dei comandi Linux, la compilazione di software da sorgente, la configurazione di SSH e l'installazione di hardware Raspberry Pi, sono trasferibili a molti futuri progetti embedded Linux e multimediali.
Domande Frequenti (FAQ)
A: Non sempre. Dipende dal produttore, dal progetto specifico e dai requisiti del cliente. Per progetti con esigenze di maggiore affidabilità, come l'elettronica medicale e automobilistica, l'AOI viene generalmente eseguito su ogni scheda.
Sì. Per i progetti con requisiti di qualità speciali, PCBCool può seguire le priorità di ispezione definite dal cliente, i criteri di accettazione, gli intervalli di tolleranza o i requisiti specifici di controllo dei difetti.
Abraash Vnest lavora su progetti elettronici legati alla difesa, con un focus su sviluppo schemi, risoluzione di problemi circuitale, test e documentazione tecnica. Sviluppa inoltre firmware STM32 e implementa protocolli di comunicazione industriale come CAN.