Sie können den Raspberry Pi für eine Vielzahl von geeky Projekten verwenden. Aber ich habe kürzlich herausgefunden, dass du das kleine Gerät auch als FM-Sender verwenden kannst. Und das ohne viel Bastelei.

Ein paar Leute bei Code Club pihack haben ein Programm geschrieben, das Hardware auf dem Raspberry Pi verwendet, die Spread-Spectrum-Clock-Signale erzeugen soll, um stattdessen FM-Radio-Signale auszugeben.

Hintergrund

Hier ist ein bisschen Hintergrund. Neben den bekannten Audio-, Ethernet-, HDMI- und USB-Ports des Raspberry Pi verfügt das Gerät auch über Schnittstellen, die direkter mit anderen Chips und Modulen verbunden werden können.

Diese GPIO- (General Purpose Input / Output) "Anschlüsse" sind die 26-Pins (in einem 2 × 13-Streifen angeordnet), die Sie auf der Platine sehen. Diese Schnittstellen sind nicht Plug-and-Play, sondern können über Software gesteuert werden.

Um ein überraschend starkes FM-Signal zu übertragen, müssen Sie lediglich einen Draht an den GPIO 4-Pin anschließen. Auch ohne das Kabel wird das vom Raspberry Pi gesendete FM-Signal von nahegelegenen FM-Empfängern empfangen.

Ein Wort der Vorsicht : Die Gesetze für die Übertragung von FM-Signalen variieren von Land zu Land. Bitte überprüfen Sie Ihre lokalen Vorschriften, bevor Sie dieses Projekt versuchen.

Auf die Plätze, fertig, los

Schalten Sie das Pi ein und gehen Sie entweder über SSH oder direkt in das Gerät zur Kommandozeile.

Wir greifen nun den Code, der beim Code Club hackfest geschrieben wurde, heraus und extrahieren ihn:

 mkdir ~ / pifmcd pifm wget http://omattos.com/pifm.tar.gz tar zxvf pifm.tar.gz 

Das Verzeichnis enthält jetzt sechs Dateien. Überraschenderweise ist das alles. Sie können jetzt die mitgelieferte Datei "sound.wav" senden:

 sudo ./pifm sound.wav 102.3 

Nehmen Sie jetzt einen UKW-Receiver und stellen Sie ihn auf FM 102.3 und Sie sollten die Star Wars-Musik hören. Sie können die Sendefrequenz von 88 MHz bis 108 MHz ändern, indem Sie einfach die Kanalfrequenz am Ende des Befehls anhängen.

Übertragungsspuren

Sie können auch andere Audiodateien abspielen, sie müssen jedoch nur 16-Bit-22050-Hz-Mono und nur im WAV-Format sein. Das mag wie eine echte Einschränkung erscheinen, aber das ist es wirklich nicht. Alles, was Sie brauchen, ist der SoX-Sound-Exchange-Audio-Editor, der Ihre MP3-Datei verarbeitet und sie in die WAV-Datei on-the-fly konvertiert.

Installieren Sie den Audioeditor und seine Abhängigkeiten mit:

 sudo apt-get installieren sox libsox-fmt-all 

Wenn Sie fertig sind, geben Sie den folgenden Befehl ein und ersetzen "SomeSong.mp3" durch den Namen der MP3-Datei, die Sie abspielen möchten:

 sox -t mp3 SomeSong.mp3 -t wav -r 22050 -c 1 - | sudo ./pifm - 102.3 

Der erste Teil des Befehls übersetzt die MP3-Datei in eine WAV-Datei, ändert die Audio-Sampling-Rate auf 22050 und mischt die Spur zu Mono. Die konvertierte Spur wird dann an die Standardausgabe gesendet, die durch das Bindestrichzeichen (-) gekennzeichnet ist, und wird dann an die Standardeingabe des Befehls pifm weitergeleitet (|).

Der einzige Unterschied im Befehl pifm im obigen Beispiel besteht darin, dass wir anstelle des Namens der zu sendenden Datei das Skript stattdessen die Standardeingabe senden.

Wenn Sie Ihren FM-Receiver immer noch auf die Frequenz 102.3 eingestellt haben, sollten Sie jetzt Ihre MP3 hören! Auch hier können Sie, wie im ursprünglichen Beispiel, die Frequenz zwischen 88 MHz und 108 MHz austauschen.

Sende Podcasts

Sie können mit SoX einige wunderbare Dinge tun. Sie können damit beispielsweise Ihre Lieblingsstreams live aus dem Internet übertragen.

So senden Sie den Linux Voice-Podcast:

 sox -t mp3 http://www.linuxvoice.com/episodes/lv_s02e01.mp3 -t wav -r 22050 -c 1 - | sudo ./pifm - 102.3 

Der einzige Unterschied zwischen diesem Befehl und dem vorherigen Beispiel besteht darin, dass Sie nicht auf eine lokale MP3-Datei zeigen, sondern auf eine Datei, die sich im Internet befindet.

Sie können auch einen Online-Radiosender senden. Viele Stationen veröffentlichen eine M3U-Datei und Sie können darauf verweisen:

 sox -t mp3 http://www.ndr.de/resources/metadaten/audio/m3u/ndrloop5.m3u -t wav -r 22050 -c 1 - | sudo ./pifm - 102.3 

Nicht alle Sender strahlen MP3-Streams aus. Einige verwenden andere Formate wie OGG. Alles was Sie brauchen, um den Typ der Eingabedatei zu ändern, die Sie mit sox konvertieren. Sowie:

 sox -t ogg http://network.absolute-radio.de/core/audio/ogg/live.pls?service=a6bb -t wav -r 22050 -c 1 - | sudo ./pifm - 102.3 

Wenn Sie nach Online-Radios suchen, hier ist eine riesige Liste von europäischen Radiosendern, die online streamen.

Bildnachweis: Robert Ashworth