Blog
Como Usar o Raspberry Pi como uma Alternativa ao Chromecast
Ao utilizar um Raspberry Pi 3B e o Raspicast, é possível criar um receptor de mídia sem fio leve que funciona de maneira algo similar ao Chromecast. No entanto, é importante compreender a limitação desde o início: este não é um substituto completo para o Chromecast. Ele não implementa o protocolo Google Cast completo e não oferecerá a mesma compatibilidade de nível de aplicativo que um dispositivo Chromecast comercial.
Nesta configuração, um dispositivo Android, geralmente um telefone celular, envia links de mídia ou arquivos locais para o Raspberry Pi. O Raspberry Pi, então, gerencia a reprodução e exibe o conteúdo em uma TV via HDMI. Dependendo do tipo de mídia e do software utilizado, ferramentas mais antigas baseadas em OMX, como OMXPlayer ou omxiv, podem estar envolvidas na reprodução ou exibição de imagens.
Concluiremos o projeto em fases, incluindo configuração de hardware, instalação do sistema operacional, instalação ou compilação de software, configuração de rede e configuração do Raspicast. Cada fase depende da anterior, portanto, é melhor completar as etapas na ordem.
Passo 1: Configuração do Hardware
O seguinte hardware é necessário para este projeto:
- Raspberry Pi 3 Modelo B
- Cartão microSD, 16 GB no mínimo
- Fonte de alimentação micro-USB confiável de 5V/2.5A
- Cabo HDMI
- Caixa para Raspberry Pi
- Dissipadores de calor opcionais para o SoC principal e outros chips geradores de calor
- Combo de teclado e mouse sem fio USB
- Leitor de cartão SD para gravação da imagem do sistema operacional
O Raspberry Pi 3 Model B possui Wi-Fi integrado, portanto, um adaptador Wi-Fi USB não é necessário. Se você estiver utilizando um modelo mais antigo de Raspberry Pi sem Wi-Fi onboard, poderá conectá-lo por Ethernet ou adicionar um adaptador Wi-Fi USB compatível.
Utilize uma fonte de alimentação estável de 5V/2.5A. Carregadores de celular fracos ou cabos de má qualidade podem causar avisos de subtensão, reinicializações aleatórias, instabilidade de USB ou problemas de reprodução, especialmente quando periféricos são conectados.
Passo 2: Grave o Raspberry Pi OS no cartão SD
Baixe a imagem de desktop do Raspberry Pi OS em raspberrypi.com. Se você baixar um arquivo .zip compactado, extraia-o primeiro para obter o arquivo .img.
Flash Usando Etcher
Baixe o balenaEtcher em balena.io e execute-o.
Clique em "Flash from file", em seguida, selecione o arquivo .img. Clique em "Select target" e escolha seu cartão SD. Certifique-se de ter selecionado o cartão SD correto, pois o processo de flashing apagará a unidade selecionada.
Após confirmar o destino correto, clique em Flash. Quando o processo estiver completo, ejete o cartão SD com segurança.
No Linux
Como alternativa, você pode gravar a imagem a partir da linha de comando:
sudo dd if=raspbian.img of=/dev/sdX bs=4M status=progress conv=fsync
Neste comando, substitua /dev/sdX pelo nome real do dispositivo do seu cartão SD.
Tenha cuidado com este comando. Se escolher o dispositivo errado, poderá sobrescrever outra unidade no seu computador. Pode usar o seguinte comando para verificar a lista de discos antes de gravar a imagem:
lsblk
Passo 3: Montagem do Hardware
Abra o gabinete do Raspberry Pi de acordo com o design do seu gabinete. Se estiver utilizando dissipadores de calor, remova a proteção adesiva e pressione firmemente cada dissipador sobre o chip correto por aproximadamente dez segundos.
O dissipador de calor maior geralmente é aplicado ao SoC principal. Dissipadores de calor menores podem ser colocados em outros chips que geram calor, dependendo do kit de dissipador de calor e do layout da placa. Não aplique pasta térmica se os dissipadores de calor já possuírem adesivo térmico pré-aplicado.
Coloque o Raspberry Pi dentro do gabinete, alinhando as portas USB, HDMI e de energia com as aberturas do gabinete. Se o seu gabinete possuir painéis laterais removíveis, pode ser conveniente deixá-lo parcialmente aberto durante os testes iniciais para facilitar a solução de problemas.
Passo 4: Inicialização, Conexão de Rede e Configuração SSH
Insira o cartão SD no Raspberry Pi. Conecte um teclado, um mouse, um monitor HDMI e a fonte de alimentação micro-USB.
Ligue o Pi e aguarde até que a área de trabalho do Raspberry Pi OS seja carregada. Durante a inicialização, o LED de atividade verde pode piscar enquanto o sistema lê do cartão SD.
Clique no ícone do Wi-Fi no canto superior direito, selecione sua rede Wi-Fi e digite a senha para conectar o Raspberry Pi à internet.
Em seguida, abra o aplicativo Terminal e execute:
sudo raspi-config
Vá para:
Opções de interface → SSH → Ativar
Em seguida, saia do raspi-config.
O SSH permite controlar o Raspberry Pi remotamente sem o uso de teclado ou mouse. Se o SSH estiver habilitado, altere a senha padrão ou use o nome de usuário e a senha configurados durante a configuração do Raspberry Pi OS, especialmente se o Pi estiver conectado a uma rede compartilhada.
Para verificar o endereço IP do Raspberry Pi, execute:
hostname -I
Anote o endereço IP. Você precisará dele mais tarde ao configurar o Raspicast no seu celular Android.
Passo 5: Atualizar Pacotes e Instalar Dependências
Abra o terminal e execute:
sudo apt-get update
Isso atualiza a lista do repositório de pacotes.
Em seguida, execute:
sudo apt-get upgrade
Isso fará o download e a instalação das atualizações de pacotes disponíveis. Em uma instalação nova do Raspberry Pi OS, isso pode levar vários minutos, dependendo da sua conexão com a internet e da velocidade do cartão SD.
Após a conclusão da atualização, instale as bibliotecas de desenvolvimento necessárias:
sudo apt-get install libjpeg8-dev libpng-dev git make
Estes arquivos de cabeçalho de desenvolvimento são necessários para a compilação de ferramentas relacionadas a imagens, como o omxiv. Se você estiver usando um sistema legado mais antigo ou seguindo um guia de compilação mais antigo do omxiv, poderá ver libpng12-dev mencionado em vez disso, mas em sistemas mais novos, libpng-dev é geralmente o nome de pacote mais seguro.
Aceite a instalação quando solicitado.
Passo 6: Compile o omxiv a partir do código fonte
Algumas configurações do Raspicast utilizam o omxiv para exibir imagens no Raspberry Pi. Se a sua compilação do Raspicast exigir o omxiv, você poderá precisar compilá-lo a partir do código-fonte.
Abra uma janela de terminal no Raspberry Pi e execute:
git clone https://github.com/HaarigerHarald/omxiv
Isso baixa os arquivos fonte do omxiv para um diretório chamado omxiv.
Em seguida, entre nesse diretório:
cd omxiv
Em seguida, compile o projeto:
make -j4
O sinalizador -j4 permite que o processo de compilação utilize quatro trabalhos paralelos, o que é adequado para a CPU quad-core do Raspberry Pi 3.
Após a compilação ser concluída, instale-o:
sudo make install
Isso instala o omxiv no caminho do sistema.
Para confirmar a instalação, execute:
qual omxiv
Se o comando retornar um caminho como:
/usr/bin/omxiv
Então a instalação foi bem-sucedida.
Se a compilação falhar, verifique as dependências ausentes e revise as mensagens de erro de saída antes de retornar à Etapa 5.
Passo 7: Configure o Raspicast no Celular Android
Primeiramente, certifique-se de que seu telefone Android e seu Raspberry Pi estejam conectados à mesma rede Wi-Fi.
No Raspberry Pi, verifique o endereço IP atual:
hostname -I
Em seguida, instale o Raspicast em seu dispositivo Android a partir da Google Play Store.
Após a instalação, abra o Raspicast. Toque no ícone do menu de três pontos, vá em Configurações e insira os seguintes valores:
Endereço IP: Utilize o endereço IP do Raspberry Pi, como 192.168.1.50
Nome de usuário: Utilize o nome de usuário configurado no seu Raspberry Pi
Senha: Utilize a senha configurada no seu Raspberry Pi
Porta: 22
Após inserir estes valores, toque em Salvar. O Raspicast tentará estabelecer uma conexão SSH com o Raspberry Pi. Se a conexão for bem-sucedida, o aplicativo retornará à tela inicial do Raspicast.
Caso o Raspicast falhe na conexão, verifique o seguinte:
- O endereço IP está correto.
- O SSH está ativado no Raspberry Pi.
- O telefone Android e o Raspberry Pi estão na mesma rede Wi-Fi.
- O nome de usuário e a senha estão corretos.
- A porta 22 não é bloqueada por sua rede.
Etapa 8: Transmitir Conteúdo para a Sua TV
YouTube
Para usar o Raspicast com links de vídeo compatíveis, abra o aplicativo YouTube ou outro aplicativo compatível em seu smartphone. Reproduza um vídeo, toque em Compartilhar e selecione Raspicast.
O link do vídeo será enviado para o Raspberry Pi. Se a configuração atual do Raspicast e as ferramentas de reprodução suportarem o link, o Raspberry Pi tentará reproduzir o conteúdo e emitirá para sua TV através do HDMI.
Você pode bloquear seu telefone ou alternar aplicativos após o início da reprodução. Neste modo de operação, o telefone envia principalmente a solicitação de reprodução ou o link de mídia; ele não renderiza o vídeo continuamente.
Arquivos Locais
Para transmitir arquivos locais, como filmes, músicas ou outros arquivos de mídia, abra o Raspicast e navegue até o diretório de mídia.
Selecione um arquivo suportado, como um vídeo MP4, e o Raspicast o enviará para o Raspberry Pi para reprodução. O suporte real de reprodução depende do formato do arquivo, codec e player de mídia instalado no Raspberry Pi.
Imagens
Para transmitir imagens, navegue até o seu diretório de imagens no Raspicast e selecione uma imagem JPG ou PNG. A imagem será enviada para o Raspberry Pi e exibida na TV.
Observações Importantes
A qualidade da reprodução depende da fonte de mídia, da estabilidade da rede, do suporte a codecs e do player utilizado no Raspberry Pi. O suporte a vídeos do YouTube ou da web pode variar, pois as plataformas de streaming frequentemente alteram seus métodos de entrega.
O Raspberry Pi 3 pode lidar com muitas tarefas de reprodução 1080p, mas o desempenho depende do codec e do ambiente de software. Se a reprodução travar ou apresentar interrupções, verifique a conexão Wi-Fi, a fonte de alimentação, o formato de vídeo, a compatibilidade do software e a temperatura do Raspberry Pi.
O Raspicast não oferece transmissão em todo o sistema da mesma forma que o Chromecast. Aplicativos de streaming como Netflix, Hulu, Disney+ e outros serviços protegidos por DRM geralmente não podem ser transmitidos através do Raspicast da mesma maneira.
Pode haver um pequeno atraso entre o envio de uma solicitação de reprodução do telefone e a visualização do início do vídeo na TV. Esse atraso depende da velocidade da rede, resolução do link, buffering e tempo de inicialização do player.
O uso da bateria do seu telefone deve ser relativamente baixo após o início da reprodução, pois o telefone está principalmente enviando comandos ou links de mídia, em vez de processar ou transcodificar continuamente o vídeo.
Considerações Finais
Ao utilizar o Raspicast, é possível transformar um Raspberry Pi em um receptor de mídia leve para fluxos de trabalho de casting selecionados. O Raspberry Pi aceita requisições baseadas em SSH de seu telefone Android, recebe links ou arquivos de mídia e exibe o conteúdo em uma TV através de HDMI.
Esta configuração não é uma cópia exata do Chromecast e não deve ser tratada como um substituto completo do Google Cast. No entanto, é útil para reprodução de mídia local, links compartilhados selecionados e para aprender como o hardware Raspberry Pi, redes, SSH e ferramentas de reprodução de mídia funcionam juntos.
As habilidades desenvolvidas durante este projeto, incluindo o trabalho com comandos Linux, a compilação de softwares a partir do seu código-fonte, a configuração de SSH e a instalação de hardware Raspberry Pi, são transferíveis para muitos projetos futuros de embarcados Linux e relacionados a mídias.
Perguntas Frequentes (FAQ)
A: Nem sempre. Depende do fabricante, do projeto específico e dos requisitos do cliente. Para projetos com demandas de maior confiabilidade, como eletrônicos médicos e automotivos, a inspeção óptica automatizada (AOI) é tipicamente realizada em todas as placas.
Sim. Para projetos com requisitos especiais de qualidade, a PCBCool pode seguir prioridades de inspeção definidas pelo cliente, critérios de aceitação, faixas de tolerância ou requisitos específicos de controle de defeitos.
Abraash Vnest atua em projetos eletrônicos ligados à área de defesa, com foco no desenvolvimento de esquemas, diagnóstico de falhas em circuitos, testes e documentação técnica. Ele também desenvolve firmware em STM32 e implementa protocolos de comunicação industrial, como CAN.