Achtung!
â ď¸ Dieses Projekt ist so wichtig, dass es das Gleichgewicht des Universums beeinflusst. Wer hier nicht sauber GPIO 27 & 17 benutzt, riskiert, dass sein Kaffee kalt wird und die Maus im Keller die Weltherrschaft Ăźbernimmt.
rf_funkmodul ist das ultimative 433âŻMHz Scanner- und Test-Toolkit fĂźr Raspberry Pi 64âBit â und ja: jetzt auch zum Steuern von Funksteckdosen.
rf_scanner.pyâ Lauscht wie ein Geheimagent auf allen 433âŻMHz Signalen. Speichert alles, was piept, blubbert oder klickt.rf_analysis.pyâ Macht Ordnung im Chaos. Analysiert die empfangenen Codes und zeigt die TopâCodes an.rf_random_test.pyâ FĂźr waghalsige Experimente. Sendet zufällige Codes ins ĂtherâUniversum und beobachtet, wie das System reagiert.- Neu:
rf_sender.py/ rpi-rf_send-Beispiele â Sendet erkannte Codes gezielt, z. B. um Funksteckdosen zu schalten (funktioniert auf 64âBit Raspberry Pi).
Du kannst mit diesem Projekt jetzt nicht nur abhĂśren â du kannst auch schalten. Ablauf (kurz & knackig):
- Code erfassen: Starte den Scanner und drĂźcke die Taste an deiner Funkfernbedienung. Notiere
code,protoundpulselengthaus der CSV oder dem ScannerâOutput.
sudo python3 rf_scanner.py --gpio 27 --outfile ~/rf_senders.csv --interval 60 --verbose- Code prĂźfen/analysieren: Mit
rf_analysis.pyfindest du die häufigsten/zuverlässigsten Codes.
python3 rf_analysis.py ~/rf_senders.csv- Code senden (testen):
Beispiel mit dem mitgelieferten CLIâTool rpi-rf_send (sollte mit rpi-rf installiert sein):
# Beispiel: sende Code 4199697 via GPIO 17, verwende protocol/pulselength falls nĂśtig
sudo rpi-rf_send -g 17 -p 329 -t 1 -r 10 4199697-g 17â Pin fĂźr Sender (GPIO 17).-p 329â (optional) Pulselength / Protokollparameter â oft notwendig, damit die Steckdose den Code versteht.-r 10â Wiederholungen (einige Steckdosen brauchen mehrere Wiederholungen).
- PythonâVariante (kleines Script):
# rf_sender.py â einfaches Beispiel mit rpi_rf
from rpi_rf import RFDevice
import time
rf = RFDevice(17)
rf.enable_tx()
try:
code = 4199697 # vom Scanner erfasst
pulselength = 329 # optional, vom Scanner empfohlen
proto = 1 # falls bekannt
for _ in range(10):
rf.tx_code(code, proto=proto, pulselength=pulselength)
time.sleep(0.1)
finally:
rf.cleanup()Es gibt ein älteres, aber sehr nĂźtzliches Video, das das Prinzip zeigt â auch wenn es sich auf ein anderes Projekt bezieht, lässt sich das Vorgehen 1:1 Ăźbertragen: https://www.youtube.com/watch?v=rSnYOeeKrS8&t=250s
Schau dir das an, wenn du lieber eine visuelle SchrittâfĂźrâSchrittâErklärung mĂśchtest. (Spoiler: Kaffee wird zwischendurch gemopst.)
# Update dein System â sonst rebelliert es!
sudo apt update
sudo apt install -y python3 python3-pip mosquitto-clients git
# Rpi-RF installieren (geheimes Funkwerkzeug fĂźr Agenten)
sudo pip3 install rpi-rfHinweis: Wer das nicht installiert, wird niemals die geheimen Signale der Fernbedienungen entschlĂźsseln.
đ Starten
Scanner starten (empfängt alles, was piept):
sudo python3 rf_scanner.py --gpio 27 --outfile ~/rf_senders.csv --interval 300 --verboseCodes senden (fĂźr mutige Tests):
sudo rpi-rf_send -g 17 -p 329 -t 1 -r 10 4199697đĄ MQTT Integration (fĂźr ioBrokerâHelden)
Alles, was empfangen wird, kann via MQTT an deinen Broker gesendet werden.
StandardâBrokerâIP (Beispiel): 192.168.1.1
Topics:
Events: rcscan/event (Payload: code,proto,pulselength,timestamp)
State: rcscan/code/<code>/<field> (z. B. rcscan/code/4199697/count)
Beispiel:
mosquitto_sub -h 192.168.1.1 -t "rcscan/event" -v
mosquitto_sub -h 192.168.1.1 -t "rcscan/code/4199697/#" -vrf_scanner.pyâ Hauptscanner (CSV + MQTT via mosquitto_pub)rf_analysis.pyâ einfache Auswertung (TopâCodes & beste proto/pulselength)rf_random_test.pyâ sendet zufällige Codes (zum Testen)rf_sender.pyâ neu: Beispielskript zum Senden von Codes (siehe oben)
- Achte auf Mäuse. Sie beobachten dich heimlich.
- SchĂźtze Kabel vor Nageattacken (Kabelkanal verwenden).
- Respektiere die Funkfrequenzen â stĂśr nicht die Nachbarn. Wenn du fremde Geräte schaltest, bist du kein Hero, du bist ein Problem.
- Bei Dauerbetrieb: gelegentlich
tail -n 200 ~/rf_senders.csvprĂźfen.
MIT â weil das Leben zu kurz fĂźr komplizierte Lizenzen ist.
Wenn du dieses Repo benutzt hast und dein Empfänger wieder munter ist:
- Trink einen Kaffee (oder Tee).
- Sag âHalloâ zur Maus (freundlich).
- Erzähle einem Freund von deinem Triumph Ăźber 32â64âBitâAlbträume.
Viel SpaĂ beim FunkâTĂźfteln! đ