Hallo liebe Leserinnen und Leser,
in diesem kurzen Tutorial zeige ich euch, wie ihr eure Funksteckdosen mit dem Banana Pi schalten könnt. Viele Teile dieses Tutorials verlinken hierbei auf das Tutorial für den Raspberry Pi, da die Vorgehensweise analog ist.
Ich verwende bei diesem Tutorial wieder das OS Bananian, mit Raspbian sollte es analog funktionieren, allerdings muss hier WiringBPi nicht installiert werden, da es dort bereits integriert ist.
1. Hardware
Die benötigten Teile
- Einen Banana Pi
- Einen 433MHz-Sender
- Jumper-Kabel
- Funksteckdosen Elro AB440S oder kompatibel
Zur Verkabelung:
Der Aufbau ist genau so simpel wie mit dem Raspberry Pi. Ich habe euch hier eine entsprechende Grafik für die Verkabelung erstellt:
Die Verkabelung sieht hier analog zum Raspberry Pi-Projekt so aus:
Sender Banana Pi
ANT*
GND GND
DATA #17 (phys. 11)
VCC 3.3V (bzw. 5V)
Bei der Hardware gilt hierbei das Gleiche, wie bei meinem anderen Tutorial (bzgl. Antenne etc.), sodass ich an dieser Stelle darauf verweise.
2. Software
2.1 Installation von WiringBPi
Habt ihr WiringBPi noch nicht auf eurem Banana Pi installiert, solltet ihr das nun machen. Wie die Installation unter Bananian abläuft, habe ich im Tutorial zum DHT11 am Banana Pi bereits beschrieben (Punkt 1).
2.2 Installation von Raspberry-Remote
Wie beim Raspberry Pi nutze ich auch auf dem Banana Pi Raspberry-Remote zum ansteuern der Steckdosen. Dieses könnt ihr wie folgt herunterladen:
1 2 3 4 | sudo apt-get update sudo apt-get upgrade sudo apt-get install git-core git clone git://github.com/xkonni/raspberry-remote.git |
[Update 2.11.2015] Hinweis: Die aktuell auf GitHub erhältliche Version des Webinterfaces von raspberry-remote machte bei mir Probleme, sodass ich auf diese ältere Version zurückgriff. Solltet bei euch die neue Version auch nicht funktionieren, könnt ihr die oben verlinkte, etwas ältere Version versuchen. Läuft die aktuelle Version bei euch, könnt ihr diese natürlich auch verwenden.
Der Rest der Installation verläuft komplett analog zum Raspberry Pi, sodass ich auch hier wieder auf dieses Tutorial verweise.
2.3 Webinterface, Siri-Proxy und Sprachsteuerung über Android
Auch diese Punkte habe ich bereits im angesprochenen Tutorial sowie in diesem Tutorial ausführlich erklärt. Die Vorgehensweise erfolgt hier wieder analog und kann somit komplett auf den Banana Pi angewendet werden.
Ich wünsche euch viel Spaß und Erfolg mit der Umsetzung der Steckdosensteuerung über den Banana Pi!
Bei Fragen, Anregungen und Problemen könnt ihr wie immer das Kommentarfeld unten benutzen.
Hi,
was macht es eigentlich für einen Unterschied, ob der Sender mit 3.3V oder 5V betrieben wird?
Danke!
Hallo Dennis,
die Reichweite sollte mit 5V besser sein, als mit 3.3V.
Hallo Alex! Hast du einen Tipp, wo man den Funksender in Deutschland günstig bekommt? Bei normalen Elektronikversendern wird es wegen der Versandkosten meist recht teuer :-(
Danke+Grüße
Hallo Felix,
ich bestelle die Teile meist direkt in China/Asien, dort kosten sie oft nur 1€ inkl. Versand. Einen Tipp für einen günstigen, deutschen Versender kann ich dir leider nicht geben. Aber vll findest du einen, der versandkostenfrei (oder als Brief) versendet.
http://www.watterott.com/de/RF-Link-Sender-434MHz
oder bei ebay unter „433Mhz RF Sender“ suchen. was ziemlich geil ist weil transmitter und receiver als set gibt. gruß,
ich habe das pro board mit 40 pins. ist dort die belegung anders oder kann ich die schematik übernehmen? gruß
Hi Micha,
finde leider gerade keine Pinbelegung für den Pro, da es aber WiringBPi auch für diesen gibt, kannst du es leicht herausfinden. Am Besten du installierst dir WiringBPi wie im verlinkten Artikel, der Download sollte allerdings über „git clone https://github.com/LeMaker/WiringBP.git -b bananapro“ erfolgen. Über „gpio readall“ kannst du dann sehen, ob GPIO #17 dem physischen Pin 11 zugeordnet wird – wie hier. GND und 5V bzw. 3.3V sollten auf jeden Fall auch bei dem Banana Pro an der gleichen Stelle sein, sodass es höchstens sein kann, dass die GPIO-Nummerierung geändert wurde (wovon ich nicht ausgehe). Soweit ich weiß, wurde das GPIO-Layout vom Pro analog zum Raspberry Pi B+ gemacht, sodass einfach noch ein paar zusätzliche Pins angehängt wurden.
Kannst mir gerne Feedback geben, ob es funktioniert hat ;)
Hey! Danke für das Tut…leider ist die Reichweite recht schlecht bei mir im Vergleich zur Fernbedienung. Ist das normal?
Hallo Jan,
um die Reichweite zu erhöhen kannst du den Sender mit höherer Spannung betreiben (5V statt 3,3V) und/oder eine Antenne an den entsprechenden Pin anbringen. Damit sollte die Reichweite dann recht ordentlich sein.
Hallihallo! Kann man eigentlich jeden 433 MHz Sender verwenden oder gehen da nur bestimmte Modelle? Würde nämlich gerne in einem Ladengeschäft einen kaufen und weiß nicht, ob die genau den dann haben.
Hallo Steven,
solange die Frequenz stimmt und amplitudenmoduliert (AM) gesendet wird, sollte es eigentlich passen. Ich würde noch auf die Pins achten und mit welcher Spannung der Sender arbeitet. Erfahrungen mit anderen Sendern habe ich allerdings bisher keine.
Hi! Funktionieren Aufbau und Software auch beim Banana Pi 2 genauso? Möchte mir dieses Modell anschaffen und damit u.a. auch meine Funksteckdosen steuern.
Moin Jan,
ich habe den M2 leider nicht, da es aber scheinbar (noch) kein WiringPi gibt, dürfte Raspberry-Remote nicht funktionieren.
Moin.
gibt es auch ähnliche Tutorials für einen BananaPi mit (L)Ubuntu?
Ich bekomme beim ausführen von „make send“ immer folgenden Fehler und vermute durch die unterschiedlichen Distributionen müssten noch einige Dinge angepasst werden.
[email protected]:~/raspberry-remote$ make send -lwiringPiDev
g++ RCSwitch.o send.o -o send -Wall -lwiringPi
/usr/lib/gcc/arm-linux-gnueabihf/4.8/../../../../lib/libwiringPi.so: Nicht definierter Verweis auf
pthread_create'
pthread_cancel‘/usr/lib/gcc/arm-linux-gnueabihf/4.8/../../../../lib/libwiringPi.so: Nicht definierter Verweis auf
/usr/lib/gcc/arm-linux-gnueabihf/4.8/../../../../lib/libwiringPi.so: Nicht definierter Verweis auf `pthread_join‘
collect2: error: ld returned 1 exit status
make: *** [send] Fehler 1
Konnte es jetzt selbst lösen.
Im „Makefile“ musste noch die Zeile „CXXFLAGS += -lpthread“ ergänzt werden.
Trotzdem danke für das gute Tutorial!
Hallo Tom,
danke für das hilfreiche Feedback!
Hallo Alex,
beim schlägt leider Punkt „make send“ fehl mit folgendem Ergebnis:
[email protected]:~/raspberry-remote# make send
g++ RCSwitch.o send.o -o send -Wall -lwiringPiDev
RCSwitch.o: In function
RCSwitch::enableTransmit(int)':
pinMode‘RCSwitch.cpp:(.text+0x134): undefined reference to
RCSwitch.o: In function
RCSwitch::transmit(int, int)':
digitalWrite‘RCSwitch.cpp:(.text+0x99a): undefined reference to
RCSwitch.cpp:(.text+0x9a4): undefined reference to
delayMicroseconds'
digitalWrite‘RCSwitch.cpp:(.text+0x9c4): undefined reference to
RCSwitch.cpp:(.text+0x9ce): undefined reference to
delayMicroseconds'
multipleSwitch(int, char**)‘:send.o: In function
send.cpp:(.text+0xd2): undefined reference to
wiringPiSetup'
piHiPri‘send.cpp:(.text+0xee): undefined reference to
send.o: In function
main':
wiringPiSetup‘send.cpp:(.text+0x3a8): undefined reference to
send.cpp:(.text+0x3c4): undefined reference to `piHiPri‘
collect2: error: ld returned 1 exit status
make: *** [send] Error 1
Da ich mich nahezu gar nicht mit Linux auskenne und das meine ersten Gehversuche sind hoffe ich dass Du mir helfen kannst. Ich habe einen normalen BananaPI.
Hi Patrick,
das sieht für mich so aus, als hättest du „-lwiringPi“ vergessen beim Befehl – daher könnten die Fehler kommen.
Hallo,
ich habe die WiringBP für den Pro installiert und anschließend die Pin-Stecker 1:1 vom Raspberry 3 auf den BananaPro rübergepackt. Den Pin habe ich in der Send.cpp von pin = 0 auf pin = 6 geändert, weil es am Raspberry auch an Pin 22 (entspr. WiringPi Pin 6) geschaltet war.
Das Z_Wave-Modul vom Raspberry auf den Banana Pro umgestellt funktioniert einwandfrei, nur die 433 MHz Sendeeinheit schaltet nicht mehr.
Spannung liegt an, keine Kurzschlüsse… Bin am Ende mit meinem Latein.
Habe sogar die send.cpp schon mit allen Pins von 1 -30 durchprobiert, „make“ ausgeführt und dann jeweils per Send versucht, den Sender anzusteuern. Kein Ergebnis, das LIcht bleibt dunkel.
Die gpio readall gibt mir nur 26 Pins aus, aber meine Belegung liegt in den ersten 26 drin.
Für sachdienliche Hinweise bin ich seeehr dankbar.
Gruß
Caruso