Funksender an einem alternativen GPIO-Port
In 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:
apt-get update apt-get upgrade apt-get install git-core cd ~ git clone git://git.drogon.net/wiringPi cd wiringPi ./build
Anschließend laden wir das Programm „raspberry-remote“ herunter:
cd ~ git clone git://github.com/xkonni/raspberry-remote.git cd raspberry-remote
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:
nano send.cpp
und Ändern die Zeile 108 von
int PIN = 0;
in
int PIN = 3;
und die Zeile 24 von
unsigned int PIN = 0;
in
unsigned int PIN = 3;
Anschließend übersetzen wir das Programm um eine ausführbare Datei zu erhalten und kopieren diese in das entsprechende Zielverzeichnis:
make send cp send /usr/local/bin/
Sollte dort bereits die Datei „send“ vorhanden sein, überschrieben wir diese.
Nun sollten die Funksteckdosen durch den Programmaufruf
send 11011 2 1
vom Raspberry Pi aus zu steuern sein.
SolarJoe
13.02.2016 @ 13:15
Die Gpioś habe ich nicht geändert, Hardware auch die gleiche ausprobiert nur mit Jessie anstatt wheezy, auch auf dem raspberry Zero klappt es mit jessie nicht. ich werde mal testen ob die die gpioś geändert haben in der neuen Version….
Daniel Wenzel
06.02.2016 @ 22:59
Wie ich bereits in einem anderen Kommentar geschrieben habe, erscheint bei mir ebenfalls „test1sending“. Ich denke mal, das kam mit einer neueren Version dieses Tools.
Auf welchem GPIO-Port ist der Funksender denn bei dir angeschlossen?
Und hast du mal getestet, ob es mit einem vorangestellten „sudo“ funktioniert?
SolarJoe
03.02.2016 @ 22:29
Hallo,
habe gerade neues Rasbian Jessie auf RasperryZero installiert und wollte ein Projekt nachbauen, was auf dem Raspberry A+ mit Wheezy ohen Pob´s läuft. Ich bekomme nach der Installation nach dieser Anleitung aber auch immer nur „test1sending systemcode [00001]“ usw. auf dem wheezy bekomme ich als antwort „sending…“ dort funkt´s auch, auf Jessie nicht… hat jemand eine Lösung? Mit dem Code hat es nix zu tun…
Oliver Cassel
07.01.2016 @ 16:41
Nein habe keine Updates gemacht, habe auch alle nutzbaren GPIO´s ausprobiert. Ich probiere das bei Gelegenheit mit dem Pi 1 aus.
Danke für die schnelle Antwort
MfG Oliver
Daniel Wenzel
07.01.2016 @ 04:57
Auch bei mir erscheint „test1sending“, ist also völlig normal. Hast du denn irgendwelche Änderungen innerhalb des letzten Tages gemacht? Update oder ähnliches? Vielleicht hat sich ein Kabel gelockert?
Oliver Cassel
06.01.2016 @ 17:25
Habe das Problem, dass wenn ich senden will immer „test1sending systemcode[11110] unitcode[1] command [1]“ und nichts passiert. Hat das test1sending irgendwas zu bedeuten? Einen Tag zuvor hat alles noch funktioniert.
Danke im Vorraus
MFG Oliver
Daniel Wenzel
06.01.2016 @ 14:20
Wenn du weißt, was du tust, wirst du das bestimmt selbst hinbekommen.
Alle anderen Leser können ja auch den 433MHz-Sender mit dieser Anleitung erfolgreich an einem anderen GPIO-Pin betreiben.
Klaus
06.01.2016 @ 14:09
Warum immer ich?
Ich kann da eintragen was ich will, er sendet immer auf 0.
output PIN is hardcoded
Und ich weiss was ich tue.
Du kannst mir ja mal ein binary auf 3 codiert zusenden.
Klaus Werner
Daniel Wenzel
02.11.2015 @ 18:46
Was auch immer „endlich“ geklappt hat, es freut uns, geholfen zu haben ;)
KOMsandFriends
02.11.2015 @ 18:43
Endlich! Funktioniert einwandfrei, danke!