Wenn man nach Tutorials für den BananaPI oder auch den Raspberry sucht, stolpert man zwangsläufig über diese 433Mhz Empfänger und Sender für kleines Geld. Was also liegt näher, als das mal auf einem BananaPi nachzubauen? Gesagt, getan und nach einiger Zeit hatten die Chinesen geliefert.
Links der BananaPI, an dem mittels dreier Leitungen der 433Mhz-Empfänger angeschlossen ist. Daneben ein 433Mhz-Sender. Dieser Empfänger wird im Set mit einem Sender geliefert, welcher hier nicht auf dem Bild ist. Der Anschluß gestaltet sich einfach, die Anschlüsse sind auf der Unterseite der Platine beschriftet. VCC - GND - DATA
Wenn es ans Anschließen solcher Komponenten geht, ist ein Bild sehr wichtig. Die PIN-Belegung des BananaPIs.
(c) bananapi.com
- VCC - GPIO CON3 P02 (5V)
- GND - GPIO CON3 P06 (GND)
- DATA - GPIO CON3 P13 (IO-2)
Damit hätten wir den Hardwareteil erledigt. Nun geht es an die Software. Ich setze hier als Betriebssystem ein Bananian ein. Als nächstes brauchen wir wieder eine Entwicklungsumgebung auf dem BananaPI. Dazu folgende Programme installieren.
apt-get install git make gcc libc6-dev g++
Auf dem Raspberry gibt es eine Library zum Schalten und Lesen der GPIOs namens WiringPi. Diese gibt es von lemaker.org auch in einer Version für den BananaPI. Diese laden wir uns jetzt auf den BPI.
git clone https://github.com/LeMaker/WiringBP -b bananapi
Dann in das entsprechende Verzeichnis springen und die Datei build ausführbar machen.
chmod +x ./build
Wenn man diese Datei nun mittels ./build aufruft, bekommt man Fehler in Verbindung mit "sudo". Da wir auf dem Bananian kein "sudo" voranstellen müssen, gibt es sofort eine Fehlermeldung. Da ich das mittlerweile kenne, weiß ich mir auch zu helfen. Die Datei aufrufen:
nano build
Alle "sudo" entfernen, Datei speichern und erneut aufrufen. Nun sollte alles passen. Mit folgendem Befehl kann man sich einen Überblick über die GPIOs verschaffen.
Dann einfach die Datei build aufrufen.
./build
Danach
gpio readall
Nun können wir die GPIOs ansprechen. Wir möchten aber den Sender und Emfänger benutzen, dazu fehlt uns aber noch was. Nennt sich 433Utils. Folgende Befehle in der Konsole eingeben.
git clone https://github.com/ninjablocks/433Utils.git cd 433Utils/RPi_utils make all
Nun haben wir in dem entsprechenden Ordner drei ausführbare Dateien. Das wären
- send
- codesend
- RFSniffer
Als erstes starten wir mal den Sniffer.
./RFSniffer
Folgende Ausgabe erhält man, wenn man nun den Sender betätigt.
Bei euch sollte jetzt ein "Received 12345678" erscheinen. Stört Euch nicht an dem Rest, ich habe schon angefangen mir das Script ein wenig umzubauen. Viel Spaß beim Ausprobieren und wie immer, wer Tipps hat oder etwas besser weiß, haut es in die Kommentare rein ;)
Quellen: