Índice:
- Etapa 1: O que você precisa e o que você obtém
- Etapa 2: obtendo o software e as ferramentas para colocar no cartão SD
- Etapa 3: Atualizar e configurar tudo
- Etapa 4: Personalização
- Etapa 5: como usar:
- Etapa 6: Lista de comandos para colocar em aplicativos
- Etapa 7: Mais algumas coisas … Interface WEB
Vídeo: Faça um Chromecast como o dispositivo Raspberry Pi: 7 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:37
Já tenho um Chromecast v2 (o redondo, o stick USB é v1 e v3 parece v2, mas com G em i e tem um power brick com porta Ethernet) e adoro, é muito divertido de usar e fácil de configurar, MAS …
Sim, há um MAS, quando estou em um lugar onde não tenho acesso à Internet e não posso usar meu plano de dados, NÃO POSSO UTILIZÁ-LO para transmitir mídia local do meu telefone ou tablet, mesmo quando não tenho não precisa de internet de jeito nenhum, google na “grande sabedoria” deles resolveu não deixar nem dar boot sem internet, isso é ruim se você acabar precisando fazer stream
Eu tenho um mini roteador GL-MT300A, é muito pequeno e pode ser alimentado por um telefone, bateria externa ou carregador de telefone, eu o uso para ter meu Chromecast emparelhado com ele e quando eu preciso de internet, eu apenas conecto o roteador à rede com fio ou se eles tiverem apenas WiFi, ele suporta conectar como cliente e atuar como roteador ao mesmo tempo também, agora o problema ainda persiste, sem internet = sem chromecast de mídia local para você. Aí vem o Raspberry Pi Zero W (W vem de Wireless, tem uma placa build it, * yaay *, Bluetooth também, mas eu não preciso disso: P)
Etapa 1: O que você precisa e o que você obtém
Você precisa:
- Raspberry Pi Zero W (o meu está em uma caixa de acrílico)
- Cabo HDMI (um com tampas de plástico é bom ter)
- Fonte de alimentação (carregador de telefone no meu caso)
- Adaptador Mini HDMI (macho) para HDMI completo (fêmea) (vem com PI)
- Cartão SD de 8 Gb ou mais (eu uso um 16 Gb da Medion)
- Leitor de cartão SD (ganhei o meu de presente com um banco de energia da Hama)
- Conexão com a Internet e PC para download do "Raspbian Stretch Lite"
- Etcher Portable (gravador de imagem de cartão SD) -> obter Etcher para Windows x86 (32 bits) (portátil) também funcionará em x64
- Baixe o Putty do link fornecido ou google para ele
Você vai ter:
Um alvo de transmissão para arquivos de vídeo de serviços online como YouTube e mídia local (Vídeo, Áudio e Imagens) para Android (Raspicast), Windows e qualquer sistema operacional que suporte um aplicativo cliente SSH
Ele não requer Internet se a mídia que você está enviando estiver armazenada em seu dispositivo ou em algum lugar da rede local
Você pode obter um controle remoto do destino, como reprodução, escolher a fonte, reproduzir / pausar, volume, sair. (Raspberry SSH ou SSH Button, Putty)
Você obtém um tempo de inicialização do dispositivo muito rápido, para um Raspberry Pi Zero, em torno de 10 segundos
Você obtém um papel de parede padrão e uma maneira de exibir papéis de parede aleatórios, pressionando um botão que não está ocupando espaço no seu dispositivo e permanece lá até a reinicialização. (pode ser alterado para ser persistente, vou mostrar mais tarde como)
Aceita vários tipos de streams (como HTTP, HTTPS, RTSP) e com a ajuda de um computador, laptop no meu caso, Sopcast, Acestream bem como mídia local com legendas externas (como srt, sub)
Você pode até fornecer arquivos via HTTP armazenados em seu computador, com a ajuda de um servidor da web portátil de arquivo único para o reprodutor
Há mais para descobrir, adicionar ou remover, dependendo de suas necessidades
Etapa 2: obtendo o software e as ferramentas para colocar no cartão SD
Transferências:
Agora vá para https://www.raspberrypi.org/downloads/raspbian/ e faça download do "Raspbian Stretch Lite"
Acesse https://www.balena.io/etcher/ e obtenha o Etcher para Windows x86 (32 bits) (portátil) (também existem versões para Linux e Mac)
Baixe o putty em
Agora que você tem tudo isso, vamos iniciar o Etcher e inserir o cartão no leitor de cartão e o leitor no computador: P
No Etcher, clique em selecionar imagem e escolha o arquivo zip baixado (para mim, no momento em que escrevo, é "2018-11-13-raspbian-stretch-lite.zip", selecione o leitor de cartão na lista exibida e, pelo menos, clique flash, ele vai pedir permissão ao User Account Control (UAC), permitir, ele precisa acessar fisicamente o sdcard em modo exclusivo para escrever a imagem. Quando terminar desconecte-o, ele já foi ejetado pelo Etcher, e coloque-o de volta, haverá uma partição de boot de ~ 50Mb e você será solicitado a formatar uma "partição não formatada" NÃO A FORMATAR, o Windows não consegue ler partições Linux e há uma partição ext4.
Você precisa fazer 2 arquivos na partição de inicialização.
um novo arquivo sem extensão chamado ssh
outro chamado wpa_supplicant.conf
O conteúdo do "wpa_supplicant.conf" é o seguinte
país = GB
ctrl_interface = DIR = / var / run / wpa_supplicant GROUP = netdev update_config = 1 rede = {ssid = "YOUR_WIFI_SSID" psk = "YOUR_SUPER_SECRET_PASSWORD"}
Agora conecte-o ao Raspberry Pi e conecte o dispositivo de saída HDMI (também conhecido como TV, projetor, etc.) e à alimentação.
Na última linha antes do login será mostrado um IP. (Como regra geral, é bom fazer essa alocação de endereço estática para o seu roteador, consulte a imagem de um roteador Linksys.
Etapa 3: Atualizar e configurar tudo
Atualize seu sistema:
sudo apt-get update
sudo apt-get upgrade sudo apt-get update sudo rpi-update
Depois que tudo estiver feito, ele irá reiniciar e você terá uma janela de putty que está inativa, feche-a e comece novamente com os mesmos dados da etapa anterior.
Agora vamos instalar o omxplayer, não há necessidade de compilá-lo do código-fonte, faz parte dos repositórios do Raspbian.
sudo apt-get install omxplayer fonts-freefont-ttf
Quero encontrar uma maneira de trocar a porta HDMI da minha TV, com a ajuda do meu Raspberry, como se eu quisesse transmitir algo para ela e não quisesse usar o controle remoto para mudar a fonte para a qual ele está conectado. Existe uma maneira de fazer isso a partir do Pi e com a ajuda de um comando do meu aplicativo de escolha. Resumindo, faça o seguinte:
sudo apt-get install cec-utils
Agora ele segue o visualizador de imagens do framebuffer chamado fbi (há uma versão mais avançada chamada fim também)
sudo apt-get install fbi
Suporte a Samba, compartilhamento de janelas para acessar e ter uma pasta compartilhada.
sudo apt-get install samba samba-common-bin
cd / home / pi
sudo mkdir -m 1777 / home / pi / share
Editar arquivo de configuração do samba
sudo nano /etc/samba/smb.conf
insira as seguintes linhas no final (as que começam com # são comentários e podem ser ignoradas)
[compartilhado]
Comment = Pi pasta compartilhada Path = / home / pi / share Browseable = yes Writeable = Sim apenas convidado = não criar máscara = 0777 máscara de diretório = 0777 Público = sim Visitante ok = sim
Finalmente, salve; usando nano no terminal:
pressione “Ctrl + X” para fechar o arquivo, depois “Y” para confirmar o salvamento e “Enter” para salvar o arquivo com o nome de arquivo correto.
Agora defina a senha para o samba da mesma forma que para o usuário pi (padrão: raspberry)
sudo smbpasswd -a pi
reinicie o serviço samba
sudo /etc/init.d/samba restart
Agora que você tem o básico, a personalização segue.
Etapa 4: Personalização
faça com que a tela inicial seja exibida na inicialização, em vez de uma tela preta com texto branco.
Baixe o WinSCP e faça o login usando o mesmo IP, usuário e senha do login do SSH / Putty.
Vá para / home / pi / e carregue a imagem fornecida no arquivo zip nesta etapa, após descompactar. Então saia. A imagem tem resolução de 1080p.
digite o seguinte comando na massa:
nano ~ /.bashrc
role para a última linha com as teclas de seta; insira as seguintes linhas lá (as que começam com # são comentários e podem ser ignoradas)
# fifo para comandos por ssh para omxplayer
mkfifo / tmp / cmd # tela inicial para substituir a tela preta e o texto sudo / usr / bin / fbi -noverbose -a -T 1 /home/pi/splashscreen.jpg
Finalmente, salve; usando nano no terminal: pressione “Ctrl + X” para fechar o arquivo, depois “Y” para confirmar o salvamento e “Enter” para salvar o arquivo com o nome de arquivo correto.
Agora fazemos o login automático do usuário 'pi' na inicialização, precisamos disso para exibir a imagem, pode ser feito de uma forma sem login automático, mas é mais difícil e pode ficar ruim rapidamente com um único erro de digitação.
sudo raspi-config
- Selecione a opção de inicialização
- Selecione Desktop / CLI
- Selecione o login automático do console para CLI
Agora vamos reiniciar e terminar com o pi e vamos fazer as guloseimas para jogar.
sudo reboot
A ideia do meu projeto é que a maior parte das coisas seja feita no cliente SSH, pois pode ser customizado e alterado conforme necessário.
Etapa 5: como usar:
Vou mostrar os comandos e o que eles fazem e como configurar o software adicional do dispositivo de streaming.
Eu uso 3 aplicativos para Android e 4 aplicativos para PC para meus propósitos, mas você implementa o que precisa do que vou mostrar que você pode ter tudo e até adicionar mais.
• YouTube: no Android use Raspcast, no PC use um site como https://www.onlinevideoconverter.com/ ou
www.youtubnow.com/ ou https://youtubemp4.to ou ainda melhor https://mpgun.com/youtube-to-mp4.html?yid=hTJAnWWK7YQ (hTJAnWWK7YQ é o id do youtube), você receberá um link direto para a mídia que pode ser reproduzido pelo seguinte comando:
omxplayer -o hdmi "https://sv89.onlinevideoconverter.com/download?file=f5a0d3c2e4d3g6h7" / tmp / cmd
Adicionar </ tmp / cmd habilitará o controle remoto e; eco. > / tmp / cmd vai começar a tocar o stream ou então vai esperar por um comando do fifo. O parâmetro -o hdmi do omxplayer terá saída para vídeo HDMI E o áudio vai para lá, isso é importante para pessoas que estão usando as variantes maiores do Raspberry Pi Zero W.
Agora vou mostrar como configurar o Raspicast para Android, é gratuito e não tem anúncios.
Instale o Raspicast da google play store e configure-o como nas imagens fornecidas.
play.google.com/store/apps/details?id=at.huber.raspicast
• Sopcast: inicie o Sopcast no PC, escolha um canal e quando vir uma imagem dê o seguinte comando
O IP 192.168.1.6 é o endereço IP DO SEU PC. LAPTOP NÃO O DO PI, no meu exemplo o Pi tem 192.168.1.9 e o laptop é 192.168.1.6
omxplayer -o hdmi "192.168.1.6:8902" / tmp / cmd
• AcePlayer: inicie, escolha um canal e … há uma configuração única que você precisa alterar para que funcione, vá para Ferramentas -> Preferências -> Tudo grosso, saída de fluxo -> Cadeia de saída de fluxo padrão, onde você insere o seguinte
#duplicate {dst = "http {mux = ts, dst =: 8902 / tv.asf}", dst = display}
Clique em Salvar. Agora o comando que irá mostrar o stream, após você iniciá-lo no AcePlayer ofc:
omxplayer -o hdmi "https://192.168.1.6:8902/tv.asf" / tmp / cmd
• Transmissão de um arquivo do PC que você precisa do Putty, Zervit, VLC instalado (não portátil)
Zervit que você obtém em
Primeiro você precisa colocar o zervit.exe na pasta com os arquivos de mídia que você quer enviar para o Raspberry PI, então execute-o, ele fará algumas perguntas. "Número da porta para escutar (80):" digite 80 e digite "Aceitar listagem de diretório [S / N]:" digite y e entre agora abra um navegador e digite seu endereço IP LAN https://192.168.1.6 que você verá todos os arquivos de mídia lá, copie o link para um deles com o botão direito -> copiar link, então ssh com putty e digite
omxplayer -o hdmi "https://192.168.1.6/Movie.mp4" / tmp / cmd <- ou o nome do seu arquivo de mídia
para arquivos com legendas coloque as legendas, mesmo nome do arquivo de vídeo com extensão srt na pasta compartilhada do windows do framboesa
RASPBERRYPI / compartilhar
ou
192.168.1.9 / compartilhamento
onde 192.168.1.9 é o ip da sua framboesa.
em sua pasta de início (/ home / pi)
winscp com pi: rasspberry e carregue um script python chamado 'omxplayersub.py' com o seguinte conteúdo:
subprocesso de importação
import sys import urllib2 if (len (sys.argv)! = 2): print "Nenhum nome de arquivo especificado" quit () file = sys.argv [1] subfile = "/ home / pi / share /" + file.split ("/") [- 1] subarquivo = subarquivo [: - 3] + "srt" subarquivo = urllib2.unquote (subarquivo) subprocesso. Popen ('omxplayer -o hdmi -r --font "/ home / pi / Segoe UI, Medium.ttf "--italic-font" / home / pi / Segoe UI, Italic.ttf "--align center '+'" '+ file +' "'+' --subtitles '+'" '+ subarquivo + '"', shell = True)
agora carregue isso com as fontes da família Segoe UI e FreeSans para sua pasta de início (/ home / pi) Mude os nomes das fontes para o tipo de fonte desejado e, se necessário, adicione --font-size size 55 (padrão: 55) após --align com o tamanho desejado.
e use o seguinte comando para jogar:
python omxplayersub.py "https://192.168.1.6/Defiance%20S01E02.mp4" </ tmp / cmd <- ou qualquer que seja o nome do seu arquivo de mídia
Se você não vê-lo na reprodução da tela, há um problema de compatibilidade, em alguns arquivos h264 o perfil é exibido por h264-omx como -99, sim, negativo 99, e ele não vai jogar, neste caso e no caso de um arquivo com legendas externas, você precisará usar o fluxo VLC, escolha o arquivo / arquivos, selecione HTTP, deixe a porta padrão, h.264 / AAC (TS), mantenha a escala em 1, Transcodificação - Configurações de legendas grossas, pressione o botão de fluxo e deixe ele correu por alguns segundos.
omxplayer -o hdmi "https://192.168.1.6:8080/" / tmp / cmd <- vai começar a tocar
Estamos fazendo transcodificação, vai haver uma pequena perda de qualidade na tela e a CPU vai funcionar mais no PC, mas funciona.
CEC - Controles
Ligar a TV
echo em 0 | cec-client -s -d 1
Desligue a TV
eco em espera 0 | cec-client -s -d 1
Mudar fonte 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
Como você pode ver, o terceiro byte na string hexadecimal que ecoamos é o número do conector HDMI a ser definido como ativo.
Etapa 6: Lista de comandos para colocar em aplicativos
Você já instalou o Raspicast na etapa anterior, agora você tem que escolher entre o Raspberry SSH (é pago) ou o botão SSH (é gratuito e eu gosto mais, mas já comprei o Raspberry SSH antes para descobrir este).
Framboesa SSH
play.google.com/store/apps/details?id=uk.co.knowles_online.raspberryssh
Este aplicativo, ou botão SSH, é necessário se você precisar transmitir coisas do PC e precisar de um controle remoto de um dispositivo Android, ele pode ser usado sem o putty do PC.
A configuração de ambos é quase a mesma.
Texto do botão 1 Btn: Reinicializar
Btn Cmd:
sudo reboot
Botão 2
Texto Btn: Poweroff
Btn Cmd:
sudo poweroff
Botão 3
Texto Btn: HDMI1
Btn Cmd:
echo "tx 4F: 82: 10: 00" | cec-client -s -d 1
Botão 4
Texto Btn: HDMI2
Btn Cmd:
echo "tx 4F: 82: 20: 00" | cec-client -s -d 1
Botão 5
Texto Btn: HDMI3
Btn Cmd:
echo "tx 4F: 82: 30: 00" | cec-client -s -d 1
Botão 6
Texto Btn: Mate omxplayer
Btn Cmd:
sudo killall -s 9 omxplayer.bin
Botão 7
Texto Btn: Sopcast
Btn Cmd:
omxplayer -o hdmi "https://192.168.1.6:8902" / tmp / cmd
Botão 8
Texto Btn: AcePlayer
Btn Cmd:
omxplayer -o hdmi "https://192.168.1.6:8902/tv.asf" / tmp / cmd
Botão 9
Texto Btn: VLC Stream
Btn Cmd:
omxplayer -o hdmi "https://192.168.1.6:8080/" / tmp / cmd
Botão 10
Texto Btn: Reproduzir / Pausar
Btn Cmd:
echo -n p> / tmp / cmd
Botão 11
Texto Btn: Volume +
Btn Cmd:
echo -n +> / tmp / cmd
Botão 12
Texto Btn: Volume -
Btn Cmd:
echo -n -> / tmp / cmd
Botão 13
Texto Btn: Saia do Omxplayer
Btn Cmd:
echo -n q> / tmp / cmd
Botão 14
Texto Btn: papel de parede aleatório
Btn Cmd:
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
Botão 15
Texto Btn: papel de parede padrão
Btn Cmd:
sudo killall fbi &> / dev / null; sudo fbi -noverbose -a -T 1 splashscreen-j.webp
Texto do botão 16 Btn: papel de parede da apresentação de slides
Btn Cmd:
cd / home / pi / apresentação de slides /; sudo killall fbi &> / dev / null; sudo fbi -noverbose -a -T 1 -t 5 *-j.webp
-t 5 por 5 segundos
Texto do botão 17 Btn: SUBTITLE HTTP PLAY (editar)
Btn Cmd:
python omxplayersub.py "https://192.168.1.6/Some%20video%20with%20subtitle.mp4" </ tmp / cmd
Ao editar, altere o "https://192.168.1.6/Some%20video%20with%20subtitle.mp4" com o url do arquivo de uma fonte externa ou altere-o para algo como / home / pi / share. A legenda deve estar em / home / pi / share, SEMPRE.
Alternativa de freeware para Raspberry SSHhttps://play.google.com/store/apps/details? Id = com.pd7l.sshbutton & hl = en_US
Funciona exatamente da mesma forma que o Raspberry SSH, não tem anúncios, tem menos cores e todos os botões estão em uma única linha, não 2, mas é gratuito e funciona muito bem.
Agora no final algumas coisas exóticas, transmita o que você grava com seu telefone em tempo real, com alguns segundos de atraso, para sua TV.
IP WEBCAMERA PRO (pago)
play.google.com/store/apps/details?id=com.pas.webcam.pro
Inicie o streaming e use o seguinte comando para transmiti-lo para a TV
omxplayer -o hdmi rtsp: //192.168.1.8: 8080 / h264_ulaw.sdp
Servidor de câmera RTSP (gratuito)
play.google.com/store/apps/details?id=com.miv.rtspcamera&hl=en&rdid=com.miv.rtspcamera
Faz a mesma coisa que o pago, mas de graça, sem anúncios
omxplayer -o hdmi "rtsp: //192.168.1.8: 5554 / câmera"
Câmera ativa - rtsp: // (endereço IP do dispositivo): 5554 / câmera Câmera traseira - rtsp: // (endereço IP do dispositivo): 5554 / traseira Câmera frontal - rtsp: // (endereço IP do dispositivo): 5554 / frente
Parâmetros de URL da câmera:
Resolução res - largura (número) x altura (número)
fps Quadro por segundo - fps (número) Ativar / desativar microfone - ligado (string) ou desligado (string)
Exemplo: rtsp: // (endereço IP do dispositivo): 5554 / back? Res = 640x480 & fps = 10 & mic = on
Etapa 7: Mais algumas coisas … Interface WEB
Instale-o com uma única linha do git
wget https://raw.githubusercontent.com/brainfoolong/omxwebgui-v2/master/install.sh && clear && sh install.sh
Interface de usuário padrão na porta 4321, não precisa de servidor web e está funcionando sob php
Requisitos:
sudo apt-get install php-cli
sudo apt-get install php-mbstring sudo apt-get install php5-cli sudo apt-get install php5-mbstring
Baixe / Clone / Descompacte todo o script para uma pasta de sua preferência. Defina o chmod correto para os scripts com
chmod + x *.sh
Crie um servidor web php ouvindo na porta 4321, você pode alterar a porta para o que quiser. Comece com o mesmo usuário que você precisa para reproduzir os vídeos. Por favor, não use o apache ou outro servidor para executar o script php, provavelmente não funcionará.
php -S 0.0.0.0:4321 -t / home / pi / omxwebgui> / dev / null 2> & 1 &
Abra a página da web com https://192.168.1.9:4321 (onde 192.168.1.9 é o IP do raspberry pi)
Para habilitar o autostart na reinicialização, basta adicionar a seguinte linha ao seu crontab. Faça isso com o mesmo usuário de que você precisa para reproduzir os vídeos. Não é necessário sudo. Adicione a seguinte linha ao crontab com crontab -e para iniciar o servidor da web php simples na reinicialização.
crontab -e
agora adicione com
@reboot php -S 0.0.0.0:4321 -t omxwebgui> / dev / null 2> & 1 &
Adicione os arquivos nas configurações, apenas compartilhamentos locais hospedados ou maped e streams ofc podem ser adicionados.add / home / pi / share à pasta de legendas também e, se necessário, habilite a correção para velocidade de reprodução 2x e nenhum bug de som.
Recomendado:
Lente macro faça você mesmo com AF (diferente de todas as outras lentes macro faça você mesmo): 4 etapas (com fotos)
Lente macro faça você mesmo com AF (diferente de todas as outras lentes macro faça você mesmo): Já vi muitas pessoas fazendo lentes macro com um kit de lentes padrão (geralmente de 18-55 mm). A maioria deles são lentes fixadas na câmera ao contrário ou com o elemento frontal removido. Existem desvantagens para ambas as opções. Para montar a lente
Dispositivo ASS (dispositivo social anti-social): 7 etapas
Dispositivo ASS (Dispositivo Social Anti-Social): Digamos que você seja o tipo de pessoa que gosta de estar perto das pessoas, mas não gosta que elas cheguem perto. Você também agrada as pessoas e tem dificuldade em dizer não às pessoas. Então você não sabe como dizer a eles para recuar. Bem, entre - o dispositivo ASS! S
Faça uma detecção ultrassônica e dispositivo de alcance em casa: 7 etapas (com fotos)
Faça uma detecção ultrassônica e dispositivo de alcance em casa: Olá! Eu sou Sourabh Kumar, eu estava ansioso para fazer um radar de alarme, mas ele falhou, vou tentar novamente, mas hoje vou guiá-lo para fazer uma detecção ultrassônica e dispositivo de alcance em casa usando um sensor ultrassônico (transceptor) eu sei que há muitos pró
Como usar o leitor de cartão de memória PS3 interno como um dispositivo USB em seu PC: 6 etapas
Como usar o leitor de cartão de memória PS3 interno como um dispositivo USB em seu PC: Em primeiro lugar, este é o meu primeiro Instructable (yippie!), Tenho certeza de que haverá muito por vir. Então, eu tinha um PS3 quebrado e queria fazer algum uso dos componentes de trabalho. A primeira coisa que fiz foi puxar a folha de dados do chip conversor da placa PS3 r
Raspberry Pi como Chromecast Alternative (Raspicast): 10 etapas (com imagens)
Raspberry Pi como Chromecast Alternative (Raspicast): Neste Instructables, vou mostrar como usar o raspberry pi 3 como alternativa ao Chromecast. Também vale a pena mencionar que este não é um clone direto do Chromecast e que existem limitações. Este método não oferece suporte ao botão transmitir, mas