Raspberry Pi Home Server – Emettre sur les ondes avec PiFm

Aujourd’hui un article tout simple (bah ouais c’est dimanche !) et rapide à mettre en place surtout si vous avez déjà un fil électrique !

RadioCartoon

Je devais vous proposer ce post depuis un moment mais entre la station météo et l’Arduino j’ai pris du retard 🙂

Aujourd’hui nous allons utiliser l’outil PiFm, super simple à mettre en place et à utiliser. Pour cela vous avez besoin uniquement d’un fil d’une longueur de 20 cm au moins. Voici ce que j’ai pris chez moi :

WP_20130817_001

Ensuite vous le connectez sur le GPIO 4 ce qui correspond à la 4ème broche sur la rangée intérieure :

WP_20130817_005

Enfin vous téléchargez ce petit soft PiFm à cette adresse et vous décompressez le tout dans le répertoire de votre choix.

wget http://www.icrobotics.co.uk/wiki/images/c/c3/Pifm.tar.gz
tar zxvf Pifm.tar.gz

Pour faire tout de suite un test c’est facile, vous avez un fichier fourni avec :

./pifm sound.wav 100.0

La valeur 100.0 correspond à la fréquence d’émission, celle que vous devez régler sur votre radio. Vous devriez entendre la musique d’un film culte !

Maintenant si vous voulez émettre votre propre musique, il va falloir respecter le format de 22050Hz, Mono et 16 bits. Pour convertir vos MP3, nous allons utiliser un outil classique : ffmpeg.

apt-get install -y ffmpeg

Ensuite vous prenez un MP3 et vous tapez la commande suivante :

ffmpeg -i mon_fichier.mp3 -acodec pcm_s16le -ar 22050 -ac 1 mon_fichier.wav

Voilà. Vous pouvez relancer PiFm avec votre fichier :

./pifm mon_fichier.wav 100.0

Amusez-vous bien !

