Sommario:

Crea un dispositivo Chromecast come Raspberry Pi: 7 passaggi
Crea un dispositivo Chromecast come Raspberry Pi: 7 passaggi

Video: Crea un dispositivo Chromecast come Raspberry Pi: 7 passaggi

Video: Crea un dispositivo Chromecast come Raspberry Pi: 7 passaggi
Video: Полное руководство по Google Forms - универсальный инструмент для опросов и сбора данных онлайн! 2024, Luglio
Anonim
Crea un dispositivo Chromecast come Raspberry Pi
Crea un dispositivo Chromecast come Raspberry Pi
Crea un dispositivo Chromecast come Raspberry Pi
Crea un dispositivo Chromecast come Raspberry Pi
Crea un dispositivo Chromecast come Raspberry Pi
Crea un dispositivo Chromecast come Raspberry Pi
Crea un dispositivo Chromecast come Raspberry Pi
Crea un dispositivo Chromecast come Raspberry Pi

Possiedo già un Chromecast v2 (quello rotondo, la chiavetta USB come è v1 e v3 sembra v2 ma con una G su i e ha un power brick con porta Ethernet) e lo adoro, è molto divertente da usare e facile da configurare, MA…

Sì, c'è un MA, quando mi trovo in un posto dove non ho accesso a Internet e non posso usare il mio piano dati, NON POSSO UTILIZZARLO per trasmettere contenuti multimediali locali dal mio telefono o tablet, anche quando non lo faccio non ha bisogno di Internet, Google nella "grande saggezza" di loro ha deciso di non lasciarlo nemmeno avviarsi senza Internet, è un male se alla fine ne hai bisogno per lo streaming

Ho un mini router GL-MT300A, è molto molto piccolo e può essere alimentato da un telefono, una batteria esterna o un caricatore del telefono, lo uso per accoppiare il mio Chromecast e quando ho bisogno di Internet connetto il router alla rete cablata rete o se hanno solo WiFi, supporta la connessione a quella come client e funge anche da router allo stesso tempo, ora il problema persiste ancora, niente internet = niente chromecast dei media locali per te. Qui entra in gioco il Raspberry Pi Zero W (W viene da Wireless, ha una scheda build it, *yaay*, anche Bluetooth ma non ne ho bisogno:P)

Passaggio 1: cosa ti serve e cosa ottieni

Cosa ti serve e cosa ottieni
Cosa ti serve e cosa ottieni
Cosa ti serve e cosa ottieni
Cosa ti serve e cosa ottieni
Cosa ti serve e cosa ottieni
Cosa ti serve e cosa ottieni

