Créez votre propre radio avec la Raspberry Pi

Créer votre émetteur radio à la maison avec la Raspberry Pi

Mis à jour le 16 mai 2022 - 17 Commentaires - , , , , ,

Cet article a été écrit par un de nos lecteurs dans le cadre de notre partenariat avec Kubii.fr, premier vendeur français de Raspberry Pi !

Si vous aussi vous souhaitez écrire un article pour notre site et gagner un bon d’achat kubii.fr de 30€, consultez notre page dédiée !

Avez-vous déjà eu envie de créer votre propre radio ? Si oui, ce tutoriel est fait pour vous ! Dans cet article, nous allons créer notre propre émetteur radio, en nous basant sur une Raspberry Pi !

Grâce à ce tutoriel, vous serez en mesure de créer chez vous votre propre petite station de radio à la maison. Ainsi, vous pourrez par exemple écouter la musique de votre choix sur n’importe quel poste radio FM à proximité.

Attention néanmoins, conformément à la législation en vigueur, ce type d’émission est strictement interdit en France. Le test ne peut donc être que sur une très courte durée et avec une portée réduite. Pas question de monter son propre émetteur FM pour diffuser dans une grande ville tel une radio nationale !

Les accessoires nécessaires pour créer votre propre émetteur radio avec la Raspberry Pi

Afin de créer votre propre émetteur radio à base de Raspberry Pi, vous aurez besoin d’un certain nombre de logiciels (PiFmRds et Sox), ainsi que d’un certain nombre d’équipements afin de créer votre émetteur

Voici les accessoires dont vous aurez besoin :

Plutôt qu’un câble GPIO, vous pouvez utiliser du fil de cuivre et un fer à souder avec de l’étain (pas obligatoire, mais pour un travail bien fini c’est mieux)

Bien entendu, vous aurez également besoin d’un moyen de contrôler votre Raspberry Pi, soit clavier/écran, soit à distance via SSH.

Par ailleurs, vous aurez également besoin d’avoir un système Raspbian à jour installé sur votre Raspberry Pi. Si vous ne savez pas comment faire, consultez notre tutoriel.

Préparer et installer l’antenne de votre radio Raspberry Pi

La première étape de notre tutoriel va être de créer et d’installer une antenne sur votre Raspberry Pi. Pour cela, nous allons donc utiliser un fil métallique qui fera office d’antenne.
À vous de voir si vous préférer utiliser un câble GPIO, ou si vous souhaitez plutôt utiliser du fil de cuivre et un fer à souder (le résultat est plus joli, mais demande un peu plus de matériel).

Dans un premier temps, nous allons devoir calculer la longueur optimale de l’antenne (vous pouvez utiliser une antenne d’une autre taille sans problème, mais cela peut jouer sur la qualité et la distance de transmission du signal).

Pour calculer la longueur de l’antenne, nous utilisons la formule suivante : Longueur optimale = 300 / Fréquence / 16 * 100.

Afin d’éviter une diffusion trop large, nous allons diviser le résultat par deux afin de ne pas dépasser les 30, 40 mètres autour du point de diffusion.

Attention, plus ce point sera élevé, plus la distance sera importante. Essayez de rester raisonnable, le but est de tester et de s’amuser, pas d’enfreindre la loi.

Dans notre cas, nous utiliserons la fréquence d’émission 107.9, qui est la fréquence utilisée par défaut par PiFmRds.
Nous obtenons donc le calcul suivant : ((300/107.9)/16)*100 = 17,37cm.

Une fois cette longueur divisée par deux, nous obtenons donc une antenne d’environ 8,6 cm, ce qui sera très suffisant.

Maintenant que nous connaissons la longueur d’antenne nécessaire, encore faut-il savoir où la brancher. Dans notre cas, PiFmRds est prévu pour fonctionner avec le port GPIO numéro 4 de la Raspberry Pi, et c’est donc sur ce port que nous allons devoir brancher l’antenne.
Ce port est le 4ème de la rangée de gauche, en partant du fond, quand vous tenez votre Raspberry Pi ports USB face à vous.

Port GPIO à utiliser pour créer une radio avec la Raspberry Pi

L’antenne doit être branchée sur le port GPIO entouré en rouge sur cette image.

Il ne vous reste donc plus qu’à couper votre antenne à cette longueur, et à la brancher (ou souder) à votre Raspberry Pi.Installer PiFmRds et Sox pour transformer votre Raspberry Pi en radio
Il reste donc à concevoir un bout d’antenne de cette taille à l’aide d’un fil électrique.

Installer PiFmRds et Sox pour transformer la Raspberry Pi en radio

Une fois l’antenne branchée, nous allons devoir installer les logiciels permettant d’émettre des ondes radio via l’antenne. Dans notre cas, nous allons utiliser le logiciel PiFmRds pour la partie radio et Sox pour transformer nos fichiers audio standards (par exemple mp3) en fichiers WAV, lisibles par PiFmRds.

