HowTo: Raspberry Pi – FM-Signale senden per GPIO-Pin

Den RaspberryPi könnt Ihr dank eines technischen Tricks und passendem Skript – ohne zusätzliche Hardware(abgesehen von einem Stück Draht) – auch dazu nutzen Audio-Dateien und sogar ganze Texte per FM-Signal zu versenden. Dadurch wird aus Eurem RaspberryPi ein kleiner Radiosender.

Wie das geht und was Ihr dabei beachten müsst, ist in diesem Artikel beschrieben


Sicherheitshinweise

Ich weiß die folgenden Hinweise sind immer irgendwie lästig und wirken unnötig. Aber leider haben schon viele Menschen die es "besser" wussten aus Leichtsinnigkeit Augen, Finger oder anderes verloren bzw. sich verletzt. Im Vergleich dazu ist ein Datenverlust fast nicht der Rede Wert, aber auch diese können echt ärgerlich sein. Deswegen nehmt Euch bitte fünf Minuten Zeit um die Sicherheitshinweise zu lesen. Denn auch das coolste Projekt ist keine Verletzung oder anderen Ärger wert.
https://www.nerdiy.de/sicherheitshinweise/

Affiliatelinks/Werbelinks

Die hier in aufgeführten Links zu Online-Shops sind sogenannte Affiliate-Links. Wenn Du auf so einen Affiliate-Link klickst und über diesen Link einkaufst, bekommt Nerdiy.de von dem betreffenden Online-Shop oder Anbieter eine Provision. Für Dich verändert sich der Preis nicht. Falls Du Deine Einkäufe über diese Links tätigst unterstützt Du Nerdiy.de dabei auch in Zukunft weitere nützliche Projekte anbieten zu können. 🙂 


Voraussetzungen

Bevor ihr mit diesem Artikel startet solltet ihr den RaspberryPi soweit vorbereitet haben, dass dieser über das Netzwerk erreichbar und per SSH Steuerbar ist.

Die folgenden drei Artikel beschreiben was zu tun ist um den RaspberryPi soweit vorzubereiten:
RaspberryPi – Einrichten für Nerdiys!
RaspberryPi – Die Erste Konfiguration!
RaspberryPi – Den RaspberryPi über SSH steuern

Benötigtes Werkzeug:
-keins-

Benötigtes Material:

In der folgenden Liste findet Ihr alle Teile die Ihr zur Umsetzung dieses Artikels benötigt.


Wichtige Worte vorab

Das senden von FM-Signalen (und auch vielen anderen) über nicht zugelassene Funksender ist in Deutschland nicht legal. Die unten gezeigte Methode ermöglicht euch aber genau das. Geht bitte verantwortungsvoll damit um. Achtet vor allem darauf, dass Ihr keine regulären Radio-Sender stört. Die gezeigte Methode ist vergleichsweise Leistungsstark und strahlt dazu auch noch in andere Frequenzbereich aus. Das heißt Ihr könnt damit sehr leicht den Unmut Eurer Nachbarn und damit auch der Bundesnetzagentur auf euch ziehen.


Anschließen/Vorbereiten der Antenne

Als Antenne könnt Ihr im Prinzip jeden Draht verwenden den Ihr zur Verfügung habt. Wichtig ist nur die Länge. Der Draht muss ca. 20cm lang sein.

In dem unten aufgeführten Beispiel habe ich einen starren Draht genommen(also keine flexible Litze) und daran dann einen Dupont-Stecker aufgecrimpt. Im Prinzip könnt Ihr aber auch jedes andere “einfache” dupont Kabel dazu verwenden.

Die benötigten Teile: 20cm langer Draht, RaspberryPi und (optional) Dupont-Stecker
Nahaufnahme des Dupont-Steckers.
Dieser(Dupont-Stecker) wird am Draht aufgecrimpt…
…und dann auf GPIO4 des RaspberryPi aufgesteckt.
Nahaufnahme des aufgesteckten Drahts an der GPIO-Leiste des RaspberryPi.

Per SSH auf dem RaspberryPi einloggen

Um zu beginnen müsst Ihr Euch als erstes mit Putty per SSH auf dem RasPi einloggen. Wie das geht ist im Artikel RaspberryPi - Den RaspberryPi über SSH steuern beschrieben.

Nach der Eingabe Eures Benutzernamen und Passworts könnt Ihr die ersten Befehle eingeben.

Paketverwaltung aktualisieren

Die Paketverwaltung in Linux ist eine "zentrale Stelle" über die sich diverse Software-Pakete installieren lassen. Damit dies zuverlässig funktioniert sollten vor jeder Installation von neuen Paketen die Listen und Quellen der Paketverwaltung aktualisiert werden.

