Funksteckdosen am Raspberry Pi

Ich hatte im Elektronikhandel günstig einen Satz dreier Funksteckdosen erstanden und am gleichen Tag in einer Drogeriekette auch ein Set per Fernsteuerung schaltbarer LED-Spots eingekauft. Funksteckdosen werden üblicherweise auf der 433-MHz-Frequenz angesteuert, meine Hoffnung war, dass die LED-Spots mit der gleichen Frequenz geschaltet werden.

 

Der erste Ansatz

Meine ursprüngliche Idee war, einen 433-MHz-Empfänger und ein passendes Sendemodul für den Raspberry zu besorgen (zum Beispiel hier oder hier), damit (so wie beispielsweise hier sehr schön beschrieben) einmalig die verwendeten Funk-Codes meiner Fernbedienungen auszulesen und in Software nachzubilden, um dann den Raspberry Pi und das Sendemodul als neue Fernbedienung für beide Geräte nutzen zu können. Da ich aber an diesem Tag weder Sender noch Empfänger zur Hand hatte, begann ich zunächst die Geräte aufzuschrauben in der Hoffnung, irgendwo eines dieser Teile auslöten zu können.

 

Ein zweiter Plan entsteht

Zunächst fiel mir auf, dass zu beiden Fernbedienungen je eine CR-2032-Batterie mitgeliefert wurde, die Schaltungen also auf 3 Volt, ähnlich der GPIO-Spannung des Raspberry Pi, ausgelegt sind. Weiterhin beinhalteten die Geräte einige integrierte Schaltungen, über die gewisse “Komfortfunktionen”, wie eine 30-minütige Zeitschaltung oder das Dimmen der LED-Spots, bereits realisiert sind. Auf der Platine der Fernbedienungen war ausserdem gut zu erkennen, dass sämtliche Mikroschalter, über die alle Funktionen angesprochen wurden, jeweils immer den Erde-/Ground-Kontakt zum Batteriefach herstellten.

Ich beschloss daher, die ICs und die Logik der Fernbedienungen als “Black Box” zu betrachten und beizubehalten und im Gegenzug die Funktion der Mikroschalter mit dem Raspberry Pi nachzubilden. Mit diesem Ansatz würden alle Komfortfunktionen erhalten bleiben, ich würde keinen zusätzlichen 433-MHz-Sender benötigen und auch nicht die Funk-Codes der Fernbedienungen ausspähen und nachbilden müssen.

 

Die Umsetzung

Gesagt, getan: An jeden der von mir benötigten Mikroschalter-Kontakte (On, Off, Zeitschaltung etc.) lötete ich, direkt auf der Platine der Fernbedienung, jeweils einen NPN-Transistor (BC-337 mit 10 kOhm Widerstand an der Basis) parallel als zusätzlichen elektronischen Schalter an. Die Batterie wird entfernt, den Plus-Pol des Batteriefachs verband ich mit einem 3,3-Volt-GPIO-Pin des Raspberry Pi, den Minuspol des Batteriefachs und die Emitter der Transistoren mit einem der Ground-GPIO-Pins des Raspberry. Die Basis-Widerstände jedes Transistors wurden jeweils mit einzelnen weiteren GPIO-Pins verbunden.

Funk-Fernbedienung Platine

Um die Fernbedienung nutzen zu können, wird nun zunächst auf den “Plus-Pol”-GPIO eine Spannung angelegt, um die Schaltung unter Strom zu setzen. Ein weiterer, kurzer Impuls auf einer der Transistor-Basis-GPIO-Verbindungen simuliert dann den Tastendruck auf der Fernbedienung und die Geräte werden wie gewünscht durch die Fernbedienung geschaltet.

Die Platinen der Fernbedienungen und die einfach auf ein Stück Pappkarton aufgelöteten Transistorschaltungen ließ ich später noch in einer nicht mehr benötigten, aber dekorativen Pappschachtel neben dem Raspberry Pi verschwinden (auf dem Foto ist links auch die IR-LED zur Fernbedienung von Fernseher und LED-Beleuchtung aus dem DiBOB zu sehen).  Die Verbindung zu den GPIO-Pins des Raspberry stellte ich über ein altes IDE-Kabel aus der Bastelkiste her.

Diese “Simulation des Tastendrucks einer Fernbedienung” über eine Transistor-Schaltung und einen GPIO-Impuls gelang schnell und war unproblematisch, darüberhinaus auch kostengünstig, da kein eigener Sender beschafft werden musste – und sie funktioniert bis heute einwandfrei!

Funk-Fernbedienung Box

Mein Kommentar...