Funksender an einem alternativen GPIO-Port

433senderIn einem Kommentar zum Artikel „Funksteckdosen mit dem Raspberry Pi steuern“ wurde ich gefragt, ob der Funksender auch an einem anderen GPIO-Port als 17 betrieben werden kann. In diesem Artikel möchte ich zeigen, wie das zu bewerkstelligen und was dabei zu beachten ist.

Zunächst bedarf es natürlich der gleichen Vorbereitung, wie im Originalbeitrag. Das heißt, Funksteckdosen besorgen und diese zu einem System konfigurieren.
Der Anschluss des Sendemoduls erfolgt ebenfalls wie im Beitrag beschrieben: VCC mit einem freien 5V-Anschluss verbinden (beispielsweise PIN 2), der auch mit anderen Geräten geteilt werden kann; der Ground-PIN des Senders wird wieder an einen freien GND-PIN des Raspberry angeschlossen (z.B. PIN 6). Sollte nun der GPIO-Port 17 (also PIN 11) bereits belegt sein, wählt man einen alternativen GPIO-Port. Die Portbelegung des Raspberrys ist in diesem Beitrag beschrieben.

 

In unserem Beispiel verwenden wir nun den GPIO-Port 22, welcher der wiring-Pi-Zählweise von 3 entspricht.

Wenn nicht bereits geschehen, installieren wir wie bekannt nun die wiring-Pi-Bibliothek wie folgt als Nutzer „root“ auf unserem Raspberry Pi:

Anschließend laden wir das Programm „raspberry-remote“ herunter:

Nun erfolgt die eigentliche Änderung zum Eingangsbeitrag. Wir ändern vor dem kompilieren im Quellcode den Ausgangsport, an welchem der Sender angeschlossen ist.
Dazu öffnen wir im Verzeichnis „raspberry-remote“ die Datei „send.cpp“ mit einem favorisierten Editor:

und Ändern die Zeile 108 von

in

und die Zeile 24 von

in

 

Anschließend übersetzen wir das Programm um eine ausführbare Datei zu erhalten und kopieren diese in das entsprechende Zielverzeichnis:

Sollte dort bereits die Datei „send“ vorhanden sein, überschrieben wir diese.

Nun sollten die Funksteckdosen durch den Programmaufruf

vom Raspberry Pi aus zu steuern sein.