Blog
Comment utiliser un Raspberry Pi comme alternative à Chromecast
En utilisant un Raspberry Pi 3B et Raspicast, vous pouvez créer un récepteur multimédia sans fil léger qui fonctionne d'une manière quelque peu similaire au Chromecast. Cependant, il est important de comprendre la limitation dès le départ : ce n'est pas un remplacement complet du Chromecast. Il n'implémente pas le protocole Google Cast complet et ne fournira pas la même compatibilité au niveau des applications qu'un appareil Chromecast commercial.
Dans cette configuration, un appareil Android, généralement un téléphone mobile, envoie des liens multimédias ou des fichiers locaux au Raspberry Pi. Le Raspberry Pi se charge ensuite de la lecture et diffuse le contenu sur un téléviseur via HDMI. Selon le type de média et le logiciel utilisé, des outils plus anciens basés sur OMX tels que OMXPlayer ou omxiv peuvent être impliqués dans la lecture ou l'affichage d'images.
Nous réaliserons le projet par phases, incluant l'installation matérielle, l'installation du système d'exploitation, l'installation ou la compilation des logiciels, la configuration réseau et la configuration de Raspicast. Chaque phase dépendant de la précédente, il est préférable de suivre ces étapes dans l'ordre.
Étape 1 : Installation du matériel
Le matériel suivant est requis pour ce projet :
- Raspberry Pi 3 Modèle B
- Carte microSD, 16 Go minimum
- Alimentation micro-USB fiable 5V/2.5A
- Câble HDMI
- Boîtier pour Raspberry Pi
- Dissipateurs thermiques optionnels pour le SoC principal et autres puces générant de la chaleur
- Ensemble clavier et souris sans fil USB
- Lecteur de carte SD pour la gravure de l'image du système d'exploitation
Le Raspberry Pi 3 Model B dispose d'un Wi-Fi intégré, ainsi aucun adaptateur Wi-Fi USB n'est requis. Si vous utilisez un modèle de Raspberry Pi plus ancien sans Wi-Fi intégré, vous pouvez soit le connecter par Ethernet, soit ajouter un adaptateur Wi-Fi USB compatible.
Assurez-vous d'utiliser une alimentation stable de 5V/2.5A. Un chargeur de téléphone faible ou un câble de mauvaise qualité peut entraîner des avertissements de sous-tension, des redémarrages aléatoires, une instabilité USB ou des problèmes de lecture, en particulier lorsque des périphériques sont connectés.
Étape 2 : Écrire Raspberry Pi OS sur la carte SD
Téléchargez l'image de bureau de Raspberry Pi OS depuis raspberrypi.com. Si vous téléchargez un fichier .zip compressé, extrayez-le d'abord pour obtenir le fichier .img.
Flasher avec Etcher
Téléchargez balenaEtcher depuis balena.io et lancez-le.
Cliquez sur "Flash from file", puis sélectionnez le fichier .img. Cliquez sur "Select target" et choisissez votre carte SD. Assurez-vous d'avoir sélectionné la bonne carte SD, car le processus de flashage effacera le lecteur sélectionné.
Après avoir confirmé la cible correcte, cliquez sur Flash. Une fois le processus terminé, éjectez la carte SD en toute sécurité.
Sous Linux
Alternativement, vous pouvez écrire l'image depuis la ligne de commande :
sudo dd if=raspbian.img of=/dev/sdX bs=4M status=progress conv=fsync
Dans cette commande, remplacez /dev/sdX par le nom de périphérique réel de votre carte SD.
Soyez prudent avec cette commande. Si vous choisissez le mauvais périphérique, vous risquez d'écraser un autre disque de votre ordinateur. Vous pouvez utiliser la commande suivante pour vérifier la liste de vos disques avant d'écrire l'image :
lsblk
Étape 3 : Assemblage du matériel
Ouvrez le boîtier du Raspberry Pi conformément à la conception de votre boîtier. Si vous utilisez des dissipateurs thermiques, retirez le film adhésif et appuyez fermement sur chaque dissipateur thermique contre la puce appropriée pendant environ dix secondes.
Le plus grand dissipateur thermique est généralement placé sur le SoC principal. Des dissipateurs thermiques plus petits peuvent être positionnés sur d'autres puces générant de la chaleur, en fonction du kit de dissipateur et de la disposition de la carte. N'ajoutez pas de pâte thermique si les dissipateurs thermiques sont déjà dotés d'adhésif thermique pré-appliqué.
Insérez le Raspberry Pi dans le boîtier en alignant les ports USB, HDMI et d'alimentation avec les ouvertures du boîtier. Si votre boîtier possède des panneaux latéraux amovibles, vous pourriez vouloir laisser le boîtier partiellement ouvert lors des tests initiaux afin de faciliter le dépannage.
Étape 4 : Démarrage, Connexion Réseau et Configuration SSH
Insérez la carte SD dans le Raspberry Pi. Connectez un clavier, une souris, un écran HDMI et l'alimentation micro-USB.
Mettez le Pi sous tension et attendez que le bureau de Raspberry Pi OS se charge. Pendant le démarrage, la LED d'activité verte peut clignoter pendant que le système lit la carte SD.
Cliquez sur l'icône Wi-Fi dans le coin supérieur droit, sélectionnez votre réseau Wi-Fi et entrez le mot de passe pour connecter le Raspberry Pi à Internet.
Ensuite, ouvrez l'application Terminal et exécutez :
sudo raspi-config
Aller à :
Options d'interface → SSH → Activer
Puis quittez raspi-config.
SSH vous permet de contrôler le Raspberry Pi à distance sans utiliser de clavier ni de souris. Si SSH est activé, changez le mot de passe par défaut ou utilisez le nom d'utilisateur et le mot de passe que vous avez configurés lors de la configuration de Raspberry Pi OS, surtout si le Pi est connecté à un réseau partagé.
Pour vérifier l'adresse IP du Raspberry Pi, exécutez :
hostname -I
Notez l'adresse IP. Vous en aurez besoin plus tard lors de la configuration de Raspicast sur votre téléphone Android.
Étape 5 : Mettre à jour les paquets et installer les dépendances
Ouvrez le terminal et exécutez :
sudo apt-get update
Ceci met à jour la liste des dépôts de paquets.
Puis exécutez :
sudo apt-get upgrade
Ceci téléchargera et installera les mises à jour de paquets disponibles. Sur une installation fraîche de Raspberry Pi OS, cela peut prendre plusieurs minutes en fonction de votre connexion Internet et de la vitesse de votre carte SD.
Après la fin de la mise à niveau, installez les bibliothèques de développement requises :
sudo apt-get install libjpeg8-dev libpng-dev git make
Ces en-têtes de développement sont nécessaires pour construire des outils liés aux images tels qu'omxiv. Si vous utilisez un système hérité plus ancien ou suivez un guide de construction omxiv plus ancien, vous pourriez voir libpng12-dev mentionné à la place, mais sur les systèmes plus récents, libpng-dev est généralement le nom de paquet le plus sûr.
Acceptez l'installation lorsqu'on vous y invite.
Étape 6 : Compiler omxiv à partir des sources
Certaines configurations de Raspicast utilisent omxiv pour afficher des images sur le Raspberry Pi. Si votre version de Raspicast nécessite omxiv, il peut être nécessaire de le compiler à partir des sources.
Ouvrez une fenêtre de terminal sur le Raspberry Pi et exécutez :
git clone https://github.com/HaarigerHarald/omxiv
Ceci télécharge les fichiers source d'omxiv dans un répertoire nommé omxiv.
Ensuite, changez dans ce répertoire :
cd omxiv
Puis compilez le projet :
make -j4
L'indicateur -j4 permet au processus de compilation d'utiliser quatre tâches parallèles, ce qui convient au processeur quad-core du Raspberry Pi 3.
Après la fin de la compilation, installez-le :
sudo make install
Ceci installe omxiv dans le chemin système.
Pour confirmer l'installation, exécutez :
qui omxiv
Si la commande renvoie un chemin tel que :
/usr/bin/omxiv
Alors l'installation a réussi.
Si la compilation échoue, vérifiez les dépendances manquantes et examinez les messages d'erreur de sortie avant de revenir à l'étape 5.
Étape 7 : Configurer Raspicast sur le téléphone Android
Tout d'abord, assurez-vous que votre téléphone Android et votre Raspberry Pi sont connectés au même réseau Wi-Fi.
Sur le Raspberry Pi, vérifiez l'adresse IP actuelle :
hostname -I
Installez ensuite Raspicast sur votre appareil Android depuis le Google Play Store.
Après l'installation, ouvrez Raspicast. Appuyez sur l'icône du menu à trois points, allez dans Paramètres et saisissez les valeurs suivantes :
Adresse IP : utilisez l'adresse IP du Raspberry Pi, par exemple 192.168.1.50
Nom d'utilisateur : utilisez le nom d'utilisateur configuré sur votre Raspberry Pi
Mot de passe : utilisez le mot de passe configuré sur votre Raspberry Pi
Port : 22
Après avoir saisi ces valeurs, appuyez sur Enregistrer. Raspicast tentera d'établir une connexion SSH avec le Raspberry Pi. Si la connexion réussit, l'application reviendra à l'écran d'accueil de Raspicast.
Si Raspicast ne parvient pas à se connecter, veuillez vérifier les points suivants :
- L'adresse IP est correcte.
- Le SSH est activé sur le Raspberry Pi.
- Le téléphone Android et le Raspberry Pi sont sur le même réseau Wi-Fi.
- Le nom d'utilisateur et le mot de passe sont corrects.
- Le port 22 n'est pas bloqué par votre réseau.
Étape 8 : Diffuser le contenu sur votre télévision
YouTube
Pour utiliser Raspicast avec des liens vidéo compatibles, ouvrez l'application YouTube ou une autre application compatible sur votre smartphone. Lancez une vidéo, appuyez sur Partager, puis sélectionnez Raspicast.
Le lien vidéo sera envoyé au Raspberry Pi. Si la configuration Raspicast actuelle et les outils de lecture prennent en charge le lien, le Raspberry Pi tentera de lire le contenu et de le diffuser sur votre téléviseur via HDMI.
Vous pouvez verrouiller votre téléphone ou changer d'application une fois la lecture commencée. Dans cette configuration, le téléphone envoie principalement la requête de lecture ou le lien multimédia ; il ne traite pas la vidéo en continu lui-même.
Fichiers locaux
Pour diffuser des fichiers locaux tels que des films, de la musique ou d'autres fichiers multimédias, ouvrez Raspicast et naviguez jusqu'à votre répertoire multimédia.
Sélectionnez un fichier pris en charge, tel qu'une vidéo MP4, et Raspicast l'enverra au Raspberry Pi pour lecture. La prise en charge réelle de la lecture dépend du format du fichier, du codec et du lecteur multimédia installé sur le Raspberry Pi.
Images
Pour diffuser des images, accédez à votre répertoire d'images dans Raspicast et sélectionnez une image JPG ou PNG. L'image sera envoyée au Raspberry Pi et affichée sur le téléviseur.
Notes importantes
La qualité de la lecture dépend de la source multimédia, de la stabilité du réseau, de la prise en charge des codecs et du lecteur utilisé sur le Raspberry Pi. La prise en charge de YouTube ou des vidéos Web peut varier car les plateformes de streaming modifient souvent leurs méthodes de diffusion.
Le Raspberry Pi 3 peut gérer de nombreuses tâches de lecture en 1080p, mais les performances dépendent du codec et de l'environnement logiciel. Si la lecture se bloque ou présente des saccades, vérifiez la connexion Wi-Fi, l'alimentation électrique, le format vidéo, la compatibilité logicielle et la température du Raspberry Pi.
Raspicast ne permet pas la diffusion à l'échelle du système de la même manière que Chromecast. Les applications de streaming telles que Netflix, Hulu, Disney+ et d'autres services protégés par DRM ne peuvent généralement pas être diffusées via Raspicast de la même manière.
Il peut y avoir un court délai entre l'envoi d'une demande de lecture depuis le téléphone et l'apparition de la vidéo sur le téléviseur. Ce délai dépend de la vitesse du réseau, de la résolution du lien, de la mise en mémoire tampon et du temps de démarrage du lecteur.
L'utilisation de la batterie de votre téléphone devrait être relativement faible une fois la lecture lancée, car le téléphone envoie principalement des commandes ou des liens multimédias plutôt que de traiter ou de transcoder continuellement la vidéo.
Pensées finales
En utilisant Raspicast, vous pouvez transformer un Raspberry Pi en récepteur multimédia léger pour des flux de diffusion sélectionnés. Le Raspberry Pi accepte les requêtes basées sur SSH depuis votre téléphone Android, reçoit des liens ou des fichiers multimédias et transmet le contenu à un téléviseur via HDMI.
Cette configuration n'est pas une copie exacte de Chromecast et ne doit pas être considérée comme un remplacement complet de Google Cast. Cependant, elle est utile pour la lecture de médias locaux, la sélection de liens partagés et pour comprendre le fonctionnement conjoint du matériel Raspberry Pi, des réseaux, du SSH et des outils de lecture multimédia.
Les compétences acquises au cours de ce projet, notamment la maîtrise des commandes Linux, la compilation de logiciels à partir de sources, la configuration SSH et la mise en place matérielle de Raspberry Pi, sont transférables à de nombreux futurs projets embarqués sous Linux et liés aux médias.
Foire Aux Questions (FAQ)
A : Pas toujours. Cela dépend du fabricant, du projet spécifique et des exigences du client. Pour les projets nécessitant une fiabilité accrue, tels que l'électronique médicale et automobile, le contrôle optique automatisé (AOI) est généralement effectué sur chaque carte.
Oui. Pour les projets ayant des exigences de qualité particulières, PCBCool peut suivre les priorités d'inspection, les critères d'acceptation, les plages de tolérance ou les exigences spécifiques de contrôle des défauts définis par le client.
Abraash Vnest travaille sur des projets électroniques liés à la défense, avec un accent sur le développement de schémas, le dépannage de circuits, les tests et la documentation technique. Il développe également des firmwares STM32 et met en œuvre des protocoles de communication industriels tels que CAN.