Le Raspberry Pi peut être utilisé pour pratiquement toutes les applications imaginables – ainsi que comme émetteur radio. Des fréquences de 1Mhz à 250Mhz peuvent être utilisées, y compris les fréquences radio habituelles entre 88 et 108Mhz.
Selon la position et l’antenne, le signal peut être transmis jusqu’à 100 mètres.
Dans ce tutoriel, je vous montrerai ce dont vous avez besoin et comment installer la station de radio sur le Raspberry Pi.
Pièces de matériel nécessaires
Voici les pièces de matériel que j’ai utilisées:
- Raspberry Pi 4
- Carte son USB
- Câble jumper (une antenne éventuellement plus puissante, en fonction de l’application)
Logiciel
La base est la bibliothèque piFM. Avec celle-ci, il est possible de « détourner » la GPIO 4 (broche 7) du Raspberry comme émetteur. Une antenne (soit une vraie antenne, soit un simple fil) doit y être connectée.
Nous commençons par charger le logiciel et le compiler.
git clone https://github.com/rm-hull/pifm && cd pifm make
Une fois que vous avez connecté l’antenne à la broche 7 (la quatrième broche à partir du haut de la face intérieure), vous êtes prêt à partir. Pour ce faire, il faut que le piFM soit lancé en tant que racine et qu’un fichier soit spécifié (format .wav) pour être lu. De plus, la fréquence de transmission peut être spécifiée de manière optimale (standard 103.3Mhz) et le taux d’échantillonnage audio (en Hz).
Un exemple d’appel serait le suivant:
sudo ./pifm sounds/star-wars.wav 103.3 22050 stereo
Dès lors, si vous recherchez cette fréquence sur votre radio, vous devriez entendre la mélodie de Star Wars et le bruit précédent devrait s’arrêter. À la fin de la chanson, elle sera rejouée depuis le début.
De plus, la bibliothèque peut être facilement intégrée à Python :
1 2 |
importer PiFM PiFm.play_sound("path/sound.wav") |
Parler en direct
Il est plus intéressant de pouvoir parler en direct que de jouer de la musique. Cela est relativement facile à réaliser avecarecord
. Il suffit de connecter un microphone via la carte son USB.
Ici, nous démarrons un enregistrement et le passons directement en entrée pour piFM via le pipeline:
arecord -f S16_LE -r 22050 -twav -D plughw:0,0 - | sudo ./pifm -
Ces arecord
paramètres ont fonctionné au mieux pour moi. Si vous n’obtenez qu’un mauvais son, vous devrez ajuster les paramètres si nécessaire. Au lieu de plughw:0,0
il peut également êtreplughw:1,0
. C’est pourquoi il est préférable d’appeler
amixer
Les appareils audio connectés doivent être affichés.
Lors des tests, j’ai remarqué qu’aucun signal n’a été envoyé après avoir voulu écouter mon enregistrement via aplay
. Il peut en être de même si les paramètres audio par défaut ont été modifiés (/etc/modprobe.d/alsa-base.conf
). Dans ce cas, les paramètres doivent être réinitialisés (s’ils ont été modifiés) et redémarrés. Si le problème persiste sudo apt-get update && sudo apt-get upgrade
ou une nouvelle image de Raspberry aidera. Mais comme je l’ai dit, un simple redémarrage suffit généralement.
Un commentaire
Bonjour,
Je veux emettre un petit fichier .wav sur la frequence 156 MHZ mais le son est très coupé et on ne reconnait pas le son. Je ne sais pas si c’est la fréquence qui pose problème ou le fait qu’il y ait du stereo dans la commande… j’ai essayé aussi de modifier la fréquence audio du fichier, le biterate mais je suis perdu… pouvez-vous m’aider merci?