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 🙂
[stextbox id= »warning » caption= »Attention ! »]Bien entendu comme indiqué dans cet article et ce texte de loi : cette émission (qui risque de perturber les récepteurs voisins et d’empêcher les auditeurs du voisinage d’écouter leur station préférée) ne pourra être que de très courte durée et uniquement pour tester cette possibilité offerte par notre framboise314. Les normes d’émission dans la bande FM et la réglementation sont très strictes et il faut absolument éviter de vous mettre hors la loi. Les fréquences sont définies par le CSA et la bande FM est quasiment saturée. Lisez cet article de loi avant de vous lancer…[/stextbox]
Au sommaire :
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.
[stextbox id= »info » caption= »Qui est Hugo ? »]Hugo, l’auteur de cet article est un collégien de 13 ans passionné d’informatique. Ce qu’il aime ? Monter des PC, créer des logiciels ou des sites Web. Il aime aussi Linux et quand il a découvert le Raspberry PI (il y a 2 ans), il était fou de joie ![/stextbox]
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
Bravo à lui !
Je ne manquerai pas de tester ça !
Merci ! Si tu trouves des bugs, dis-le moi et j’essaierais de les corriger.
salut mon pseudo est milcam48,
Et comme toi je suis passioné d’informatique, je bricole sur mon ordi sous ubuntu 16.04
j’ai un raspberry 1 ou 2 (je ne sais plus)
et je voudrais diffuser un flux http venant de VLC
et sinon ton programme est pas mal tu pourais le compiler en .deb
c’est tres facile et les depandance seront mieus gerer tu pouras mème metre un script post-install (script qui s’execute apret l’instalation)
le tuto est sur openclassroom
https://openclassrooms.com/courses/creer-un-paquet-deb
tu peux me repondre a mon e-mail milcam48@gmail.com
et aussi j’ai 13 ans
J’ai juste un probleme avec le paquet deb, il ne peut pas modifier le fichier sudoers…
Sympa la petite interface de recherche YT ! De mon côté j’avais mis une simple cosse pour faire office d’antenne et ne pas parasiter la FM, car une petite antenne avec fil suffit déjà pour avoir une portée « importante »
pareil j avais utilisé un bout de fil de quelques cm (le genre de fil avec un connecteur qu’on utilise sur les breadboards)
c est pour ça que j ai insisté sur la réglementation.
Si tu es au fin fond de la Nièvre ou du Larzac ça ne pose pas trop de problème par contre en milieu urbain on a vite fait d’em…bêter des centaines de personnes 🙁 d’autant qu’il n’y a aucun filtrage en sortie et qu’en plus d’émettre sur la fréquence prévue, on « arrose » pas mal sur les fréquences voisines
Après, j’ai pas de voisins à 1km à la ronde donc pas grave de mettre une antenne comme ça.
Oui et non, car par triangulation tu seras localisé très rapidement. Voisins ou non 🙂
:O
Bravo !
faut le faire …
Merci 😀
Petit probleme pour moi je n’ai pas l’icone youtube qui s’affiche
T’es parti d’une fresh install ?
Oui j’ai essayé plusieurs fois mais toujours le même résultats mais je peut y accéder en tapant manuellement le lien pour me diriger sur la page de recherche YouTube
Pour installer, peux tu faire :
curl https://raw.githubusercontent.com/moriceh/pifm-youtube-webui/master/Install.sh > Install.sh && sudo sh Install.sh > install.log
Et m’envoyer le fichier Install.log stp ?
Bonjour tout le monde,j’ai trouver le problème de Hugo pour le wget pour installer son interface web automatiquement
En fait il fallait enlever: > Install.sh
et de le remettre comme ça: wget https://raw.githubusercontent.com/moriceh/pifm-youtube-webui/master/Install.sh && sudo sh Install.sh
Voila j’espère que sa vous plait
PS:
wget et curl sont la même chose mais il faut changer quelques mot
Hugo t’est un garçon super,j’ai vu tout tes codes et la je me suis « incroyable!!!,un enfant de 13 ans peut créer toute ces lignes de codes »
juste une question:est-ce que tu as été aider?
La seule chose pour laquelle je me suis fait aider c’est le exec() en php car il fallait introduire les parametres des zones de textes et je n’y arrivais pas ^^
il faudrait que tu reface ton logiciel car la sa marche qu’une fois sur deux,je n’arrive pas à écouter toute les musiques de youtube,alors soit c un problème d’émetteur soit c ton logiciel de youtube qui merde
Bien alors apres quelques test
que ce soit video youtube ou radio j’ai un clac clac clac clac et pas de zik
raspbian jessy fraichement installé
et le script installé avec curl
toutes les procédures ont bien eté respectées.
J’ai teste le script de pifm seul ca marche donc je vois pas trop dou vient ele problème
Perso, j’ai fait ce projet avec un RasPI 2, j’ai ensuite pu tester avec un PI 3, mais celui-ci ne fonctionne pas correctement, le son se coupe au bout d’un moment peu importe le logiciel d’émission FM utilisé :/
Excelente proyecto, estoy comenzando hacer un proyecto orientados a radios comunitarias, me gustaria tomar su idea y hacer una radio fm de mayor potencia para tener un alcance de unos 10 kilometros, mi pregunta es si tiene algun tipo de licencia para poder usar parte de su codigo, mi correo es osman@elinsi.com . Saludos.
Bravo Hugo,
Es-tu toujours en dev ou bien tu es passé à autre chose ?
Si tu as un peu de temps, j’aimerai bien causer de ton interface un peu plus…
Bonjour, désolé de vous déranger, j’ai essayé le tuto et malheureusement ça ne fonctionne pas sur mon Pi 3.
Pouvez vous me donner toute la procédure merci.
Super Travail, moi j’adore.
Félicitations
Bonjour,
Le projet n’a pas été modifié depuis plusieurs années…
Je peux tout de même tenter de vous aider, qu’est-ce qui ne fonctionne pas ?
Bonjour Ludovic
comme vous l’avez vu cet article date de 2016
depuis le système Raspbian a bien évolué et sans doute ce logiciel aussi
Vous avez toute la procédure dans l’article on ne peut pas faire plus
Et quand vous dites « ça ne fonctionne pas sur mon Pi 3 » il n’y a aucune info qui permette de vous aider.
Qu’est ce qui se passe? y a t il un message d’erreur etc. sans info on ne peut pas comprendre ce qui ne fonctionne pas
essayez de contacter l’auteur du logiciel Hugo lui seul peut vous aider.
tout est ici https://github.com/moriceh/pifm-youtube-webui
cdt
françois
Bonjour Hugo,
Je ne sais pas si vous suivez toujours votre projet.
Mais il semblerait que ce dernier ne soit plus fonctionnel sur la partie YOUTUBE.
Lorsque je saisi, par exemple « framboise314 » et que je valide dans la barre de recherche, rien ne se passe.
En regardant dans la console de dev de mon navigateur, il semblerait que le problème vienne de l’utilisation de « https://www.googleapis.com/youtube/v3/search?p ».
Pourriez vous m’aider à ce sujet?
Bonjour,
Je ne suis plus ce projet depuis plusieurs années maintenant, mais vous pourriez tenter de remplacer la partie recherche YouTube, qui provenait originellement de https://github.com/gudlarakesh/youtube
Aussi, le serveur youtube-mp3 qui était utilisé dans ce projet ne fonctionne plus depuis longtemps maintenant, mais libre à vous de refaire tout cela de de nous en faire part !
Bonne soirée
Hugo
Bonsoir,
Je vous remercie pour cette réponse rapide et claire.
Malheureusement, je n’ai pas les compétences nécessaires mais peut être qu’un jour, une autre personne plus callée trouvera mon commentaire et surtout votre réponse et publiera une réponse à ce sujet, avec une petite procédure.
Bonne continuation à vous et encore merci pour votre projet.