Um das Update der Paketverwaltung zu starten müsst ihr folgenden Befehl eingeben.
sudo apt-get update && sudo apt-get upgrade
Je nachdem wie lange Euer letztes Update der Paketverwaltung her ist kann dieser Vorgang nun etwas dauern. Dabei werden zuerst die Listen aktualisiert in denen auf die einzelnen Paketquellen verwiesen wird.
Danach werden die Pakete selber aktualisiert. Da dabei zusätzlicher Speicher belegt wird, werdet Ihr nochmal nach Eurem Einverständnis gefragt. Dies müsst Ihr mit einem "J" und "Enter" bestätigen.
Ist die Aktualisierung abgeschlossen wird euch eine kleine Zusammenfassung über die Dauer und den Umfang des Updates angezeigt.

Benötigte Pakete installieren

Damit Ihr über den RaspberryPi nun FM-Signale senden könnt, müsst Ihr natürlich noch etwas Software installieren. Da Ihr den Quellcode des FM-Transmitters selber kompilieren müsst, ist es notwendig zunächst einen passenden Kompiler zu installieren. Dies geht mit folgendem Befehl.

sudo apt-get install make gcc g++

Software aus dem GIT-Repository kopieren und kompilieren

Habt Ihr den Kompiler installiert ist es nun an der Zeit den eigentlichen Programmcode herunterzuladen.

Erstellt Euch dazu zunächst einen Ordner in dem Ihr die Quellcode-Dateien herunterladen könnt. Gebt dazu folgenden Befehl ein.
mkdir fmTransmitter
Wechselt dann mit folgendem Befehl in den erstellten Ordner.
cd fmTransmitter
Nun könnt Ihr mit folgendem Befehl den Download der Quellcode-Dateien starten.
git clone https://github.com/markondej/fm_transmitter.git

Sollte das oben angegebene GitHub Repository aus irgendeinem Grund nicht mehr verfügbar sein könnt Ihr auch auf das “Backup” im Nerdiy-GitHub zurückgreifen. Ihr findet es hier: https://github.com/Nerdiyde/fm_transmitter

Die heruntergeladenen Dateien sind standardmäßig in einem weiteren Ordner enthalten. Wechselt mit folgendem Befehl in diesen Ordner.
cd fm_transmitter
Nachdem Ihr in den Ordner gewechselt habt könnt Ihr den Kompiliervorgang starten in dem Ihr den Befehl “make” ausführt.
make
Der Kompiliervorgang dauert je nach Rechenleistung ein paar Sekunden.

Befehl zum senden des FM-Signals

Das Programm zum senden von FM-Signalen ist damit soweit vorbereitet.

Mit folgendem Befehl könnt Ihr nun über die eingestellte Frequenz eine .wav-Datei abspielen.

sudo ./fm_transmitter [-f frequency] [-r] filename

Dabei müsst Ihr “frequency” noch durch die von euch gewünschte Frequenz und filename durch den Dateinamen Eurer .wav-Datei ersetzen.

Folgender Befehl sendet zum Beispiel die Datei test.wav auf 102.0 Mhz.

sudo ./fm_transmitter -f 102.0  -r test.wav

Endlosschleife einer Musikdatei senden

Wenn Ihr euch im Ordner des koierten GIT-Repositorys befindet, könnt Ihr mit folgendem Befehl die mitgelieferte Melodie abspielen und über 102.0 Mhz empfangen

sox acoustic_guitar_duet.wav -r 22050 -c 1 -b 16 -t wav - | sudo ./fm_transmitter -f 102.0 -

Texteingaben per FM-Signal senden

Im folgendem Artikel ist außerdem beschrieben wie Ihr einen vorgegebenen Text per FM-Signal in den Äther senden könnt.

RaspberryPi – Sprachausgabe über FM-Signal ausgeben


Weitere Informationen

https://github.com/markondej/fm_transmitter
https://github.com/Nerdiyde/fm_transmitter


Viel Spaß mit dem Projekt

Ich hoffe bei euch hat alles wie beschrieben funktioniert. Falls nicht oder ihr Fragen oder Anregungen habt lasst es mich in den Kommentaren bitte wissen. Ich trage dies dann ggf. in den Artikel nach.
Auch Ideen für neue Projekte sind immer gerne willkommen. 🙂

P.S. Viele dieser Projekte - besonders die Hardwareprojekte - kosten viel Zeit und Geld. Natürlich mache ich das weil ich Spaß daran habe, aber wenn Du es cool findest, dass ich die Infos dazu mit Euch teile, würde ich mich über eine kleine Spende an die Kaffeekasse freuen. 🙂

Buy Me a Coffee at ko-fi.com       

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.