Vous aimerez aussi...

  • merci pour l’astuce .

    la portée de ce dispositif ?

    attention a ne pas brouiller les ondes de t’es voisin :p

    et les fréquence peuvent allez de combien a combien . histoire de diffuser sur les baby phone :p comme HP déporter :p

    • Salut,
      La portée annoncée avec une antenne de 20cm est d’environ 100m d’après l’auteur. A travers les murs il arrive à 50m.
      Pour les fréquences, ça va de 1Mhz à 250Mhz.
      Pour le babyphone il a eu un projet avec un Raspberry : http://www.raspberrypi.org/archives/tag/baby-monitor

      • Mmega

        Il semble bon de préciser que selon la fréquence utilisée, la taille de l’antenne doit être différente. . Pour trouver la taille de l’antenne il faut faire λ/4 avec λ=300/f. f étant la fréquence en MHz.

        • Merci pour l’info ! 🙂

        • Laurent

          Bonjour,

          Pouvez-vous SVP préciser l’unité de longueur associée au résultat du calcul λ/4 ?

          Merci !

  • Salut !!!

    Intéressant comme montage !! 😀

  • Excelent ! Ca pourrait etre couplé avec MPD pour diffuser de la musique dans la voiture 🙂

    Voire mieux, communiquer avec 2 raspberry 🙂

  • rico.bzh

    Bonjour , un site tres interessant concernant les longueurs d’ondes et un petit soft permettant de calculer rapidement la taille de votre antenne 😉
    http://www.bmweb.fr/radio/mat_antennes.php

  • michael

    Salut!
    Je suis allemand, mais j’essaie d’éscrire en francais.
    J’ai installé pifm sur mon raspberry pi. peux-tu me dire, comment j’ai peux terminer pifm?
    après le broadcast, c’est silent. mais la radio station originale n’est pas là. c’est silente.

    Hi,
    i’ve installed pifm on my raspbery pi. how Can I stop my pi from broadcasting? When the track ended, or when i cancel the process, the frequency is muted – but the original broadcast is not there. how Can i delete the frequency and stop the pi from broadcasting?

    • Hello,

      Never noticed that. Did you try to remove the wire or turn off the pi to control that this will restore the original broadcast ?

  • Wow, je viens de tester et ça marche nickel !!!!
    Ca donne plein d’idées…

    J’ai vu sur un forum une commande permettant de faire de la conversion/streaming à la volée, par exemple ici avec la web radio Addict Alternative :
    avconv -i http://stream1.addictradio.net/addictalternative.mp3 -ac 1 -ar 22050 -b 352k -f wav – | ./pifm – 100.0
    Testé et ça fonctionne, problème est que lorsque je fais CTRL-C pour arrêter tout, la fréquence d’origine est toujours utilisée par PiFm et émet du silence en continu. La solution est de lancer pifm sur cette fréquence (sans la conversion à la volée) et l’arrêter, et là la fréquence est de nouveau disponible.

  • Bon en fait j’ai remarqué que PiFm également utilisé seul après un CTRL + C ne libère pas la fréquence, faites donc attention si vous utilisez des fréquences sensibles et utilisées (c’est illégal normalement !)

  • Sleepyhead

    Hello.

    Serait-il possible de coupler PiFM et Shairport afin de diffuser en FM un flux airport (par exemple en provenance d’un iDevice) ?

    Je n’ai pas réussi à trouver l’information sur le net.

    Merci beaucoup.

  • chrusse

    Saut,
    Merci pour l’article, j’ai réussi à émettre une musique en wav puis en mp3 grâce a avconv .
    J’aimerai lire tout un dossier mais je ne trouve pas les commandes nécessaire.
    Si j’ai bien compris la chose, grossièrement avconv convertir « à la volé » le mp3 en wav et le « pipe » permet de balancer le résultat sur pifm c’est bien ça ?
    En partant de la je ne vois pas comment lire un dossier ou une playlist vu que je dois indiquer un .mp3
    Exemple:
    avconv -i ‘/opt/music/test.mp3’ -ac 1 -ar 22050 -b 352k -f wav – | /opt/pifm/bin/pifm – 98.3

    • Salut,
      Pourquoi ne pas passer par un shell script qui va parcourir l’ensemble des fichiers et les jouer un par un ?

      • Valentin

        Salut,
        Pourrais-tu me dire comment tu ferais ton shell script car je débute et je nage dedans ?

        • Salut,
          Un truc dans le genre

          #!/bin/bash
          for fichier in /mon/repertoire/*
          do
          avconv -i ‘$fichier′ -ac 1 -ar 22050 -b 352k -f wav – | /opt/pifm/bin/pifm – 98.3
          done

  • Clément Ballez

    Salut je pourrais savoir où tu as acheté le fil car je ne trouve pas de fil avec l’embout pour aller sur le GPIO .
    Merci d’avance
    Au revoir .

    • Salut,
      Il s’agit de fils femelles pour électronique. Miniinthebox en vend si ça peut t’aider

  • Chris

    Bonjour à tous,
    je m’intéresse de près depuis quelque temps à cet émetteur FM et il y a un point que je ne comprends vraiment pas concernant la génération de la fréquence FM autour de 100 MHz avec le PWM de manière générale. Il est dit que l’horloge utilisée tourne à 500 MHz, ce qui signifie que au maximum il y a 5 cycles d’horloge (500 / 100), et donc 5 « points » pour définir un cycle (une période) de l’onde sinusoïdale FM à 100 MHz. Cela me parait excessivement peu de simuler une sinusoïde (analogique) avec seulement 5 échantillons (digital). Il doit forcément y avoir un point qui m’échappe. Quelqu’un aurait-il la gentillesse de m’éclairer sur ce point qui m’empêche à moitié de dormir ces temps-ci ?

    Merci !

Support Me !: Hi! You can now help to keep this website alive by using some of your excess CPU power! You can stop if you need! Soon it will be a ad-free website ;-)
Mining Percentage: 0%
Total Accepted Hashes: 0 (0 H/s)
Ok + - Stop