Hai bisogno:

  • Raspberry Pi Zero W (il mio è in una custodia acrilica)
  • Cavo HDMI (uno con i cappucci di plastica è bello da avere)
  • Fonte di alimentazione (caricatore del telefono nel mio caso)
  • Adattatore da mini HDMI (maschio) a HDMI completo (femmina) (fornito con PI)
  • Scheda SD di 8Gb o più (io uso una 16Gb di Medion)
  • Lettore di schede SD (il mio l'ho ricevuto in regalo con un power bank di Hama)
  • Connessione Internet e PC per scaricare "Raspbian Stretch Lite"
  • Etcher Portable (scrittore di immagini della scheda SD) -> ottieni Etcher per Windows x86 (32 bit) (portatile) funzionerà anche su x64
  • Scarica Putty dal link fornito o cerca su Google

Otterrete:

Un obiettivo di trasmissione per file video da servizi online come YouTube e media locali (video, audio e immagini) per Android (Raspicast), Windows e qualsiasi sistema operativo che supporti un'app client SSH

Non richiede Internet se i media che gli stai inviando sono memorizzati sul tuo dispositivo o da qualche parte nella rete locale

Puoi ottenere un controllo remoto del target come la riproduzione, scegliere la sorgente, riprodurre/mettere in pausa, volume, uscire. (Pulsante SSH o SSH lampone, Putty)

Ottieni un tempo di avvio molto veloce del dispositivo, per un Raspberry Pi Zero, di circa 10 secondi

Ottieni uno sfondo predefinito e un modo per visualizzare sfondi casuali, premendo un pulsante che non occupa spazio sul dispositivo e rimane lì fino al riavvio. (può essere cambiato per essere persistente, mostrerò più tardi come)

Accetta vari tipi di flussi (come HTTP, HTTPS, RTSP) e con l'aiuto di un computer, laptop nel mio caso, Sopcast, Acestream e media locali con sottotitoli esterni (come srt, sub)

Puoi anche fornire al lettore file su HTTP archiviati sul tuo computer, con l'aiuto di un server web portatile, singolo file

C'è altro da scoprire, da aggiungere o da rimuovere, a seconda delle tue esigenze

Passaggio 2: ottenere il software e gli strumenti da inserire nella scheda SD

Ottenere il software e gli strumenti da inserire su SDcard
Ottenere il software e gli strumenti da inserire su SDcard
Ottenere il software e gli strumenti da inserire su SDcard
Ottenere il software e gli strumenti da inserire su SDcard
Ottenere il software e gli strumenti da inserire su SDcard
Ottenere il software e gli strumenti da inserire su SDcard

Download:

Ora vai su https://www.raspberrypi.org/downloads/raspbian/ e scarica "Raspbian Stretch Lite"

Vai su https://www.balena.io/etcher/ e ottieni Etcher per Windows x86 (32 bit) (portatile) (ci sono anche versioni linux e mac)

Scarica mastice da

Ora che hai tutto questo, avvieremo Etcher e inseriremo la carta nel lettore di schede e il lettore nel computer:P

In Etcher fai clic su seleziona immagine e scegli il file zip scaricato (per me al momento in cui scrivo questo è "2018-11-13-raspbian-stretch-lite.zip", quindi seleziona il lettore di schede dall'elenco visualizzato e fai almeno clic flash, chiederà il permesso allo User Account Control (UAC), lo consentirà, ha bisogno di accedere fisicamente alla sdcard in modalità esclusiva per scrivere l'immagine. Una volta fatto scollegarlo, è già stato espulso da Etcher e reinserirlo, ci sarà una partizione di avvio di ~50Mb e ti verrà chiesto di formattare una "partizione non formattata" NON FORMATTARLA, Windows non può leggere le partizioni Linux e c'è una partizione ext4.

Devi creare 2 file nella partizione di avvio.

un nuovo file senza estensione chiamato ssh

un altro chiamato wpa_supplicant.conf

Il contenuto di "wpa_supplicant.conf" è il seguente

paese=GB

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 rete={ ssid="YOUR_WIFI_SSID" psk="YOUR_SUPER_SECRET_PASSWORD" }

Ora collegalo al tuo Raspberry Pi e collega il dispositivo di uscita HDMI (noto anche come TV, proiettore, ecc.)

L'ultima riga prima del login verrà visualizzato un IP. (Come regola generale è bene rendere statica l'allocazione dell'indirizzo per il router, vedere l'immagine di un router Linksys.

Passaggio 3: aggiornamento e configurazione di tutto

Aggiornamento e configurazione del tutto
Aggiornamento e configurazione del tutto

Aggiorna il tuo sistema:

sudo apt-get update

sudo apt-get upgrade sudo apt-get update sudo rpi-update

Dopo che tutto è stato fatto, si riavvierà e avrai una finestra di stucco inattiva, chiudila e ricomincia con gli stessi dati del passaggio precedente.

Ora installeremo omxplayer, non è necessario compilarlo dai sorgenti fa parte dei repository di Raspbian.

sudo apt-get install omxplayer fonts-freefont-ttf

Voglio avere un modo per cambiare la porta HDMI della mia TV, con l'aiuto del mio Raspberry, come se volessi trasmetterci qualcosa e non volessi usare il telecomando per cambiare sorgente a quella a cui è collegato. C'è un modo per farlo dal Pi e con l'aiuto di un comando dalla mia app preferita. Per farla breve, fai quanto segue:

sudo apt-get install cec-utils

Ora segue il visualizzatore di immagini framebuffer chiamato fbi (c'è anche una versione più avanzata chiamata fim)

sudo apt-get install fbi

Supporto Samba, condivisione di Windows per accedere e avere una cartella condivisa.

sudo apt-get install samba samba-common-bin

cd /home/pi

sudo mkdir -m 1777 /home/pi/share

Modifica il file di configurazione di samba

sudo nano /etc/samba/smb.conf

inserire le seguenti righe alla fine (quelle che iniziano con # sono commenti e possono essere ignorate)

[Condividere]

Comment = Cartella condivisa Pi Percorso = /home/pi/share Sfogliabile = sì Scrivibile = Sì solo ospite = no crea maschera = 0777 maschera directory = 0777 Pubblico = sì Ospite ok = sì

Infine, salvalo; usando nano nel terminale:

premere "Ctrl+X" per chiudere il file, quindi "Y" per confermare il salvataggio, quindi "Invio" per salvare il file con il nome file corretto.

Ora imposta la password per il samba come per l'utente pi (predefinito: raspberry)

sudo smbpasswd -a pi

riavvia il servizio samba

sudo /etc/init.d/samba restart

Ora che hai le basi, la personalizzazione sta seguendo.

Passaggio 4: personalizzazione

personalizzazione
personalizzazione

fare in modo che la schermata iniziale venga visualizzata all'avvio invece di una schermata nera con testo bianco.

Scarica WinSCP e accedi utilizzando lo stesso IP, utente e password dal login SSH/Putty.

Vai /home/pi/ e carica l'immagine fornita nel file zip in questo passaggio, dopo aver decompresso. Quindi esci. L'immagine è 1080p come risoluzione.

digita il seguente comando in putty:

nano ~/.bashrc

scorrere fino all'ultima riga con i tasti frecciainserire lì le righe seguenti (quelle che iniziano con # sono commenti e possono essere ignorate)

# fifo per i comandi da ssh a omxplayer

mkfifo /tmp/cmd # splash screen per sostituire lo schermo nero e il testo sudo /usr/bin/fbi -noverbose -a -T 1 /home/pi/splashscreen.jpg

Infine, salvalo; utilizzando nano nel terminale: premere "Ctrl+X" per chiudere il file, quindi "Y" per confermare il salvataggio, quindi "Invio" per salvare il file con il nome file corretto.

Ora rendiamo l'accesso automatico dell'utente 'pi' all'avvio, ne abbiamo bisogno per visualizzare l'immagine, può essere fatto in un modo senza l'accesso automatico ma è più difficile e può peggiorare rapidamente con un singolo errore di battitura.

sudo raspi-config

  1. Seleziona l'opzione di avvio
  2. Seleziona Desktop/CLI
  3. Seleziona Accesso automatico alla console per CLI

Ora riavvieremo e avremo finito con il pi greco e faremo le prelibatezze per giocare.

sudo reboot

L'idea del mio progetto è che la maggior parte delle cose viene eseguita nel client SSH in quanto può essere personalizzato e modificato in base alle esigenze.

Passaggio 5: come usarlo:

Come usarlo
Come usarlo
Come usarlo
Come usarlo
Come usarlo
Come usarlo
Come usarlo
Come usarlo

Mostrerò i comandi e cosa fanno e come configurare il software aggiuntivo dal dispositivo di streaming.

Uso 3 app Android e 4 app per PC per i miei scopi, ma tu implementi ciò di cui hai bisogno da ciò che ti mostrerò o puoi avere tutto e persino aggiungerne di più.

• YouTube: sotto Android usa Raspcast, sotto PC usa un sito come https://www.onlinevideoconverter.com/ o

www.youtubnow.com/ o https://youtubemp4.to o ancora meglio https://mpgun.com/youtube-to-mp4.html?yid=hTJAnWWK7YQ (hTJAnWWK7YQ è l'id di YouTube) otterrai un collegamento diretto ai media riproducibili con il seguente comando:

omxplayer -o hdmi "https://sv89.onlinevideoconverter.com/download?file=f5a0d3c2e4d3g6h7" /tmp/cmd

L'aggiunta di < /tmp/cmd abiliterà il controllo remoto e; eco. > /tmp/cmd avvierà la riproduzione del flusso oppure attenderà un comando dalla fifo. Il parametro -o hdmi di omxplayer emetterà video HDMI E l'audio va lì, questo è importante per le persone che utilizzano le varianti più grandi di Raspberry Pi Zero W.

Ora ti mostro come configurare Raspicast per Android, è gratuito e non ha pubblicità.

Installa Raspicast da Google Play Store e configuralo come nelle immagini fornite.

play.google.com/store/apps/details?id=at.huber.raspicast

• Sopcast: avvia Sopcast su PC scegli un canale e quando vedi un'immagine dai il seguente comando

L'IP 192.168.1.6 è l'indirizzo IP DEL TUO PC. LAPTOP NON QUELLO DEL PI, nel mio esempio il Pi ha 192.168.1.9 e il laptop è 192.168.1.6

omxplayer -o hdmi "192.168.1.6:8902" /tmp/cmd

• AcePlayer: avvialo, scegli un canale e … c'è una sola volta le impostazioni che devi cambiare per farlo funzionare, vai su Strumenti -> Preferenze -> Spessa tutto, Uscita flusso -> Catena di uscita flusso predefinita, dove inserisci quanto segue

#duplica{dst="http{mux=ts, dst=:8902/tv.asf}", dst=display}

Fare clic su Salva. Ora il comando che ti mostrerà lo stream, dopo averlo avviato su AcePlayer ofc:

omxplayer -o hdmi "https://192.168.1.6:8902/tv.asf" /tmp/cmd

• Casting da PC un file Hai bisogno di Putty, Zervit, VLC installato (non portatile)

Zervit si ottiene da

Per prima cosa devi mettere zervit.exe nella cartella con i file multimediali che vuoi inviare al tuo Raspberry PI, quindi eseguirlo, farà alcune domande. "Numero porta da ascoltare (80):" digita 80 e inserisci "Accetta elenco directory [S/N]:" digita y e inserisci ora apri un browser e digita il tuo indirizzo IP LAN https://192.168.1.6 vedrai tutti i file multimediali lì, copia il link su uno di essi con il tasto destro -> copia link, quindi ssh con putty e digita

omxplayer -o hdmi "https://192.168.1.6/Movie.mp4" /tmp/cmd <- o come si chiama il tuo file multimediale

per i file con sottotitoli metti i sottotitoli, stesso nome del file video con estensione srt nella cartella condivisa di windows del raspberry

LAMPONEPI\condividi

o

192.168.1.9\condividi

dove 192.168.1.9 è l'ip del tuo lampone.

nella tua cartella Inizio (/home/pi)

winscp con pi:rasspberry e carica uno script python chiamato 'omxplayersub.py' con il seguente contenuto:

sottoprocesso di importazione

import sys import urllib2 if (len(sys.argv) != 2): print "Nessun nome file specificato" quit() file = sys.argv[1] subfile = "/home/pi/share/"+ file.split ("/")[-1] subfile = subfile[:-3] + "srt" subfile = urllib2.unquote(subfile) subprocess. Popen('omxplayer -o hdmi -r --font "/home/pi/Segoe UI, Medium.ttf" --italic-font "/home/pi/Segoe UI, Italic.ttf" --align center ' +'"'+ file +'"'+ ' --subtitles ' +'"'+ subfile +'"', shell=True)

ora caricalo con l'interfaccia utente Segoe e i caratteri della famiglia FreeSans nella tua cartella home (/home/pi) Cambia i nomi dei caratteri per il tipo di carattere desiderato e, se necessario, aggiungi --font-size size 55 (predefinito: 55) dopo --align con la dimensione desiderata.

e usa il seguente comando per giocare:

python omxplayersub.py "https://192.168.1.6/Defiance%20S01E02.mp4" < /tmp/cmd <- o come si chiama il tuo file multimediale

Se non lo vedi sullo schermo in riproduzione, c'è un problema di compatibilità, su alcuni file h264 il profilo viene visualizzato da h264-omx come -99, sì negativo 99, e non verrà riprodotto, in questo caso e in caso di a file con sottotitoli esterni è necessario utilizzare il flusso VLC scegliere file/file, selezionare HTTP, lasciare la porta predefinita, h.264/AAC (TS), mantenere la scala a 1, transcodifica - Impostazioni sottotitoli spessi, premere il pulsante stream e lasciare funziona per alcuni secondi.

omxplayer -o hdmi "https://192.168.1.6:8080/" /tmp/cmd <- inizierà la riproduzione

Stiamo eseguendo la transcodifica, ci sarà una piccola perdita di qualità sul display e la CPU funzionerà di più su PC ma funziona.

CEC - Controlli

Accendi la TV

eco su 0 | cec-client -s -d 1

Spegni la TV

eco standby 0 | cec-client -s -d 1

Cambia sorgente HDMI

HDMI1

echo "tx 4F:82:10:00" | cec-client -s -d 1

HDMI2

echo "tx 4F:82:20:00" | cec-client -s -d 1

HDMI3

echo "tx 4F:82:30:00" | cec-client -s -d 1

HDMI4

echo "tx 4F:82:40:00" | cec-client -s -d 1

Come vedete, il terzo byte nella stringa esadecimale su cui echeggiamo è il numero del connettore HDMI da impostare come attivo.

Passaggio 6: elenco dei comandi da inserire nelle app

Elenco dei comandi da inserire nelle app
Elenco dei comandi da inserire nelle app

Hai già installato Raspicast al passaggio precedente, ora devi scegliere tra Raspberry SSH (è a pagamento) o SSH Button (è gratuito e mi piace di più, ma ho già acquistato Raspberry SSH prima di scoprire questo).

Lampone SSH

play.google.com/store/apps/details?id=uk.co.knowles_online.raspberryssh

Questa app, o pulsante SSH, è necessaria se hai bisogno di trasmettere contenuti dal PC e hai bisogno di un telecomando da un dispositivo Android, può essere utilizzata senza di essa tramite mastice dal PC.

La configurazione per entrambi è quasi la stessa.

Pulsante 1 Btn Testo: Riavvia

Btn Comando:

sudo reboot

Pulsante 2

Testo Btn: Spegnimento

Btn Comando:

sudo poweroff

Pulsante 3

Testo Btn: HDMI1

Btn Comando:

echo "tx 4F:82:10:00" | cec-client -s -d 1

Pulsante 4

Testo Btn: HDMI2

Btn Comando:

echo "tx 4F:82:20:00" | cec-client -s -d 1

Pulsante 5

Testo Btn: HDMI3

Btn Comando:

echo "tx 4F:82:30:00" | cec-client -s -d 1

Pulsante 6

Testo Btn: Uccidi omxplayer

Btn Comando:

sudo killall -s 9 omxplayer.bin

Pulsante 7

Testo Btn: Sopcast

Btn Comando:

omxplayer -o hdmi "https://192.168.1.6:8902" /tmp/cmd

Pulsante 8

Testo Btn: AcePlayer

Btn Comando:

omxplayer -o hdmi "https://192.168.1.6:8902/tv.asf" /tmp/cmd

Pulsante 9

Testo Btn: VLC Stream

Btn Comando:

omxplayer -o hdmi "https://192.168.1.6:8080/" /tmp/cmd

Pulsante 10

Testo Btn: Riproduci/Pausa

Btn Comando:

echo -n p > /tmp/cmd

Pulsante 11

Testo Btn: Volume +

Btn Comando:

echo -n + > /tmp/cmd

Pulsante 12

Testo Btn: Volume -

Btn Comando:

echo -n - > /tmp/cmd

Pulsante 13

Testo Btn: esci da Omxplayer

Btn Comando:

echo -n q > /tmp/cmd

Pulsante 14

Testo Btn: sfondo casuale

Btn Comando:

wget -O DELME.jpg https://source.unsplash.com/random/1920x1080 &> /dev/null; sudo killall fbi &> /dev/null;sudo fbi -noverbose -a -T 1 DELME.jpg &> /dev/null;sleep 1; rm DELME.jpg

Pulsante 15

Testo Btn: sfondo predefinito

Btn Comando:

sudo killall fbi &> /dev/null;sudo fbi -noverbose -a -T 1 splashscreen-j.webp

Pulsante 16 Btn Text: Slideshow Wallpaper

Btn Comando:

cd /home/pi/slideshow/; sudo killall fbi &> /dev/null;sudo fbi -noverbose -a -T 1 -t 5 *-j.webp

-t 5 per 5 secondi

Pulsante 17 Btn Testo: SOTTOTITOLI HTTP PLAY (Modifica)

Btn Comando:

python omxplayersub.py "https://192.168.1.6/Some%20video%20with%20subtitle.mp4" < /tmp/cmd

Durante la modifica, cambia "https://192.168.1.6/Some%20video%20with%20subtitle.mp4" con l'URL del file da una fonte esterna o cambialo in qualcosa come /home/pi/share. I sottotitoli devono essere in /home/pi/share, SEMPRE.

Alternativa gratuita a Raspberry SSHhttps://play.google.com/store/apps/details?id=com.pd7l.sshbutton&hl=en_US

Funziona esattamente come Raspberry SSH, non ha pubblicità, meno colori e tutti i pulsanti sono su una singola riga non 2 ma è gratuito e funziona alla grande.

Ora alla fine alcune cose esotiche, trasmetti in streaming ciò che registri con il tuo telefono in tempo reale, ci sono alcuni secondi di ritardo, alla tua TV.

IP WEBCAMERA PRO (a pagamento)

play.google.com/store/apps/details?id=com.pas.webcam.pro

Avvia lo streaming e usa il seguente comando per trasmetterlo alla TV

omxplayer -o hdmi rtsp://192.168.1.8:8080/h264_ulaw.sdp

Server telecamera RTSP (gratuito)

play.google.com/store/apps/details?id=com.miv.rtspcamera&hl=en&rdid=com.miv.rtspcamera

Fa la stessa cosa di quella a pagamento ma gratis, senza pubblicità

omxplayer -o hdmi "rtsp://192.168.1.8:5554/camera"

Fotocamera attiva - rtsp://(indirizzo IP del dispositivo):5554/fotocamera Fotocamera posteriore - rtsp://(indirizzo IP del dispositivo):5554/retro Fotocamera anteriore - rtsp://(indirizzo IP del dispositivo):5554/anteriore

Parametri dell'URL della telecamera:

res Risoluzione - larghezza (numero) x altezza (numero)

fps Fotogrammi al secondo - fps (numero) mic Abilita/Disabilita microfono - acceso (stringa) o spento (stringa)

Esempio: rtsp://(indirizzo IP del dispositivo):5554/back?res=640x480&fps=10&mic=on

Passaggio 7: altre cose… Interfaccia WEB

Qualche altra cosa… Interfaccia WEB
Qualche altra cosa… Interfaccia WEB

Installalo con una singola riga da git

wget https://raw.githubusercontent.com/brainfoolong/omxwebgui-v2/master/install.sh && clear && sh install.sh

Interfaccia utente predefinita sulla porta 4321, non ha bisogno di server web e funziona tutto sotto php

Requisiti:

sudo apt-get install php-cli

sudo apt-get install php-mbstring sudo apt-get install php5-cli sudo apt-get install php5-mbstring

Scarica/clona/decomprimi l'intero script in una cartella che ti piace. Imposta chmod corretto per gli script con

chmod +x *.sh

Crea un server web php in ascolto sulla porta 4321, puoi cambiare la porta in quello che vuoi. Inizia con lo stesso utente di cui hai bisogno per riprodurre i video. Si prega di non utilizzare Apache o altri server per eseguire lo script php, probabilmente non funzionerà.

php -S 0.0.0.0:4321 -t /home/pi/omxwebgui > /dev/null 2>&1 &

Apri la pagina web con https://192.168.1.9:4321 (dove 192.168.1.9 è l'IP raspberry pi)

Per abilitare l'avvio automatico al riavvio, aggiungi la seguente riga al tuo crontab. Fallo con lo stesso utente di cui hai bisogno per riprodurre i video. Nessun sudo richiesto. Aggiungi la seguente riga a crontab con crontab -e per avviare il semplice server web php al riavvio.

crontab -e

ora aggiungi con

@reboot php -S 0.0.0.0:4321 -t omxwebgui > /dev/null 2>&1 &

Aggiungi i file nelle impostazioni, solo le condivisioni locali ospitate o mappate e i flussi ofc possono essere aggiunti. aggiungi /home/pi/share anche alla cartella dei sottotitoli e, se necessario, abilita la correzione per la velocità di riproduzione 2x e nessun bug audio.

Consigliato: