Il y a quelque temps je vous proposais un analyseur de spectre à base de Raspberry Pi. Hugo (13 ans !) s’est attelé à l’autre extrémité de la chaine en développant une interface Web pour piloter un Raspberry Pi transformé en émetteur FM.
Quand Hugo m’a proposé cet article je l’ai trouvé intéressant, mais quand j’ai appris son âge je me suis dit qu’il fallait le publier
Une interface Web pour un émetteur FM
Objectif
Diffuser le son de vidéos Youtube sur la bande FM, en utilisant un Raspberry Pi.
L’émetteur FM
C’est fm_transmitter qui a été choisi par Hugo comme base de son projet. fm_transmitter utilise la sortie horloge pour créer une radio à modulation de fréquence et repose sur une idée originale publiée il y a quelques années. Ce programme n’utilise pas le contrôleur DMA pour distribuer les échantillons à la sortie (générateur d’horloge). La qualité sonore obtenue est moins bonne que celle que fournit le projet PiFM et seule la transmission en mono est disponible (mais il accepte des fichiers stéréo). Par contre cette version est utilisable sur tout type de carte Raspberry Pi.
La recherche YouTube
Pour la recherche sur YouTube, Hugo a retenu la solution de Gudla Rakesh qui propose une interface permettant de rechercher et sélectionner une vidéo sur YouTube. Cette interface a été modifiée et adaptée pour fonctionner avec son projet de webUI.
Par exemple si vous tapez framboise314 dans la page web proposée par Gudla, vous obtenez ceci :
C’est cette interface modifiée par Hugo pour l’adapter à son projet que vous retrouverez.
L’interface webui
Comme toute bonne interface Web, pour s’en servir il faut saisir http://adresse_IP_RasPi dans la barre d’adresse d’un navigateur et on arrive sur la page d’accueil. Si vous voulez diffuser une musique disponible sur YouTube cliquez sur … YouTube. L’interface de la page de recherche s’ouvre et il suffit de rechercher une vidéo et de cliquer dessus pour démarrer la diffusion.
L’antenne se connecte sur le GPIO 4 (PIN 7).
Le panneau STOP Broadcast sert à arrêter l’émission de la musique ou du son.
Par défaut, la fréquence d’émission est fixée à 87,5 MHz. Vous pouvez modifier la fréquence de diffusion en fonction de la zone dans laquelle vous vous situez. L’antenne se connecte sur le GPIO 4 (PIN 7).
Installer l’interface
Pour installer l’interface, il faut exécuter la commande
curl https://raw.githubusercontent.com/moriceh/pifm-youtube-webui/master/Install.sh > Install.sh && sudo sh Install.sh
N’utilisez pas wget car le script ne fonctionnera pas, pour une raison encore inconnue à ce jour par Hugo… Si vous avez des idées…:)
Les fichiers de la partie Linux
install.sh –> script d’installation
fm_transmitter.zip –> Il contient https://github.com/markondej/fm_transmitter et les scripts qui permettent de jouer les sons (yt.sh)
Les fichiers de la partie Web
index.html –> Page d’accueil (lancer la recherche YouTube et stopper l’émission).
fm.php –> Page qui éxécute le script /opt/fm_webui/yt.sh avec l’URL de la vidéo donnée.
killall.php –> Page qui tue le processus « fm_transmitter » pour arrêter l’émission du signal quand on clique sur le panneau stop et qui renvoie ensuite sur la page d’accueil
bg.gif –> fond des pages de l’interface.
youtube.png –> Logo Youtube.
stop.png –> Image du panneau stop.

Mise à jour du 2 Août 2016 : Webradios
Les WebRadios sont maintenant accessibles depuis l’interface :
Il suffit de cliquer sur l’icône WebRadio
Pour accéder à une fenêtre dans laquelle vous pouvez copier l’URL de la Webradio qui vous intéresse.
Vous pouvez par exemple rechercher le flux sur http://fluxradios.blogspot.fr/p/flux-radios-francaise.html
Conclusion
Lorsque vous lirez cet article, il est possible que l’interface diffère un peu de ce qui est décrit dans cet article car le projet évolue rapidement
Hugo continue d’améliorer son interface et si vous avez des suggestions ou des commentaires, vous pouvez les lui laisser dans les commentaires ci-dessous.
Il m’a semblé intéressant de publier cet article pour montrer que le Raspberry Pi joue auprès des jeunes générations le rôle que les plus anciens d’entre-nous ont découvert avec les Amstrad, Commodore et autres ZX81…
Des articles écrits par des auteurs dont l’âge va de 13 ans à 70 ans : c’est sur framboise314 et… c’est très bien
Sources
- https://github.com/moriceh/pifm-youtube-webui/blob/master/index.html
- https://github.com/gudlarakesh/youtube
- https://github.com/markondej/fm_transmitter