Der ein oder andere wird sich die Frage schon einmal gestellt haben, wie man zwei Raspberry Pi’s ohne Internetverbindung drahtlos miteinander kommunizieren lassen kann. Zu diesem Zwecke sind kleine 433MHz Funk Module, welche bereits für wenige Euro erhältlich sind, ideal.
Daher möchte ich in diesem Tutorial zeigen, wie man zwei (oder mehrere) Pi’s miteinander sprechen lassen kann. Aber keine Sorge, solltest du zur Zeit erst ein Raspberry Pi besitzen, kannst du es auch ausführen.
Zubehör
- 2 Raspberry Pi’s (zur Not geht auch eines)
- 433 MHz Sender-Empänger Set (falls beide Pi’s senden und empfangen sollen brauchst du 2 Sets)
- Female – Female Jumper Kabel
- Breadboard (oder ähnliches)
Zusammenbau
Das Set besteht aus einem Sender (quadratisch, 3 Pins) und einem Empfänger (4 Pins). Beide sind sehr klein und sind daher auch optimal für andere Zwecke geeignet. Das Empfänger Modul hat in der Mitte zwei Data Pins, wovon wir aber lediglich einen brauchen.
RaspberryPi | Sender | Empfänger |
---|---|---|
Pin 2 (5V) | VCC | VCC |
Pin 6 (GND) | GND | GND |
Pin 11 (GPIO17) – RPi Nr.1 | ATAD | —- |
Pin 13 (GPIO27) – RPi Nr.2 | —- | DATA (links neben GND) |
Hast du nur ein Raspberry bzw. möchtest du, dass beide Pis senden und empfangen können, schließe Sender und Empfänger an.
Vorbereitung
Bevor wir die eigentliche Software testen, brauchen wir ein paar Bibliotheken. Dies muss auf allen Pi’s installiert werden, die kommunizieren sollen.
Als allererstes wird wiringPi benötigt. Hast du dies bereits vorher installiert, kannst du zur nächsten Installation springen (falls der Befehl gpio -v
ein Ergebnis liefert, ist es installiert).
Als erstes aktualisieren wir die Pakete. Dies kann einige Minuten dauern.
sudo apt-get install git-core sudo apt-get update sudo apt-get upgrade
Anschließend clonen wir wiringPi (git muss installiert sein) und installieren es.
git clone git://git.drogon.net/wiringPi && cd wiringPi &&./build
Nun sollte gpio readall
die Pinbelegung anzeigen.
Jetzt brauchen wir noch eine Bibliothek, die es uns einfach ermöglicht unsere Daten über den Sender zu verschicken und über das Empfängermodul zu empfangen.
git clone https://github.com/ninjablocks/433Utils.git --recursive
Diese Bibliothek enthält sowohl für das Arduino, also auch für den Pi entsprechende Skripte. Wir wechseln nun in den Ordner mit den Skripten für das Raspberry Pi und kompilieren diese,
cd 433Utils/RPi_utils make all
Testen
Nun ist es an der Zeit zu testen. Dazu aktivieren wir als erstes den Empfänger. Stelle sicher, dass du im Ordner 433Utils/RPi_utils bist.
sudo ./RFSniffer
Sobald nun ein Code gesendet wird, wird es hier angezeigt.
Als nächstes wollen wir senden. Dazu gehen wir an das andere Raspberry und führen folgendes aus (wenn du nur ein Pi hast, öffne einfach ein zweites Shell Fenster, z.B. mittels Putty, Beschreibung dazu hier).
sudo ./codesend 1234
Die versendete Nummer kannst du dabei selbst eingeben. Durch ASCII Zahlen, lässt sich bspw. so ein Text verschicken.
Viel Spaß beim ausprobieren.
165 Kommentare
Für mich wäre es Interessant zwei Projekte von dir miteinander zu verbinden: Zum einen die Ultraschall Abstandsmessung und das aber über den Funkkanal. Die Anwendung ist simpel: Ich möchte den Füllstande der Zisterne draußen messen, aber nicht unbedingt den Pi da reinhängen.
Aus deiner Erfahrung: Würden sich die Projekte kombinieren lassen?
(Also den Ultraschall Sensor mit einem Funkmodul kombinieren)
Meine Bedenken: Natürlich ist die Laufzeit für das Ping dann um den Übertragungsweg erheblich länger aber der Offset sollte doch releativ konstant sein…?!
Möglich ist es, nur ohne Mikrocontroller wird das recht schwer, denke ich (je nachdem wie viel Vorwissen du hast). Die einfachste Lösung ist meiner Meinung nach den Pi als „Hauptstation“ zu verwenden und mit kleinen Arduinos per Funk reden zu lassen. Der Arduino kann dann bspw. alle Daten auslesen und an den Pi schicken. Ich habe so etwas selbst schon mit zwei Arduinos gebaut und will, sobald ich mehr Zeit finde, darüber auch ein Tutorial schreiben.
Genau sowas habe ich auch vor.
Ich habe es mittlerweile geschafft das ich mit einem Arduino über 433 Mhz die Daten eines Temperatursensor DS18B20 versende und sie im RCSniffer im Raspberry Pi angezeigt bekomme.
Das gleiche will ich auch mit den Ultraschall Sensoren machen um die Füllstande der Zisterne zu überwachen.
Ich habe jetzt das Problem die angezeigten Daten des RCSniffters zu bekommen, bzw. auszulesen um sie anzupassen und später in einer Datenbank zu speichern.
Kann mir hier einer weiter helfen? Wie kann ich diese Daten in eine Variable bekommen?
ich lasse die Ausgaben in der Shell mit sudo ./RFSniffer >> sniffer.log in die Datei sniffer.log schreiben. Die Datei öffe ich mit Python und hole mir die Werte.
Im Quellcode RFSniffer.ccp kann man die Ausgabe so ändern, dass ein Zeitstempel mit gesendet
printf(„Received %in“, mySwitch.getReceivedValue() );
wird. Ich werde mir das die nächsten Tage ansehen. Dann make und es sollte fertig sein.
Vielleicht auch nur eine begrenzte Anzahl von Durchläufen …while(1)… müsste dann angepasst werden und dann den Sniffer neu starten und eine neue Logdatei anlegen, damit es nicht so riesige Dateien gibt. Hab lange kein C mehr gemacht, wird etwas dauern.
Hat jetzt doch nicht so lange gedauert. Ich habe RCSniffer.ccp so geändert, dass nur noch ein Datenpaket empfangen wird. Dazu RCFSniffer z.B. mit Nano öffnen und unter der Zeile
int PIN = 2;
int empfang = 0;
einfügen. (Bei PIN = kann übrigens der verwendete Interrupt geändert werden, nur so nebenbei) Hier dann die Zeile mit
while (1)
in
while (empfang > daten.dat‘)
Dein Pythonprogramm sollte im RPi_utils-Ordner gestartet werden. Andernfalls noch den Pfad hinzufügen.
programmpfad = ‚/home/pi/meinverzeichnis/sudo RSFniffer‘
datenpfad =‘ > /home/pi/meindatenverzeichnis/daten.dat‘
befehl = programmpfad+datenpfad
os.system(befehl)
angepasste RFSniffer.cpp
/*
RFSniffer
Usage: ./RFSniffer []
[] = optional
Hacked from http://code.google.com/p/rc-switch/
by @justy to provide a handy RF code sniffer
Modified by Gerhard 3/ 2019,
receives only one frame and output it
}
*/
#include „../rc-switch/RCSwitch.h“
#include
#include
#include
RCSwitch mySwitch;
int main(int argc, char *argv[]) {
// This pin is not the first pin on the RPi GPIO header!
// Consult https://projects.drogon.net/raspberry-pi/wiringpi/pins/
// for more information.
// Modification
}
// Original physical pin 13, which is wiringpi 2
// This version pin 36, which is wiringpi 27
// see gpio readall for overview
int PIN = 27;
int empfang = 0; //did we have received a frame?
if(wiringPiSetup() == -1) {
printf(„wiringPiSetup failed, exiting…“);
return 0;
}
int pulseLength = 0;
if (argv[1] != NULL) pulseLength = atoi(argv[1]);
mySwitch = RCSwitch();
if (pulseLength != 0) mySwitch.setPulseLength(pulseLength);
mySwitch.enableReceive(PIN);
while(empfang < 1) { //waiting for frame
if (mySwitch.available()) {
int value = mySwitch.getReceivedValue();
if (value == 0) {
printf("Unknown encodingn");
} else {
printf("receivedonpin_36 %in", mySwitch.getReceivedValue() ); //print reveived frame
empfang = 1; //frame received
}
fflush(stdout);
mySwitch.resetAvailable();
}
usleep(1);
}
exit(0);
}
}
Hört sich spannend an, dann bleibe ich mal am Ball. Danke!
Das klingt äußerst interessant. Gerade im Bereich der Heimautomation wäre es interessant, ob sich z.B. Bewegungsmelder und Temeperatursensor mit dem Pi über den 433mhz Sender verbinden lassen? Kann man da einen Arduino Mini Pro zwischenlöten? Also zwischen Sensor und Sender?
Na klar, das ist auch mMn. die sinnvollste Lösung: Du schließt alle Module an einen Arduino an und versendest die Werte über Funk.
Hallo Felix,,
bei mir läuft so weit alles, vielen Dank an dieser Stelle.
Mein Problem das Auslesen des Funkverkehrs mit dem Befehl ./RFSniffer
Starte ich diesen, erhalte ich keine Fehler ab der es kommen keinerlei Meldungen. Der Bildschirm
( putty ) bleibt schawarz 🙁
Wie kann ich überprüfen, dass dieser korrekt arbeitet ?
GPIO 17 steht bei mir auf
| 0 | 17 | 11 | GPIO 0 | OUT | Low |
und GPIO 27 auf
| 2 | 27 | 13 | GPIO 2 | ALT4 | Low |
müsste der nicht auf IN stehen und wenn ja, wie kann ich den GPIO dahin gehend setzen ?
Weißt Du Rat ?
Gruß Achim
Die GPIOs sollten vom kompilierten cpp Programm gesteuert werden. Das hast du vor dem kompilieren nicht geändert oder?
Hast du Funkfernbedienungen zuhause? Damit könntest du mal testen, ob er evtl. andere Signale erkennt. Ich habe ein paar Empfänger Module ausprobiert und sie empfiengen Signale verschieden gut (generische Signale wurden von einem Modul z.B. gar nicht erkannt).
Hallo,
Meine Frage ist, ob es nicht so eine Art Chat mit grafischer Oberfläche gibt.
Bzw. währe es sehr schwer? (Bin zwar technisch fit aber mit Programmieren am Pi bin ich noch nicht sehr vertraut)
Gruß Franz
Einen reinen Konsolen Chat oder eine GUI? Für einen Anfänger, denke ich, ist das nicht so einfach. Das hängt natürlich immer vom Vorwissen und der Lernfähigkeit/Begeisterung ab. Grundsätzlich finde ich es aber immer gut, dass man größere Projekte vor Augen hat. Versuch doch z.B. die einzelnen Komponenten, die du benötigst zu programmieren, um besser rein zu kommen. Eine GUI ist mit Python nicht schwer und ein Chat ist mittels Funk und diesem Tutorial sollte meiner Meinung nach auch nicht schwer sein:
Als Inspiration: A sendet – B empfängt – B schickt Bestätigung – A empfängt Bestätigung und weiß, dass es ankam. Kommt keine Bestätigung von B so schickt A erneut, bis eine Bestätigung kam. Am besten mit einer ID, sodass falls eine Nachricht bei B doppelt ankommt, B diese ignoriert und nur die Bestätigung sendet. So ungefähr würde ich es aufbauen.
Hallo zusammen,
Ich habe eine kurze Frage. Das Raspberry Pi hat doch IOs, welche mit 3.3V arbeiten. Das Empfängermodul arbeitet aber mit 5V und hat somit einen 5V Ausgang. Kann ich das wirklich direkt an ein IO-Pin des Raspberry Pi anschliessen? Hat das jemand schon so gemacht? Was sind die Erfahrungen (negativ wie positiv)?
Schon mal vielen Dank für Eure Unterstützung.
Viele Grüsse, Stefan
Hi Stefan,
auf dem Modul befinden sich eingebaute Widerstände, daher ist es kein Problem. Du kannst ja mal die Spannung an den ausgehenden Pins des Moduls messen. Ansonsten hast du recht: Es sollte niemals eine 5V (oder höhere) Spannung an einen GPIO ohne Widerstand angeschlossen werden.
Prinzipiell sind auch alle Tutorials auf dieser Seite getestet.
LG Felix
Die gleiche Frage hat sich mir auch gestellt,gut das sie hier geklärt wurde
Dieses Empfangsmodul sollte mit 3.3V betrieben werden.
Bei 5V empfange ich irgendwelchen Quatsch ohne was zu senden !
Das Problem ist aber, dass der Ausgangs OPV (LM358) kein Rail to Rail ist und somit kommen dort nur ca. 3V als High Pegel raus .
Ic hhabe diesen nun gegen einen Rail to Rail ersetz und nunn sehe ic hdort auch 3.3V am Ausgang
sorry hatte mich vertippt : richtig ist
„Das Problem ist aber, dass der Ausgangs OPV (LM358) kein Rail to Rail ist und somit kommen dort nur ca. 2V als High Pegel raus .“
Hi Felix,
vielen Dank für dein Tutorial 🙂
Ich habe die Übertragung zwischen meinem Sender und Empfänger mit ./codesend 1234 hinbekommen, aber meine Fernbedienung wird noch komplett ignoriert.
Ich habe eine CASAcontrol Fernbedienung ( http://www.pearl.de/a-NX5123-3100.shtml ). Hinten drauf steht Frequenz: 433.92 MHz, ist das 0.92 MHz vielleicht „zu viel“? 😀
Hast du eine Idee woran es liegen könnte?
Danke und Liebe Grüße
Kevin
Ich hatte ein ähnliches Problem mit meiner Funksteckdosen Fernbedienung, diese hat nämlich einen generischen, sich ändernden Code gesendet und keinen statischen. Es gibt allerdings auch andere, etwas teurere Receiver (super-regenerative), aber damit habe ich es noch nicht getestet.
Ah okay, ja vermutlich brauche ich einen anderen Receiver.
Ich habe mal testweise einfach mal in einer Schleife den Status von meinem GPIO Inputpin ausgegeben und der steht einfach immer auf 0, egal wie ich auf der Fernbedieung herumdrücke. Über das Sendemodul rauschen die Einsen aber durch ^^
Also an der Software, die du her vorgestellt hast liegt es dann nicht ^^
Ich habe mir jetzt 3 Funksteckdosen für knapp über 10 Euro von Brennenstuhl gekauft, diese hier http://www.amazon.de/gp/product/B001AX8QUM und das funktioniert super 🙂
Was mir aufgefallen ist: Wenn ich die Funksteckdose anders herum in die Steckdose stecke, dann kommt nach so 5 bis 10 Sekunden einmal kurz Strom durch (ich bin kein Elektronikexperte :D), auch wenn sie ausgeschaltet ist.
Wenn ich meinen Raspberry an die Funksteckdose anschließe und er dann nach 5 bis 10 Sekunden einmal ganz kurz an geht, dann muss ich die Funksteckdose anders herum einstecken, dann ist alles bestens. Bei einer Lampe passiert nichts, da ist der strom wahrscheinlich zu gering
Hallo Felix,
ich habe mir wie Kevin ein 3er Set 433MHz Funksteckdosen von Brennenstuhl gekauft und der Aufbau klappt super. Sogar ohne Antenne über ein paar Meter. Da fallen mir einige praktische Anwendungen ein. Mit Antenne kann ich sicher die Terrassenbeleuchtung vom Raspberry PI aus schalten ( die hängt auch an einem 433MHz Empfänger). Vielen Dank für das kleine aber feine Tutorial.
Viele Grüße
Michael
p.s. habe es zur Sicherheit trotzdem an die 3.3V angeschlossen. Scheint auch zu gehen.
Hi,
danke für das gute Tutorial. Senden und Empfangen von beiden Geräten am selben Raspberry funktioniert (wenige cm Abstand). Empfangen von Signalen einer Fernbedienung (Steckdosen 5-fach) klappt auch und ich konnte alle 10 Signale problemlos auslesen. Wenn ich die selben Signale wieder sende reagiert zwar der Empfänger, aber eine 2m entfernte Steckdose reagiert überhaupt nicht. Ich habe jetzt schon eine kleine Antenne (34cm, davon 17cm als Koax isoliert und 17cm nicht isoliert) an den Antennenanschluss gehängt, aber das hilft bislang nicht. Hat jemand einen Tipp, wie ich auch zur Steckdose durchdringe? Auf die Fernbedienung die dabei war reagiert die Steckdose auf mehrere Meter Entfernung problemlos.
Gruss,
Wolfgang
Selbst wenn ich die Steckdose auf 2cm an den Sender heranbringe reagiert die Steckdose nicht, der ebenfalls 2cm entfernte Empfänger aber schon.
Wenn ich mit dem Raspberry den gleichen Code sende wie die Fernbedienung müsste es aber doch eigentlich klappen, oder? Gibt es noch weitere Parameter zu beachten?
Hallo,
bei mir ist es genauso. Ich habe erfolgreich die Codes einer Fernbedienung (für LED Spots im Terrassendach) eingelesen. Wenn ich diese sende, kommen die Codes auch im Empfängermodul an (ich sehe sie dann beim Sniffen), aber die Beleuchtung reagiert nicht, selbst wenn der Pi direkt neben dem Empfänger der Beleuchtung ist. Gibt es dafür schon eine Erklärung / Lösung?
Hat jeman eine Empfehlung für einen 230 V Einbauschalter ? Ich würde gern mein normale Zimmerbeleuchtung über den PI schalten.
Das ist sicherlich möglich, aber da solltest du/man nur mit entsprechendem Hintegrundwissen ran. Außerdem könnte das bei Mietswohnungen ggf. Probleme mit dem Vermieter geben.
Ich kann dir leider keinen EInbauschalter empfehlen, da ich noch keinen benutzt habe, aber falls das dir auch hilft:
Funksteckdosen (433MHz) mit dem Raspberry Pi steuern
LG Felix
Schaue mal im Web nach Shelly Aktoren sprich Schalter da gibs so einige mit denen man dann Lasten schalten kann. Die sollen sogar hinter dem normalem Schalter passen in die Dose.
Danke für die gute Anleitung!
Bei mir hat es funktioniert, doch nach ca 5 x ein- und ausschalten über den RPi sind die Funksteckdosen leblos. Leider alle drei Stück, die an einerm 4 fach Sender hängen. Ich habe einen Sender mit A, B, C und D für vier Funksteckdosen. Die Pins 1-5 definieren die Sender-Empfänger Beziehung und A-D die Dosen.
Habt ihr eine Idee, warum auf einmal nichts mehr geht? Der originale Sender kann auch nicht mehr schalten, er sendet aber, wie mir der RFSniffer bestätigt.
Danke
Markus
Hi Markus,
benutzt du die selben Steckdosen wie ich? Hast du mal versucht den Code zu wechseln oder auch eine andere (Wand)Steckdose versucht?
LG Felix
Hallo Felix,
danke für die Tips. Habe Codes geändert und wieder den alten Code eingestellt. Nun geht wieder alles. Warum das geholfen hat kann ich nicht so ganz nachvollziehen, ist mir auch egal. Wichtig ist, dass es nun funzt – danke nochmal.
lg, Markus
Vielen Dank für dieses Tutorial. Wie kann ich die GPIO-Belegung ändern? Die Pins 11 und 13 sind bei mir schon belegt. Ich würde gerne die GPIOs 4 und 22 nutzen.
Hallo Thomas,
dazu musst du die .cpp Dateien editieren (
sudo nano RFSniffer.cpp
bzw.sudo nano codesend.cpp
) und dann neu kompilieren (make all
). Aber Achtung, es muss die WiringPi Belegung verwendet werden.LG Felix
Funktioniert RFSniffer mit aktuellen Raspberry-Linux-Versionen?
Hintergund meiner Frage: Ich hatte die 433MHz-Utils schon vor längerer Zeit erfolgreich verwendet und mit RFSniffer auch Codes rausgefunden. Seither verwende ich immer nur den Sender.
Vor zirka zwei Monaten wollte ich Codes von neuen Funkschaltern rausfinden und musste feststellen, dass RFSniffer nicht (mehr) funktioniert. Zeigt auch keine Codes von Schaltern die er früher sicher schon gezeigt hat…..
Habe es auch schon mit einem anderen Empfänger-Modul erfolglos probiert…
Meine Befürchtung ist, dass es mit dem Kernel-Update und den neuen Device-Trees zusammenhängt. Aber da kenne ich mich nicht aus und leider habe ich kein altes Wheezy-Image mehr, damit ich es damit testen könnte ….
FRAGE:
Hat jemand von Euch RFSniffer mit einer aktuellen Raspbian Wheezy-Version in Einsatz?
Bei mir funkt RFSniffer NICHT auf folgender Version:
cat /etc/os-release
VERSION=“7 (wheezy)“
uname -a
Linux raspberry2 3.18.11+ #781 PREEMPT Tue Apr 21 18:02:18 BST 2015 armv6l GNU/Linux
Danke im Voraus für Rückmeldungen!
Hi,
danke für das Tutorial, senden und empfangen klappte auf Anhieb. Nur empfange ich den gesendeten Code immer 3 – 4 Mal. Gibt’s eine Lösung für dieses Problem? Ich könnte es zwar anders lösen, indem ich immer die nächsten paar Codes überprüfe und nur den ersten nehmen, falls die identisch sind. Das ist aber eher unschön…
Grüße
chris
Hi Chris,
Hotfix Idee: erstelle zwei globale Variablen, die den letzen empfangenen Code und die Uhrzeit speichern. Wenn der neu empfangene Code der selbe wie der gespeicherte ist, betrachtest du die Zeitdifferenz und erst ab einem gewissen Delta wird der Code als „neu“ betrachtet.
LG Felix
Hallo, ich hätte hier mal ein Problem 🙁
4 3 3 MHz funkklingel. REINIGER funktioniert, nur wenn ich Taster drücke erscheint die Frequenz 7 mal. Wenn ich jetzt mit send die Frequenz eingebe läutet aber nicht die klingel. Auch wenn ich die Frequenz 7 mal eingebe und mit && voneinander trenne passiert nichts. Warum?
Hast du den Code der Klingel selbst eingegeben oder ist ein generischer Code?
Hi Florian
Hast du das Programm send oder codesend verwendet?
Ich hatte bei meinen ersten Versuchen auch send benutzt. Das macht bei mir gar nicht. (Muss mal in Code schauen wofür das gut ist.)
codesend hingegen macht genau was es soll. Ich schalte allerdings auch nur Funksteckdosen damit.
Hallo,
Der Link zum Set geht nicht bzw. der Artikel ist nicht verfügbar bei Amazon
Auf eBay habe ich „433 Mhz Sender Empfänger Komplett-Set“ gefunden, welches auch über eine extra Antenne und Kabel verfügt.
http://www.ebay.de/itm/433-Mhz-Sender-Empfanger-Komplett-Set-Raspberry-Pi-Arduino-Modul-Funkmodul-/252173116454
Sind das hier die Komponenten, die ich brauche?
Und wie befestigt man die Antenne?
Hallo Jan,
die Antenne wird beim Sender oben rechts in dem Loch ANT angelötet.
Bei dem Empfänger müsste es die Lötöse unten links neben dem gewickeltem Draht sein.
Dein Set ist recht teuer. Such bei Ebay mal weiter. Da findest du günstigere Angebote:
http://www.ebay.de/itm/5pcs-433Mhz-RF-Transmitter-and-Receiver-Kits-for-Arduino-ARM-MC-U-Remote-Control-/291649314470?hash=item43e7a75ea6:g:RBAAAOSw3ydV5WrX
Ist zwar aus China und hat lange Lieferzeit, aber du bekommst für die Hälfte 5 Sets.
Nach langem Suchen habe ich es schlussendlich gefunden. Hier habe ich ein günstiges 433 Mhz Set gefunden, sowohl mit Antenne, als auch Sender und Empfänger und Kabel, für alle, die durchstarten wollen:
http://www.ebay.de/itm/433-Mhz-Sender-Empfanger-Komplett-Set-Raspberry-Pi-Arduino-Modul-Funkmodul-/252713874872
Lieferung aus Deutschland.
Heyy,
ich wollte ein Projekt mit einer 433mhz Fernbedienung, das selbe Modell wie aus dem Artikel der Funksteckdosen, realisieren und habe nun das Problem, dass ich, wenn ich das Programm RFSniffer starten möchte und dann einen Knopf auf der Fernbedingung drücke, keine Meldung auf dem RasPi erhalte. Vielleicht habe ich ja etwas falsch installiert: (RasPi 2 Modell B) VCC = Pin2 (5v), GND = Pin6 (Erdung, Ground), DATA (Nur der neben dem VCC Pin) = Pin13 (GPIO27). Wenn jemand weiß, was ich da falsch gemacht haben könnte oder sonst noch Details braucht einfach Melden!
Danke im Voraus <3
MfG
Linus
Unter diesem Link findet ihr meine Schaltung!
Da, wo die drei Kabel hin verlaufen, soll der 433mhz Sender sein!:
http://wp.me/a71kRZ-U
Deine Schaltung ist korrekt, ebenso der Code. Du könntest ggf. den GPIO27 an den anderen Daten Pin des Empfängers anschließen und testen.
Ansonsten würde mich dein Sender interessieren. Hat deine Fernbedienung einen einstellbaren Code? Falls du vom Raspberry Pi sendest, kann es sein, dass der Abstand zu gering ist, wovon ich aber davon weniger ausgehe.
Ich habe 3 Brennenstuhl Steckdosen und einen 433 MhZ Sender an den RasPi angeschlossen. Funktioniert leider nicht. Wie kann ich feststellen, dass der Sender richtig funktioniert?
Wenn du die Brennenstuhl Steckdosen hast, kannst du ja mal den selben Code wie ich im Tutorial verwendet habe versuchen. Dieser sollte identisch sein, sonst wurde er ggf. nicht richtig auslesen?
Hallo Felix,
ich nutze nur den Sender und will damit Brennenstuhl Steckdosen ein- und ausschalten. Ich habe deinen Code benutzt – die Steckdosen reagieren aber nicht. Wie kann ich am einfachsten testen, dass der Sender überhaupt funktioniert? Wenn ich über codesend etwas sende, kommt bei ./RFSniffer nichts an. Brauche ich dafür einen physischen 433 mhz empfänger?
Du hast also den Code gar nicht mit einem Empfänger ausgelesen? Es ist nur eine Vermutung, dass die Codes gleich sind, mit Sicherheit kann ich das aber nicht sagen, da ich nur ein Set da habe. Natürlich brauchst du einen physischen Empfänger, um etwas über den RFSniffer empfangen zu können.
LG Felix
Hallo Felix,
ich habe nun einen Empfänger angeschlossen. Er empfängt die Daten der Brennenstuhl Fernbedienung. Ich denke, dass der Sender eine Macke hat und werde mitr einen neuen besorgen. Danke für deine Unterstützung.
Gibt es eine Möglichkeit das man den PI wenn er eine gewisse Nachricht oder ein gewisses Singal empfängt ein Python Script ausführen lässt ?
Ja, schau mal hier, da wird erklärt wie es geht: http://stackoverflow.com/questions/49137/calling-python-from-a-c-program-for-distribution
Hi!
Cooles Projekt. Möchte mich auch mit dem 433MHz-Funk beschäftigen.
Habt ihr den Pi433, den es gerade bei Kickstarter gibt, schon gesehen:
https://www.kickstarter.com/projects/1292669042/pi433-a-radio-module-funkmodul-for-raspberry-pi
Was haltet ihr davon? Überlege, da mitzumachen. Kostet zwar etwas mehr, dafür habe ich aber nur ein Modul – und das ist nicht über fliegende Drähte am Pi angeschlossen, sondern steckt fest darauf.
Das Modul scheint mir technisch moderner und scheint auch über erheblich mehr Features/Optionen zu verfügen.
Freue mich auf eure Meinung!
Pi-Fan
Ich habe es mir gerade angesehen und muss ehrlich sagen, dass ich davon nicht überzeugt bin. Ein Set aus Sender und Empfänger kostet keine 5€ und jegliche Software ist frei zugänglich. Den einzigen Vorteil, den ich darin sehe, ist dass es zusammengelötet ist, was nicht zwangsweise ein Vorteil ist, da damit auch der Zugang zu anderen nicht benutzten Pins versperrt wird. Selbst als Anfänger kann man sich so etwas zusammen bauen und lernt ggf. gleichzeitig noch besser zu löten.
Als Bastler würde ich mir das nicht holen (wo bleibt da der Spaß 🙂 ), aber es ist natürlich deine Entscheidung.
Hallo,
tolles Projekt und hat mir sehr geholfen.
Kannst du mir vielleicht noch bei zwei kleinen Sachen helfen?
1. Wenn ich zb: “ ./codesend 2 “ eingeben kommt es beim „./RFSniffer“ immer 4 mal an also
2
2
2
2
wie kann ich das verhindern?
2. Kannst du mir kurz erklären wie man ASCII verschickt. 🙂
Vielen Dank schon mal im Voraus.
Du könntest nach dem Empfang ein paar Millisekunden pausieren und in dieser Zeit nicht „zuhören“.
ASCII: Einfach die Ascii-Nummer verschicken und nach dem Empfang wieder in Buchstaben umwandeln.
Hallo Felix,
schöne, knappe Anleitung, danke.
Zwei Fragen:
– Kann man mit den Modulen auf bi-direktional arbeiten bzw. kannst du sagen, wie du sowas realisieren würdest?
– Kann man deinen Sniffer auch auf nur einen Sender konfigurieren, oder liest er immer alles, was er gerade in der Nähe hört?
Danke dir!
Hallo Basti,
beides ist möglich: Eine bidirektionale Verbindung würde ich z.B. ähnlich dem TCP/IP Protokoll aufbauen. Wenn dir das zu kompliziert ist, kannst du auch einfach mehrfach den selben Code senden. Der Vorteil des Protokolls liegt darin, dass sicher ist, dass die Nachricht auch ankam. Allerdings ist es einiges an Aufwand so etwas zu schreiben. Ich habe so etwas schon länger vor (speziell um Arduinos und Pi’s zusammen kommuniziieren zu lasen), aber hatte noch keine Zeit dafür.
Der zweite Punkt bezieht sich auch auf den ersten: Um nicht alle Signale auszuwerten würde ich einen fixen Code setzen, z.B. an die ersten 3 oder 4 Ziffern der Zahl, welche du sendest. In diesem Fall kannst du alle anderen Signale, welche nicht mit dieser Zahl beginnen, einfach ignorieren.
LG Felix
Hallo,
ich möchte das nach dem Empfang der Daten eine URL aufgerufen wird um die Meldung an mein OpenHab System weiter zureichen. Dafür müsste ich doch eigentlich in der RFSniffer.cpp den Bereich
printf("Received %in", mySwitch.getReceivedValue() );
durch den Aufruf der URL ersetzen, oder? AlsoShellExecute(NULL, "open", "http://meine-url.de", NULL, NULL, SW_SHOW);
davor natürlich noch ein #include am Anfang. Er muss also nur die URL aufrufen und mehr nicht…. Sie muss also nicht angezeigt werden oder so.
Danke und Gruß
Torsten
Hallo Torsten,
ja das sollte so funktionieren. Ich bin mir bei den Parametern von
ShellExecute
gerade nicht mehr sicher, aber wenn du dich nachgeschaut hast, dann sollte dass passen 🙂LG Felix
Moin moin,
super Anleitung! Kurz und knackig!
Hab bei meinem Sender leider Probleme. Der Empfänger funktioniert 1A. Konnte ich auch mittels einer Funkfernbedienung testen. Nur leider kommt beim sudo ./codesend 123 Kommando nichts an. Irgend welche Ideen warum das so ist? (Habe Sender und Empfänger an einem PI, was jedoch meiner Meinung nach nicht das Problem darstellen sollte).
Ich hatte hin und wieder das selbe Problem, als ich Sender und Empfänger an einem Pi hatte (zwei Konsolen), konnte aber nicht abschließend feststellen, woran es lag. Folgendes kannst du ausprobieren: Ersteinmal würde ich den Abstand von Sender/Empfänger erhöhen (~50cm). Wenn du einen zweiten Pi hast, versuche dort zu empfangen (alternativ ist ein Arduino auch möglich). Wenn deine Fernbedienung etwas aktiviert (Garagentor, Hifi Anlage, etc.) empfange den Code und sende diesen mit dem Pi: Wenn dein Gerät schaltet, weißt du, dass der Code richtig versendet wurde.
TOP! Hat geklappt! Es lag wohl an der kurzen Entfernung. Besten Dank für die schnelle und Kompetente Hilfe!
Guten Morgen zusammen,
mein Problem ist ich habe einen Raspberry Pi 2 Model B
mit Raspbian GNU/Linux 8 (jessie) installiert.
ich habe einen Funkempfänger mit 433MHz (Billigmodul aus dem Internet) installiert, VCC auf 5V (2), GRD auf GRD (6) und Date auf GIPO27 (13).
nach Ausführung von sudo ./RFSniffer passiert nichts keine Fehlermeldung
kein Empfang einfach nichts.
Ich bin gerade dabei auf Basis eines Ardoino uno ein sensorpacket zu bauen.
Am Ardoino habe ich das Empfänger Modul getestet da empfange ich jede Menge Signale das Modul scheint also zu funktionieren.
Kann mir jemand helfen was ich tun kann Um den Empfänger am Raspbeery zum Laufen zu bekommen
Hallo und vielen Dank für die übersichtliche Anleitung.
Ich versuche derzeit auf meinem Pi mit OSMC den Empfänger und Sende zum laufen zu bringen, doch scheitert es hier bei den 433Utils.
Zwar wurden die benötigten Daten in den Ordner von wiringPi gepackt, sprich hier ist der Ordner 433Utils zu sehen, doch kann ich mit dem Befehl „make all“ dem ganzen nur eine Fehlermeldung entlocken, welche lautet:
make: *** No rule to make target ‚../rc-switch/RCSwitch.o‘, needed by ’send‘. Schluss.
Ich habe die letzten zwei Tage damit verbracht, herauszufinden was das Problem nun ist, doch eben ohne Erfolg. Die Datei „Makefile“ ist vorhanden.
Woran scheitert es nun?
Das Problem ist, dass die Entwickler die Datei ausgelagert haben und diese nicht mehr automatisch mit geklont wird. In den älteren Releases ist es aber noch vorhanden, dort kannst du die Dateien, die Fehlen (RCSwitch) manuell herunterladen:
https://github.com/ninjablocks/433Utils/tree/761a95414d331259a3c945673d00036f9fa8c4b0/RPi_utils
Hi
ich habe auch diese Problem!
make: *** No rule to make target ‚../rc-switch/RCSwitch.o‘, needed by ’send‘.
Wie kann ich es Herunterladen bitte
Schau mal einen Kommentar über dir, da habe ich es beantwortet 🙂
Alternativ rekursiv klonen:
Bei meinen Experimenten mit den 433 MHz Sendern und Empfängern (FS100A und XD-RF-5V) ist mit folgendes augefallen:
Aufbau 1:
RPI 2B mit zwei Terminalfenstern
Beide Module nebeneinander auf dem Steckbrett (ohne Antennen)
Terminal 1 – mit sudo ./codesend 12345678 …
Terminal 2 – mit sudo ./ RFSniffer (als Dauerlauscher)
– Kommunikation funktioniert allerdings zeitverzögert, Term. 2 zeigt die Nachricht „12345678“ nach etwa einer Sekunde an.
– Die Signale meiner Fernbedienung werden überhört.
Aufbau 2:
beide Module wurden mit 14,5 cm langen Antennen (gerade Drähte) versehen
– Kommunikation funktioniert ohne Zeitverzögerungen
– Die Fernbedienung wird weiterhin nicht beachtet!
Aufbau 3:
Der Sender (FS1000A) wurde entfernt.
– Terminal zeigt mir jetzt die Sendungen der Fernbedienung! (Diese habe ich für den nachfolgenden Aufbau notiert)
Aufbau 4:
Der Sender wurde wieder angeschlossen.
– Meine Funksteckdosen reagieren auch in großer Entfernung (andere Etage und entgegengesetzte Seite des Hauses) aud die vorher notierten Codes.
– Der Empfänger zeigt nur die Sendungen des Senders an, die Fernbedienungsdaten erkennt er nicht obwohl diese bei den Steckdosen ankommem.
Fazit:
1. zur Steckdosensteuerung benötigt mein Empfänger eine Antenne.
2. zum Empfang der Fernbedienung benötigt mein Empfänger eine Antenne.
3. Der dicht am Empfänger plazierte Sender überstrahlt offensichtlich die Fernbedienung für den Empfänger, nicht aber für die Steckdosen.
Weitere Erkenntnis:
Die datenpakete dürfen nicht länger als 8 Ziffern sein, sonst werden sie schon von codesend verändert.
RFSniffer interpreiert die Datenpakete in Abhängigkeit vom Inhalt:
12345678 wird auch als 12345678 erkannt und angezeigt
87654321 wird als 376824 interpretiert obwohl codesend behauptet auch 87654321 gesendet zu haben.
Das heißt für mich, dass für die Kommunikation PI Arduino die RFSniffer Bibliothek nicht ohne Änderungen nutzbar ist, da die Daten interpretiert werden und nicht 1:1 weitergegeben werden.
Hier ist also noch einiges zu tun:
– einen interuptgetriebenen Sniffer schreiben der alles ohne Interpretation weitergibt.
– auf der Sendeseite (Arduino) könnte VirtualWire weiterhelfen solange ich nur von dort aus sende.
– für eine echtes Protokoll müsste auch auf der Pi Seite, zum Senden, noch weitere Grundlagenforschung erledigt werden.
Hallo,
wäre interesant dass man Dateien über solche transceiver sender könnte. Oder sogar dass sowas als WLAN USB Stick per IP Protokol funktionieren könnte. Etwas kräftigere Antene und es könnte besser als 2,4 GHz WLAN durch Wände senden/empfangen. Bei 433MHz oder 868MHz mit geringere Geschwindigkeit als 2,4GHz aber mit mehr Reichweite. Hat jemand so ein Projekt irgentwo schon gesehen?
Grüße
Beides ist mehr oder weniger in der Art von mir geplant: Zum einen eine Bibliothek zum sicheren Übertragen von Bits (vergleichbar mit TCP). Allerdings lassen sich mit 433Mhz nur wenige Bits (~32) auf einmal übertragen, weshalb eine Datenübertragung lange dauern würde – aber sicherlich möglich ist.
Bzgl. der 2.4GHz Übertragung / Kommunikation ist auch ein Tutorial meinerseits geplant.
Hallo Marijus,
ich habe inzwischen ein Projekt mit 2.4 GHz erstellt (zum Tutorial).
Hallo Felix,
hört sich gut an.
Bist du bei der 433MHz Kommunikation schon über die reine Idee hinaus, gibt es schon Ansätze wie du das Protokoll/Handshake realisieren willst?
Was planst du in 2,4GHz wlan Bereich konkret? Eine Bibliothek für Python oder (hoffentlich) C? Kannst Du hier schon genaueres sagen? Roadmap?
Hier bin ich sehr gespannt was da kommen wird.
Ich bin schon recht weit, allerdings ist ein größeres Problem, dass nur maximal 32Bit pro Nachricht versendet werden können. Mit Headern bleiben nur noch maximal 16 Bits, was sehr wenig ist. Ich bin deshalb am überlegen, ob es überhaupt Sinn macht…
Hallo,
zunächst „Vielen Dank“ für die hervorragende Anleitung. 🙂
Ich nutze beide Module an einem RPi B+ und es hat bisher auch alles wunderbar funktioniert.
Nun habe ich aber zusätzlich noch das Erweiterungsmodul „s-usv Basic von pi-solutions“ installiert.
Dieses Modul nutzt exclusiv den GPIO27, deshalb funktioniert der 433 Receiver nun nicht mehr.
Nun meine Frage: Ist es auch möglich einen anderen PIN für den Empfänger zu nutzen, oder hat jemand eine Idee wie ich beide Module betreiben könnte (adapter?) ?
Grüße
Hallo Martin,
ja das ist möglich. Du musst dazu aber in die WiringPi Pin Belegung sehen, da diese abweicht. Den neuen Pin gibst du im Code an und kompilierst dann neu. In der Datei RFSniffer.cpp (Zeile 25) ist
int PIN = 2;
angegeben. Der WiringPi Pin 2 entspricht GPIO 27.Hallo Felix, gutes Tutorial!
Mich würde nur interessieren, wie weit ich die beiden Module voneinander entfernen darf.
Ich möchte sie nämlich in verwenden, um meine selbstgebaute Flugdrohne zu steuern(wäre das mit den Modulen überhaupt möglich?) und da möchte ich halt schon etwas weiter fliegen können.
Mfg Kai
Noch etwas: wofür wäre der zweite Data-pin, den du hier nicht verwendest? Nur aus reinem Interesse?
Die sind miteinander verbunden (selbes Signal) 😀
Im Freien sollten 50m (und vlt. sogar mehr) kein Problem sein, denke ich. Im Gebäude konnte ich das Signal bei über 10m (Treppenhaus, d.h. Wände und Türen dazwischen) immer noch empfangen.
Hallo,
ich habe die Schaltung identisch aufgebaut. Alles genau wie oben beschrieben installiert.
Nur habe ich das Problem, dass RFSniffer absolut nichts erkennt. Habe es mit verschiedenen Fernsteuerungen getestet.
Der Empfänger funktioniert. Das wiederum habe ich mit einem Script (einfache Schleife mit GPIO.input(13)) getestet, dass Änderungen am Datenpin erkennt.
RFSniffer gibt einfach nichts aus.
Hast Du eine Idee?
Gruß
Michael
Sendest du mit dem gleichen Raspberry Pi oder einem zweiten? Wie groß ist der Abstand zwischen Sender und Emfpänger? Hast du einen 433 MHz Handsender o.ä. probiert?
Ich hab das gleiche Problem wie mein Vorredner, meine alte Installation ist up-to-date und RFSniffer erkennt nichts mehr, Aktivität auf dem Datenpin kann ich mit gpio read 2 feststellen.
Irgendwelche Ideen?
VG,
Thomas
Auch von mir einen herzlichen Dank für Deine Blog.
Ich habe auch die China Module, Sender und Empfänger, jeweils mit Antenne versehen.
Der Sender macht das was er soll und auch die Reichweite ca. 10m im Haus über zwei Etagen ist beachtlich.
Anders dagegen der Empfänger, die Empfangsreichweite, gesendet mit der Funkfernbedinung(Brennenstuhl), beträgt max. 50-70cm und ist auch nicht 100%ig Datengenau.
Somit eigentlich ungeeignet.
Gibt es „bessere“ Empfänger? alleine die Empfänger in den Steckdosen reagieren ja vorbildlich.
Ich betreibe beide Module mit 5V vom Raspberry.
Hallo,
danke für die tolle Anleitung. Ich habe Schritt für Schritt gemacht, leider kommt es beim Befehl:
./build
zu vielen Fehlern:
root@raspberrypi:/home/pi/wiringPi# ./build
wiringPi Build script
=====================
WiringPi Library
[UnInstall]
[Compile] wiringPi.c
[Compile] wiringShift.c
[Compile] piHiPri.c
[Compile] wiringSerial.c
[Compile] piThread.c
[Compile] wiringPiSPI.c
[Compile] wiringPiI2C.c
[Compile] softPwm.c
[Compile] softTone.c
[Compile] mcp23008.c
[Compile] mcp23016.c
[Compile] mcp23017.c
In file included from softTone.c:32:0:
softTone.c: In function ‘softToneThread’:
wiringPi.h:111:37: warning: unused parameter ‘dummy’ [-Wunused-parameter]
#define PI_THREAD(X) void *X (void *dummy)
^
softTone.c:51:8: note: in expansion of macro ‘PI_THREAD’
static PI_THREAD (softToneThread)
^
[Compile] mcp23s08.c
[Compile] mcp23s17.c
[Compile] sr595.c
[Compile] pcf8574.c
[Compile] pcf8591.c
[Compile] mcp3002.c
[Compile] mcp3004.c
pcf8591.c: In function ‘myAnalogWrite’:
pcf8591.c:39:65: warning: unused parameter ‘pin’ [-Wunused-parameter]
static void myAnalogWrite (struct wiringPiNodeStruct *node, int pin, int value)
^
[Compile] mcp4802.c
[Compile] mcp3422.c
[Compile] max31855.c
[Compile] max5322.c
[Compile] ads1115.c
[Compile] sn3218.c
[Compile] bmp180.c
[Compile] htu21d.c
[Compile] ds18b20.c
[Compile] drcSerial.c
htu21d.c: In function ‘checksum’:
htu21d.c:41:23: warning: unused parameter ‘data’ [-Wunused-parameter]
int checksum (uint8_t data [4])
^
[Compile] pseudoPins.c
[Compile] wpiExtensions.c
wpiExtensions.c: In function ‘doExtensionPseudoPins’:
wpiExtensions.c:442:41: warning: unused parameter ‘progName’ [-Wunused-parameter]
static int doExtensionPseudoPins (char *progName, int pinBase, char *params)
^
wpiExtensions.c:442:70: warning: unused parameter ‘params’ [-Wunused-parameter]
static int doExtensionPseudoPins (char *progName, int pinBase, char *params)
^
wpiExtensions.c: In function ‘doExtensionBmp180’:
wpiExtensions.c:458:37: warning: unused parameter ‘progName’ [-Wunused-parameter]
static int doExtensionBmp180 (char *progName, int pinBase, char *params)
^
wpiExtensions.c:458:66: warning: unused parameter ‘params’ [-Wunused-parameter]
static int doExtensionBmp180 (char *progName, int pinBase, char *params)
^
wpiExtensions.c: In function ‘doExtensionHtu21d’:
wpiExtensions.c:473:37: warning: unused parameter ‘progName’ [-Wunused-parameter]
static int doExtensionHtu21d (char *progName, int pinBase, char *params)
^
wpiExtensions.c:473:66: warning: unused parameter ‘params’ [-Wunused-parameter]
static int doExtensionHtu21d (char *progName, int pinBase, char *params)
^
wpiExtensions.c: In function ‘doExtensionSn3218’:
wpiExtensions.c:636:37: warning: unused parameter ‘progName’ [-Wunused-parameter]
static int doExtensionSn3218 (char *progName, int pinBase, char *params)
^
wpiExtensions.c:636:66: warning: unused parameter ‘params’ [-Wunused-parameter]
static int doExtensionSn3218 (char *progName, int pinBase, char *params)
^
[Link (Dynamic)]
[Install Headers]
[Install Dynamic Lib]
WiringPi Devices Library
[UnInstall]
[Compile] ds1302.c
[Compile] maxdetect.c
[Compile] piNes.c
[Compile] gertboard.c
[Compile] piFace.c
[Compile] lcd128x64.c
[Compile] lcd.c
[Compile] piGlow.c
[Compile] scrollPhat.c
[Link (Dynamic)]
[Install Headers]
[Install Dynamic Lib]
GPIO Utility
[Compile] gpio.c
[Compile] readall.c
[Compile] pins.c
gpio.c: In function ‘doI2Cdetect’:
gpio.c:360:30: warning: unused parameter ‘argc’ [-Wunused-parameter]
static void doI2Cdetect (int argc, char *argv [])
^
gpio.c: In function ‘doExports’:
gpio.c:391:28: warning: unused parameter ‘argc’ [-Wunused-parameter]
static void doExports (int argc, char *argv [])
^
gpio.c:391:40: warning: unused parameter ‘argv’ [-Wunused-parameter]
static void doExports (int argc, char *argv [])
^
gpio.c: In function ‘doReset’:
gpio.c:717:28: warning: unused parameter ‘progName’ [-Wunused-parameter]
static void doReset (char *progName)
^
[Link]
[Install]
All Done.
NOTE: To compile programs with wiringPi, you need to add:
-lwiringPi
to your compile line(s) To use the Gertboard, MaxDetect, etc.
code (the devLib), you need to also add:
-lwiringPiDev
to your compile line(s).
root@raspberrypi:/home/pi/wiringPi#
Irgendwas mache ich noch falsch…
Mit „sudo ./RFSniffer“ sehe ich meine Codes der Fernsteuerung, jedoch klappt das Senden nicht. Ich vermute, weil eben Grundlegend noch was falsch ist…
Kann mir da jemand helfen bitte?
Ich bin für jeden Tipp dankbar!
VG Steffen
Ich nehme an, du meinst die WiringPi Installation? Was wird denn bei
gpio -v
ausgegeben? Die manuelle Installation ist oftmals nicht mehr nötig, da auf vielen Raspbian Versionen WiringPi bereits vorinstalliert ist (nicht auf den Lite Versionen).Hi Felix,
woah das ging aber schnell 🙂
root@raspberrypi:/home/pi/wiringPi/433Utils/RPi_utils/433Utils/RPi_utils# gpio -v
gpio version: 2.36
Copyright (c) 2012-2015 Gordon Henderson
This is free software with ABSOLUTELY NO WARRANTY.
For details type: gpio -warranty
Raspberry Pi Details:
Type: Pi 3, Revision: 02, Memory: 1024MB, Maker: Embest
* Device tree is enabled.
*–> Raspberry Pi 3 Model B Rev 1.2
* This Raspberry Pi supports user-level GPIO access.
root@raspberrypi:/home/pi/wiringPi/433Utils/RPi_utils/433Utils/RPi_utils#
Hi Stevel,
dann liegt das Problem nicht an WiringPi. Sicher, dass du den richtigen Pin für den Sender nutzt? Versuch mal Sender und Empfänger weiter voneinander zu entfernen, das Problem hatten anscheinend schon einige.
Hmmm,
DATA: Pin 11
VCC: Pin 2
GND: Pin 6
Den Funkempfänger habe ich vorsorglich mal abgezogen.
Die Steckdose habe von 5cm bis mehrere Meter mal wandern lassen…
Über den RFSniffer erhalte ich meine Codes (gleichbleibend). Meine Fernbedienung hat keine Dipschalter.
Und ich erhalte 7 stellige Codes.
Steht auf der Verpackung etc. drauf, ob es generische Codes sind? Die lassen sich nämlich nicht damit senden bzw. werden nicht akzeptiert.
Hi,
dazu finde ich leider keine Angaben.
Heißt generisch, dass sich die Codes ändern?
Wenn ja, dann trifft das nicht zu.
Ich habe die Codes über den ganzen Nachmittag immer mal wieder kontrolliert, gleicher Button, gleicher Code.
Ja, die Hersteller schreiben das leider selten dazu. Aber bei jenen mit einstellbaren Codes ist in der Regel ein Dipschalter verbaut, damit man den Code ändern kann (jedenfalls habe ich bisher nur Steckdosen mit generischem Code gesehen, die keinen Dipschalter verbaut hatten).
Hi,
Danke für die Anleitung. !
Ich hatte einen ähnliche Aufbau mit anderen PINs :
Sender wPI Pin 28 (=BMC 20)
Empfänger wPi 3 (=BMC 22)
Nachden ich die Pins
send.cpp, codesend.cpp auf int PIN = 80
Und
In RFSniffer.cpp auf
int pin = 3; geändert hatte der Sender sofort funktioniert.
Der Empfänger ging bei mir aber erst als ich den DATA über einen Spannungsteiler (330 Ohm->PIN/470 Ohm->GND) angeschlossen habe. Bei direktem Anschluss war „Funkstille“.
Offenbar variieren die Teile. Mein GPIO Pin wurde auch nicht beschädigt was ja dann ein Hinweis auf die 5 V gegeben hätte.
Ich stehe gerade auf dem Schlauch, warum send.cpp, codesend.cpp auf int PIN = 80?
Hallo! Danke für die Anleitung! Konnte echt alles gut nachvollziehen bzw. kopieren 🙂
Ich hätte aber eine frage. Würde der oben beschriebene Sender/Empfänger auch am alten RPi A+ laufen? Ich habe versucht, alles so zu installieren wie beschrieben. das klappt grundsätzlich auch alles am A+. Aber ich bekomme es nicht hin, dass mit RFSniffer etwas gesniffert wird.
Habe verschiedene 433 MHz Quellen und auch verschiedene Empfangsbausteine versucht. Und auch die Pins kontrolliert. Habe Data auf physischem Pin 11,
lg
andi
Ich habe es zwar nicht mit dem Model A+ getestet, aber dagegen spricht nichts. Falls du einen anderen Pin ausprobierst, musst du die WiringPi Belegung angeben und natürlich neu kompilieren.
Hallo Felix! Danke für deine Antwort! Ich habe es jetzt mit verschiedenen Pins probiert und auch immer brav die Pins laut WiringPi Belegung immer mit angepasst. Ich bekomme den Sniffer leider nicht zum laufen. Ich weiss nicht, ob es an dem A+ Modell liegt. Ich habe jetzt einen neuen Raspi bestellt. Werde es dann nochmal probieren. 🙂
lg
andi
Nachtrag: Habe noch nachgemessen. der Empfänger bekommt korrekt die 3,3 Volt und wenn die 433MHz Quelle sendet, geht der Data-Pin auch auf 1,9V rauf für die Sendezeit.
Somit sollte die Hardware eigentlich passen denk ich, oder?
Vielen Dank für die Gute Anleitung
Habe es nach gebaut mit Raspberry 3 bei freier Sicht mit den Funksteckdosen von Flamingo eine Reichweite von fast 100 Meter.
Danke
Hallo Felix! Danke für deine Antwort! Ich habe es jetzt mit verschiedenen Pins probiert und auch immer brav die Pins laut WiringPi Belegung immer mit angepasst. Ich bekomme den Sniffer leider nicht zum laufen. Ich weiss nicht, ob es an dem A+ Modell liegt. Ich habe jetzt einen neuen Raspi bestellt. Werde es dann nochmal probieren. 🙂
lg
andi
Hallo und guten Abend!
Danke für den tollen Thread hier – hat mir schon viel weitergeholfen. Aber im Moment hänge ich fest, vielleicht kann mir hier jemand helfen?
Ich würde gerne mit dem Pi 433MHz Signale empfangen, die von einem Arduino gesendet werden. Der Arduino-Sender funktioniert, denn die Arduino-Empfänger schalten fleissig.
Der RF-Sniffer am Pi dürfte bei mir auch funktionieren. Zumindest empfange ich zeitweise Codes von umliegenden 433 MHz Sendern. Aber die vom Arduino gesendeten Codes (ein selbst gebastelter 8-stelliger Zahlencode) wird vom Sniffer nicht empfangen.
Muss ich hier etwas besonderes beachten oder so? müssen vielleicht die Libaries am Arduino und Pi gleich sein oder so?
Für Hilfe oder Hinweise wäre ich sehr dankbar!
Hallo und guten Abend!
Bin leider noch nicht weiter…
Ich benutze bei den Arduinos die RadioHead Library… ist vielleicht das der Grund warum der RFSniffer nichts empfängt bei mir?
Hat da wer Erfahrung?
lg
andi
Ok, dürfte an der Library liegen. RadioHead versteht der Raspi nicht
Hallo und guten Abend!
Danke für den tollen Thread hier – hat mir schon viel weitergeholfen. Aber im Moment hänge ich fest, vielleicht kann mir hier jemand helfen?
Ich würde gerne mit dem Pi 433MHz Signale empfangen, die von einem Arduino gesendet werden. Der Arduino-Sender funktioniert, denn die Arduino-Empfänger schalten fleissig.
Der RF-Sniffer am Pi dürfte bei mir auch funktionieren. Zumindest empfange ich zeitweise Codes von umliegenden 433 MHz Sendern. Aber die vom Arduino gesendeten Codes (ein selbst gebastelter 8-stelliger Zahlencode) wird vom Sniffer nicht empfangen.
Muss ich hier etwas besonderes beachten oder so? müssen vielleicht die Libaries am Arduino und Pi gleich sein oder so?
Für Hilfe oder Hinweise wäre ich sehr dankbar!
Hallo und guten Abend!
Bin leider noch nicht weiter…
Ich benutze bei den Arduinos die RadioHead Library… ist vielleicht das der Grund warum der RFSniffer nichts empfängt bei mir?
Hat da wer Erfahrung?
lg
andi
Ok, dürfte an der Library liegen. RadioHead versteht der Raspi nicht
Ich hab momentan das Problem das der Sender Signale rausgibt und der Empfänger alles Empfängt (oft doppelt oder dreifach) , aber von gar keiner Fernbedienung Siganle empfangen werden.
Es kann auch sein, dass deine Nachbarn oder ein anderes Gerät mit einer Funkfernbedienung etwas sendet. Sind es denn immer die selben Signale?
Ich hab momentan das Problem das der Sender Signale rausgibt und der Empfänger alles Empfängt (oft doppelt oder dreifach) , aber von gar keiner Fernbedienung Siganle empfangen werden.
Es kann auch sein, dass deine Nachbarn oder ein anderes Gerät mit einer Funkfernbedienung etwas sendet. Sind es denn immer die selben Signale?
Guten Tag,
ich habe einen HC-12 Transmitter am RPI2 und bekomme ihn nicht zum laufen.
Es gibt keine Fehlermeldungen, alles scheint nach dem TUT geklappt zu haben.
Dafür den herzlichsten Dank!
Der HC-12 ist verbunden mit den GPIOs 1, 6, 11 und 13.
Die GPIO die Wiring PI nutzt sind geprüft und stimmig. (Pin 0 und 2 -> 11 und 13).
Dennoch kann ich weder senden noch empfangen.
Ich vermute daher einen Defekt meines Transmitters. Kann ich das irgendwie prüfen?
LG,
Erik
Hast du auch einen anderen Sender probiert? Bzw. falls du vom Pi sendest, halte einen ausreichenden Abstand von Sender und Empfänger ein.
Hi,
der HC-12 ist ein Transceiver, also Sender und Empfänger in einem, deswegen habe ich den gekauft.
Und auch wegen der Reichweite.
Ich habe also keinen anderen getestet, da dies noch der einzige ist, werde ich wohl aber nicht drum herum kommen.
Der Abstand sollte eigentlich passen. Die Funksteckdose war ca. 3-4 Meter weg.
Beim RFSNiffer bin ich von der Entfernung (3-4 Meter) bis auf wenige Zentimeter an den Empfänger (eigentlich ja Transceiver ;)) heran gegangen.
Kann ich denn mittels „gpio readall“ irgendwie erkennen, ob der HC-12 Signale annimmt oder gar abgibt?
Hat sonst vllt jmd Erfahrung mit dem HC-12? Im Grunde möchte ich wieder den gleichen kaufen,
aber gerne vorher ausschließen, dass es an der Inkompatibilität oder gar meiner Inkompetenz liegt 😉
LG, Erik
Guten Tag,
ich habe einen HC-12 Transmitter am RPI2 und bekomme ihn nicht zum laufen.
Es gibt keine Fehlermeldungen, alles scheint nach dem TUT geklappt zu haben.
Dafür den herzlichsten Dank!
Der HC-12 ist verbunden mit den GPIOs 1, 6, 11 und 13.
Die GPIO die Wiring PI nutzt sind geprüft und stimmig. (Pin 0 und 2 -> 11 und 13).
Dennoch kann ich weder senden noch empfangen.
Ich vermute daher einen Defekt meines Transmitters. Kann ich das irgendwie prüfen?
LG,
Erik
Hast du auch einen anderen Sender probiert? Bzw. falls du vom Pi sendest, halte einen ausreichenden Abstand von Sender und Empfänger ein.
Hi,
der HC-12 ist ein Transceiver, also Sender und Empfänger in einem, deswegen habe ich den gekauft.
Und auch wegen der Reichweite.
Ich habe also keinen anderen getestet, da dies noch der einzige ist, werde ich wohl aber nicht drum herum kommen.
Der Abstand sollte eigentlich passen. Die Funksteckdose war ca. 3-4 Meter weg.
Beim RFSNiffer bin ich von der Entfernung (3-4 Meter) bis auf wenige Zentimeter an den Empfänger (eigentlich ja Transceiver ;)) heran gegangen.
Kann ich denn mittels „gpio readall“ irgendwie erkennen, ob der HC-12 Signale annimmt oder gar abgibt?
Hat sonst vllt jmd Erfahrung mit dem HC-12? Im Grunde möchte ich wieder den gleichen kaufen,
aber gerne vorher ausschließen, dass es an der Inkompatibilität oder gar meiner Inkompetenz liegt 😉
LG, Erik
Hey Leute, vielen dank für Alle Tutorials !
Ich habe mir die Sender und Empfänger aus diesem Tutorial gekauft und bin momentan an einem relativ simplen Projekt zum Einstieg. Ich möchte das wenn ein Bewegungsmelder zu dem es auch ein Tutorial gibt ein Signal an ein LED Bilderrahmen sendet das daraufhin leuchtet. Das ist auch kein Problem nur kommt jetzt die Problematik das das Bild und der Bewegungsmelder in verschiedenen räumen liegt und da dachte ich es gäbe ein Möglichkeit das mit diesen Sender zu bauen. Da der Bewegungsmelder ein einfaches Signal ausgibt..
Hätte jemand eine Lösung oder weiß wo ich noch fragen könnte ?
Vielen Dank schon mal
lg Luki
Hey Leute, vielen dank für Alle Tutorials !
Ich habe mir die Sender und Empfänger aus diesem Tutorial gekauft und bin momentan an einem relativ simplen Projekt zum Einstieg. Ich möchte das wenn ein Bewegungsmelder zu dem es auch ein Tutorial gibt ein Signal an ein LED Bilderrahmen sendet das daraufhin leuchtet. Das ist auch kein Problem nur kommt jetzt die Problematik das das Bild und der Bewegungsmelder in verschiedenen räumen liegt und da dachte ich es gäbe ein Möglichkeit das mit diesen Sender zu bauen. Da der Bewegungsmelder ein einfaches Signal ausgibt..
Hätte jemand eine Lösung oder weiß wo ich noch fragen könnte ?
Vielen Dank schon mal
lg Luki
Weiß jemand, wie man so Variablen, die in einem Python-Script „entstehen“ verschicken kann?
Das musst du ein wenig genauer erklären. Zahlen kannst du einfach senden und von Buchstaben kannst du z.B. den Hex-Wert als Zahl versenden.
Weiß jemand, wie man so Variablen, die in einem Python-Script „entstehen“ verschicken kann?
Das musst du ein wenig genauer erklären. Zahlen kannst du einfach senden und von Buchstaben kannst du z.B. den Hex-Wert als Zahl versenden.
Weiß jemand, was für eine Reichweite das ganze hat?
Würde das ganze auch mit einem NRF24L01+ Sender
(http://www.ebay.de/itm/NRF24L01-PA-LNA-SMA-mit-Antenne-Long-Range-Funk-Modul-Raspberry-Arduino-/122645168102?hash=item1c8e38bfe6:g:~bIAAOSwmmxW5jCR)
Funktionieren? Das ginge dann vielleicht weiter.
Gruß B.
Schau mal dieses Tutorial an: Funkkommunikation zwischen Raspberry Pi’s und Arduinos (2.4 GHz)
Hallo Felix,
ich habe mir von Neuftech das Wireless Modul CC1101 gekauft in der Hoffnung, dass die Reichweite damit höher ist.
Ich finde leider keine Anleitung oder Libarys zu diesem Modul.
Könntest du da vielleicht bei Zeiten ein Tutorial zu erstellen?
Hast du eigentlich einen Spenden Button (Paypal)?
Würde dir gerne eine Kleinigkeit zukommen lassen
Hallo Philip,
das CC1101 Modul habe ich nicht da, daher müsste ich es erst einmal bestellen um zu sehen, was möglich ist.
PS: unten rechts befindet sich der Link zur Unterstützen Seite 🙂
LG, Felix
Hallo zusammen.
Danke für den tollen Thread hier, ich habe mir auf grund solcher Threads meinen ersten Rasberry pi3 gekauft um zu Huse meine Rolladen über 433 Mhz ansteuern zu können.
Ich habe ein Problem bei dem Ihr mir evtl. helfen könnt. Ich schaffe es schon über „send“ Steckdosen an zu steuern.
Leider bekomme ich über „RFSniffer“ keine ankommende Signale (wird benötigt um die Fernbedienung der Rolladen aus zu lesen). Der Befehl wird ausgeführt und mit dem Befehl „gpio read 2“ habe ich kontrollier ob überhaupt was ankommt:
pi@raspberrypi:~/433Utils/RPi_utils $ gpio read 2
0
pi@raspberrypi:~/433Utils/RPi_utils $ gpio read 2
1
Kann mir jemand nen Tipp geben was ich vergessen habe oder was ich noch machen kann damit „RFSniffer „läuft.
mfg Jan
Der Shell Befehl „gpio“ steuert WiringPi an und nicht die Funksender/Empfänger.
Hallo Felix,
jetzt bin ich verwirt. Ich dachte mit dem Befehl „gpio read 2“ könnte ich auslesen ob am Pin13 (Gpio27) ein Signal anliegt oder nicht.
Steuern will ich den Empfänger mit dem Befehl „RFSniffer“ dieer Befehl wird auch ausgeführt aber ich bekomme kein Signal.
mfg Jan
Richtig, aber das gibt dir einen binären Wert zurück. Wenn keine Spannung anliegt (weder High/Low), wird ein Zufallswert ausgegeben.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see
[2017-11-18 10:33:34] Loaded plugin: homebridge-rf-outlet
[2017-11-18 10:33:34] Registering accessory ‚homebridge-outlet.Outlet‘
[2017-11-18 10:33:34] —
[2017-11-18 10:33:34] Loaded config.json with 1 accessories and 0 platforms.
[2017-11-18 10:33:34] —
[2017-11-18 10:33:34] Loading 0 platforms…
[2017-11-18 10:33:34] Loading 1 accessories…
/usr/lib/node_modules/homebridge/lib/api.js:64
throw new Error(„The requested accessory ‚“ + name + „‚ was not registered by any plugin.“);
^
Error: The requested accessory ‚RFOutlet‘ was not registered by any plugin.
at API.accessory (/usr/lib/node_modules/homebridge/lib/api.js:64:13)
at Server._loadAccessories (/usr/lib/node_modules/homebridge/lib/server.js:264:42)
at Server.run (/usr/lib/node_modules/homebridge/lib/server.js:86:38)
at module.exports (/usr/lib/node_modules/homebridge/lib/cli.js:40:10)
at Object. (/usr/lib/node_modules/homebridge/bin/homebridge:17:22)
at Module._compile (module.js:571:32)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
at Function.Module._load (module.js:439:3)
Ich brauch Hilfe um den Fehler zu eliminieren.
Wie kommt der Bezug in der api.js zu den installierten Plug in zustande ??
Der Fehler kommt beim starten der Homebridge, nachdem ich in der config.json die entsprechende Änderung für das Plug-In getätigt habe.
Wenn die Config leer ist, kommt keine Fehlermeldung und die Bridge läuft sauber an und auch ohne Abbruch durch.
Der Fehler scheint Homebridge-sepzifisch, und kommt wohl nicht von diesem Skript hier.
Der Fehler scheint Homebridge-sepzifisch, und kommt wohl nicht von diesem Skript hier.
Hi Felix,
ich würde gerne längere Zahlen übertragen. Mit ./codesend ist es ja nur möglich bis 8 Ziffern zu übertragen. Gibt es eine Möglichkeit?
mfg Max
Dafür soltlest du am besten 2.4GHz Funk verwenden.
Hallo Felix,
vielen Dank erstmal für das vorzügliche Tutorial. Einfach, präzise, verständlich. So soll es sein.
Nun zu meinem Problem. Ich habe drei verschiede Pi’s.
#######################
description: ARMv6-compatible processor rev 7 (v6l)
product: Raspberry Pi Model B Plus Rev 1.2
————————————–
description: ARMv7 Processor rev 5 (v7l)
product: Raspberry Pi 2 Model B Rev 1.1
————————————–
description: ARMv7 Processor rev 4 (v7l)
product: Raspberry Pi 3 Model B Rev 1.2
########################
Als Sender/Empfänger nutze ich das Set aus Deinem Tut.
An den Modellen ‚Raspberry Pi Model B Plus Rev 1.2‘ und ‚Raspberry Pi 3 Model B Rev 1.2‘ funktioniert alles einwnadfrei.
Am Modell ‚Raspberry Pi 2 Model B Rev 1.1‘ allerdings werden keine Daten gesendet. Ich habe die Sender/Empfänger in allen möglichen Kombination getestet und es funktioniert auch immer, außer wenn genanntes Modell senden soll. Es gibt keine Fehlermeldungen, weder beim kompilieren, installieren oder senden. In den mir belannten logs taucht auch kein verdächtiger Eintrag auf. Den GPIO Pin habe ich auch schon geändert und neu kompiliert.
Nun weiß ich nicht mehr weiter, an welcher Stelle ich den Fehler suchen soll.
Für einen Hinweis würde ich mich freuen.
Schönen Abend
Wie hoch ist der Abstand? Ich hatte Probleme, wenn dieser nur wenige cm betrugt.
Guten Abend.
Vielen Dank für die tolle Erläuterungen. Ich habe allerdings folgendes Problem:
Ich lese per RFSniffer den Wert -2109998080 beim Senden per Fernbedienung an meine Funksteckdose aus. Allerdings kann ich diesen Wert nicht senden. Wenn ich „./codesend -2109998080“ eingebe, empfängt RFSniffer den Wert 3931136.
Was mache ich falsch und wie geht es richtig?
Würde mich sehr über Hilfe freuen. Vielen Dank.
Hallo,
gibt es eine Möglichkeit ein Signal mehrfach schnell nacheinander aussenden zu lassen?
Hintergrund ist folgender, ich möchte einen Stromgenerator starten der das Signal ca. 15mal empfangen muss bevor der Anlasser ihn starten kann.
Ich hab immer eine Wartezeit von ca. 1 Sekunde zwischen jedem Befehl.
Ja: Senden, kurz warten (sleep), senden usw.
Hallo,
die Übertragung funktionierte auf Anhieb. Allerdings kommen die Daten mehrmals (2..4-mal) auf der Empfängerseite an, trotz nur einmaligem Kommandos.
Habe schon alle möglichen Parameter geändert.
Ist das normal? Bei Euch auch so?
Was könnte die Ursache sein?
Grüße!
Das ist normal.
O.K., Danke!
Bei der Gelegenheit: wirklich gute Anleitungssammlung und viel Arbeit, die drin steckt.
Guten Tag, leider funktioniert bei mir der Aufbau nicht. Ich habe alles nach Anleitung aufgebaut und mehrmals überprüft. Bei mir soll ein RaspberryPi 3 den Code an einen RaspberryPi Zero senden, es kommt allerdings keine Nachricht an. Liegt es vieleicht daran das ich zwei verschiedene Pi´s verwende?
Nein, aber wenn der Abstand zu niedrig ist, kommt es manchmal zu Problemen.
Habe Problem mit RFSniffer: keinerlei Output.
Eingefügtes printf() zeigt , daß
mySwitch.available()
immer false liefert.
Woran kann das liegen und was kann ich dagegen tun?
Sorry, hatte falsch angeschlossen. Alles gut.
Hallo,
ich habe einen Garagentorantrieb der auf 433MHz funkt. Weiß jemand wie, bzw ob man einen Raspberry nutzen könnte, um das Tor öffnen und schließen zu können? Oder ob sogar eine APP Steuerung über WLAN möglich wäre.
Hintergrund, ich habe einen Garagentorantrieb über einer Sternwarte und würde gerne das Dach von unterwegs aus öffnen und schließen können.
Das Tutorial und das folgende sollten im Grunde für dein Vorhaben ausreichen. Raspberry Pi mit 433Mhz Funksender fernsteuern
Per App: Raspberry Pi + Android/iOS: Funksteckdosen per App schalten
Oder auch: Mit dem NodeMCU ESP8266 433MHz Funksteckdosen steuern
Hey, wäre es nicht auch möglich den Empfänger mit Strom zu powern und die Daten Pins einfach an das jeweilige Gerät, was die Daten des rpis gesendet bekommen soll, an zu schließen? Oder muss man dazwischen ein arduino schalten?
Verstehe nicht ganz was du meinst. Der Empfänger hat die ganze Zeit Strom, sonst kann das Signal ja nicht empfangen werden. Es muss ja zunächst verarbeitet werden, bevor dann ein anderes Gerät an/aus geschaltet wird.
Wie kann ich ein Arduino mit einem Raspberry Pi kommunizieren lassen, über 433Mhz . Wenn der Arduino Funksignale schickt kommen keine gescheite Werte am Pi an.
Hallo zusammen!
Ich habe die Zahlreichen Kommentare hier mal soweit es geht gelesen, aber mein „Problem“ nicht gefunden. Daher schreib ich es mal hier hin 🙂
Nach der Anleitung funktioniert bei mir sowohl das Abfangen der Codes, als auch das Senden der Codes (inkl. An- und Ausschalten der Funksteckdosen). Ich nutze das selbe Modell von Brennstuhl wie in der Anleitung.
Gestoßen bin ich auf diese Anleitung durch die folgende Seite:
https://github.com/thomas22122212/homebridge-rfoutlets-protocol
Mein Problem ist die Einbindung in die homebridge. Ich gebe da alles in meiner config.json ein, wie es in der sample-config.json ist (abgesehen natürlich davon, dass ich „meine“ ermittelten Codes nutze), die geräte tauchen auch ordnungsgemäß in meinem iPhone auf, aber es passiert nichts, wenn ich im iPhone die Funksteckdose ein- oder ausschalte.
Hat jemand eine Idee, wo der Fehler liegen könnte?
Hallo und vielen Dank für das Tutorial so wie für das Beantworten der Fragen.
Ich hab bei meinem Pi auch ein Problem. Der Sender sendet und der Empfänger empfängt auch ein Signal welches ich mittels Oszilloskop ausgelesen hab. Aber beim zweiten Terminal wird nichts angezeigt. Ich habe auch einfach mal den Pin 11 und 13 miteinander verbunden und konnte dann die gesendeten Zahlen lesen, aber wenn der Empfänger dran ist sehe ich im zweiten Terminal nichts. Der Pegel liegt bei ca. 1V.
Freundliche Grüße
Felix
Vielleicht ist es deshalb :
Dieses Empfangsmodul sollte mit 3.3V betrieben werden.
Bei 5V empfange ich irgendwelchen Quatsch ohne was zu senden !
Das Problem ist aber, dass der Ausgangs OPV (LM358) kein Rail to Rail ist und somit kommen dort nur ca. 2V als High Pegel raus .
Ich habe diesen nun gegen einen Rail to Rail ersetz und nunn sehe ich dort auch 3.3V am Ausgang
Warum um alles in der Welt willst Du 2 Raspis über Funkmodule verbinden ????
Der Raspi hat doch standardmäßig W-Lan an Bord !
Einen Raspi als WLAN-Router oder WiFi-Hotspot einrichten und alle anderen können über diesen
komunizieren. Selbst billige ESP8266 Module können so Messwerte erfassen und an den Raspi senden. Einfacher und billiger geht es wirklich nicht.
Zum einen ist das Tutorial zu einer Zeit entstanden, in der der Raspberry Pi noch kein W-Lan Modul standardmäßig onboard hatte. Zum anderen geht es mehr um die Nutzbarkeit an sich – zwei RPis sind dafür nur ein Beispiel und können mit anderen Geräten, die nur über Funk sprechen können, ersetzt werden.
Zum einen ist das Tutorial zu einer Zeit entstanden, in der der Raspberry Pi noch kein W-Lan Modul standardmäßig onboard hatte. Zum anderen geht es mehr um die Nutzbarkeit an sich – zwei RPis sind dafür nur ein Beispiel und können mit anderen Geräten, die nur über Funk sprechen können, ersetzt werden.
Wie hoch ist denn die Reichweite der Funkverbindung?
Hallo,
wenn ich mit dem Raspi sende, so sieht auch der Sniffer das gesendete.
Ich habe jetzt vier verschiedene 433 Mhz Fernbedienungen getestet und bei keiner zeigt der Sniffer etwas an. Eine Der FB hat sogar einen DIP-Schalter.
Hat einer eine Idee?
Gruß
Georg
Funktioniert das ganze auch mit Python 3?
Hallo, Ich hab ein Sender-/Empfänger-Set an meinem Pi4 zum Laufen gebracht. MX-05V 433MHz RF Funkmodul / Sender + Empfänger https://www.roboter-bausatz.de/p/mx-05v-433mhz-rf-funkmodul-sender-empfaenger
Mit rpi-rf gesendete Signale kommen am Pi an.
Jetzt habe ich versucht, ob das Signal eines Kinetic McPower-Tastern mit Piezo-Technologie erkannt wird. Klappt so leider nicht.
Allerdings zeigt mir piscope, dass der Empfänger nach Tastendruck etwas wahrnimmt. Der Pin ist für 7.200µs high und dann für etwa 60.000µs low.
Kann ich daraus schließen, dass der McPower-Schalter mit diesem Signal zu schalten sein müsste?
Und wie bekomme ich ein solches Signal einfach gesendet?
Moin von der Küste, Bei mir läuft alles hervorragend.
Nachdem ich in der codesend.cpp die länge auf 32 Bit geändert habe kann ich nun auch den Weihnachtsbaum (Beleuchtung LED Kerzen von Krinner) schalten. Probleme bereitet mit die Gartenbeleuchtung, da komme ich mit den 32Bit nicht aus. Code 2395859459. wie kann man das Lösen?
Hallo zusammen,
ich habe mich an der Umsetzung versucht. Beim Befehl
sudo ./RFSniffer
bekomme ich die Meldung
gpio: Unable to open GPIO direction interface for pin 27: No such file or directory
wiringPiISR: unable to open /sys/class/gpio/gpio27/value: No such file or directory
Weiß jemand, was ich da machen muss? Der Fehler scheint in der wiringPi.c geworfen zu werden und es sieht dort so aus, dass die entsprechende Datei nicht geschrieben, sondern gelesen wird. Daher befürchte ich, dass die Datei auch noch Inhalt braucht und es nicht reicht den Ordner anzulegen. Da weiß ich natürlich nicht, wie der Inhalt aussehen soll (kenne mich mit C/C++ Programmierung aus, jedoch nicht mit GPIO und Hardware).
Mein System: Raspberry Pi B+ V1.2 von 2014
Betriebssystem: Raspbian 12, 32-bit
gpio version 3.1
Hat jemand ein ähnliches Problem gehabt?
Viele Grüße
Simon