Dans un premier temps, nous allons donc mettre à jour la liste de nos dépôts logiciels à l’aide de la commande suivante :
sudo apt-get update
Ceci fait, nous allons installer PiFmRds (dans le dossier /home/pi et Sox, ainsi que les dépendances nécessaires à l’aide des commandes suivantes :

cd /home/pi
sudo apt-get install ffmpeg sox oggfwd
sudo apt-get install lame libsox-fmt-mp3
sudo apt-get install libsndfile1-dev
sudo apt-get install git
git clone https://github.com/ChristopheJacquet/PiFmRds.git
cd PiFmRds/src
make clean
make

Il ne vous reste plus qu’à faire un test d’émission sur la bande FM par défaut (107.9). Pour cela, lancez la commande suivante :
sudo ./pi_fm_rds

Diffuser de la musique par radio avec la Raspberry Pi

Afin de diffuser de la musique sur la radio depuis votre Raspberry Pi, le principe est toujours le même, envoyer à PiFmRds un fichier au format WAV en entrée et lui demander de le diffuser sur la fréquence de votre choix.

Par exemple, si nous voulons diffuser sur la bande FM 107.09 le fichier musique.mp3 qui contient de la musique au format MP3 et qui est situé dans le dossier /home/pi/, nous allons d’abord devoir passer le fichier au format WAV (à l’aide de Sox), puis l’envoyer à PiFmRds.
Nous lancerons donc la commande suivante :

sox -t mp3 /home/pi/musique.mp3 -t wav - | /home/pi/PiFmRds/src/pi_fm_rds -audio -

Cette commande demande donc à Sox de transformer le fichier mp3 en fichier WAV et d’envoyer le résultat sur la sortie standard. Puis elle demande à PiFmRds de récupérer la sortie standard, et de diffuser son contenu sur la bande FM par défaut (107.09).

Autre exemple, pour lire tous les fichiers mp3 d’un dossier les uns après les autres, cette fois sur la bande FM 95.4 :

sox -t mp3 /chemin/dossier/*.mp3 -t wav - | sudo ./PiFmRds/src/pi_fm_rds -freq 95.4 -ps Toto -audio -

Tout ce que vous avez à faire maintenant, c’est d’adapter les commandes selon vos besoins. Vous pouvez par exemple lire tous les fichiers d’une clef USB, d’un PC à distance, ou même un flux audio depuis un site internet (par exemple une web radio).

Si cet article vous a plus, n’hésitez pas à faire un tour sur nos autres articles multimédia, comme la création d’un media-center ou la mise en place d’une console de rétro-gaming !

4/5 - (23 votes)
Partager
Newsletter
Auteur :
Raspberry Pi FR
Rejoignez la communauté Raspberry Pi
Un ordinateur à 35€ déjà vendu à 10 millions d'exemplaires
ACHETEZ LA NOUVELLE RASPBERRY PI 4
Tutoriels en rapport
Installer un media-center avec OSMC sur votre Raspberry Pi ! RaspiSMS 2.0, envoyer des SMS par internet avec la Raspberry Pi Installer un serveur web sur votre Raspberry (Apache + PHP + MySQL) Bien choisir vos accessoires pour les Raspberry Pi 3 et 2 Installer un serveur Minecraft sur votre Raspberry Pi !
17 commentaires
Besoin d'aide ? Vous la trouverez plus vite sur notre forum.

  1. Lionel dit :

    Bonjour,

    Dans le cas où on possède une webradio, et qu’on souhaite la transformée en fm grâce au Raspberry.
    C’est-à-dire faire le son sortir sur la Raspberry, pour émettre ensuite sur une fréquence.

    1. Salut, je n’ai jamais essayé mais je présume qu’il doit y avoir moyen d’utiliser sox pour lire non pas un fichier mais un flux audio.

  2. Reshiban dit :

    Salut!
    Après essaie sur un Raspberry pi 4, le tuto marche nickel!
    Merci de l’avoir rédigé 🙂

    Pour ceux qui ont besoin d’utiliser leur nouvelle radio de façon imminente, mais qui trouvent pas de quoi faire une antenne 🙁 j’ai quelque astuces pour vous :))

    En fait vous avez plein de choses dans votre maison qui vent être utiles:

    -Ventilateur raspberry pi: Souvent quand on achète une framboise, nombreux sont ceux à leur acheter un ventilateur en cas de grosse chauffe. L’alimentation de ce ventilo se fait par câble GPIO, qui vous l’aurez deviné… peut servir d’antenne!
    Ça n’ira pas à 1Km, mais ça permet de capter dans sa maison correctement 🙂
    (Pensez toutefois à NE brancher QU’UN câble sur le pin radio, et débrancher l’autre de son pin habituel, on ne sait pas quel court-circuit ça pourrait provoquer!)

    -Bitoniot à fermer les tartines: Quand on achète des tartines au super-marché, il y a toujours un bitoniot, ce petit machin avec 2 tiges de métal pour fermer le sachet.
    Vous l’aurez deviné, d’après mes essais personnels, ces 2 tiges de métal en contact avec le pin radio devraient être utilisables comme des antennes!
    C’est juste moins pratique, car appart en soudant, ça ne tiendra pas bien tout seul, mais juste coller la tige au pin en tenant avec vos doigts fonctionne tout de même :p

    -Poste radio: Eh oui, quoi de mieux pour trouver une antenne radio, que de trouver une radio!
    Si vous avez une vieille radio avec une antenne (certaines sont des tiges métalliques, d’autres des fils qui pendouillent à la radio etc…) je n’ai pas testé, mais ça devrait faire l’affaire (tout ce que je sais, c’est que les antennes en écoute captent dans la même pièce le signal de mon GPIO sans avoir d’antenne fixée dessus)

    J’espère vous avoir aidé dans vos besoins pressants de trouver ce dernier ingrédient pour votre radio!

  3. Morgan dit :

    Bonjour
    Ayant récemment pénétré l’univers Raspberry, j’ai voulu tester ce tutoriel qui me semblait simple et amusant.
    Cependant, après avoir installé les paquets des logiciels et lançant la commande de test j’obtiens :
    sudo ./pi_fm_rds : commande introuvable
    J’essaye alors de lancer un morceau que j’ai téléchargé au format mp3 et j’obtiens :
    sox -t mp3 /home/pi/eclipse.mp3 -t wav – | /home/pi/PiFmRds/src/pi_fm_rds -audio –
    Failed to open /dev/mem: Permission Denied
    Terminating: cleanly deactivated the DMA engine and killed the carrier
    sox WARN mp3-util: MAD lost sync
    sox WARN sox: `_’ output clipped 12733 samples; decrease volume ?
    J’ai utilisé pour antenne une section de câble de 10 cm que j’ai branché sur le port GPIO 4 ; après la commande précédente je ne capte rien sur la fréquence 107.9. Je n ‘ai pas trouvé de solution aussi m’adresse-je aux membres de ce forum.
    Cordialement

    1. Pierre dit :

      Boujour moi aussi j ai le même problème

      1. Salut, tu devrais aller faire un tour sur le forum, tu trouveras pleins de passionnés pour t’aider !

  4. Hugues GERVAIS dit :

    hamda, ça vient de sortir ? Vous parlez d’une longueur d’onde, représentée par la lettre grecque lambda. quand on parle technique, il est mieux d’être précis. Hugues F4FXO.

  5. Patrick dit :

    Bonjour
    En électronique on ne fait les calculs de cette façon pour les longueurs d’antenne…

    On calcul hamda
    Hamda = C / F
    C = célérité (vitesse de la lumière )
    F = fréquence
    En prenant le milieu de la bande fm, 100 MHz
    On obtient 300 000 000 m/s
    Divisé par
    La fréquence 100 MHz (100 000 000)
    Hamda = 3 (sans unité)

    Pour avoir un « ventre » De tension
    On prend hamda/4 ou 3/4hamda
    Le résultat étant en mètres
    On obtient 75 cm

    D’où la longueur des fouets d’antennes sur les voitures et la longueur des antennes fm des chaînes hifi.

    Je ne comprend donc pas les 17 cm
    Cordialement
    Patrick

    1. Alors là, je ne peux pas t’aider du tout, le calcul nous a été donné par l’auteur de l’article. Je présume que ça doit sortir de quelque part, surtout qu’à l’époque j’avais moi même cherché et il me semble avoir trouver un truc assez semblable sur framboise314.fr ou quelque chose comme ça.

    2. VincentD dit :

      Selon la formule de l’article : ((300/107.9)/16)*100 = 17,37cm

      Pourrait être simplifiée par : (300 000 / 107.6) / 16
      C’est juste des maths, Simplification par le méga.

      vitesse de la lumière / fréquence.
      soit hamda.

      hamda/4 : antenne quart d’onde
      (3/4)*hamda : antenne trois quart d’onde

      Pour l’article:
      hamda/16 : antenne un seizième d’onde

      Techniquement cela me semble correct.

  6. Mop dit :

    Comment savoir a quelle distance diffuse-t-on ? Si je veux me faire ma radio, disponible sur mon terrain uniquement, c’est bon ?

    1. Il me semble qu’il est possible de régler l’intensité. Par contre pour connaître la distance exact, je ne sais pas. Après niveau légal, à toi de faire tes devoirs !

  7. Defrenne dit :

    ne serait-il pas possible à partir de cette fonction de lui envoyer non pas ses mp3 ou wav mais bien de signaux de télécommande sur une fréquence dans le 433 mHz pour implémenter de la domotique.

    1. Probablement, mais le plus simple serait d’utiliser une carte dédiée branchée aux GPIO.

  8. Sytoka dit :

    Il faut pas une autorisation pour émettre en France ?

    1. Si, si tu veux émettre il te faut théoriquement une autorisation. Après si tu le fais pendant 10 minutes seulement à 10m autour de chez toi, je pense que les risques de voir le GIGN débarquer sont minimes. Mais disons que pour des raisons légales, c’est un article théorique…

Partager
Inscription à la Newsletter
Inscrivez-vous à la Newsletter.
Vous avez aimé cet article ?
Inscrivez-vous et restez informé !