Bemerkung
Das Starterkit: Hardware Hacking wird aktuell nicht mehr verkauft, da einfache Funksteckdosen nicht mehr verfügbar sind.
Das Starterkit: Hardware Hacking ermöglicht es Kleinstspannungs-Elektrogeräte zu hacken und so mit Tinkerforge Modulen zu verbinden. Jeder (Embedded-)PC und jedes Smartphone/Tablet kann genutzt werden um mit den gehackten Geräten zu interagieren. Interaktion ist über USB sowie über WLAN mit Hilfe der WIFI Extension möglich. Auch eine Ethernet Schnittstelle kann mit der Ethernet Extension hinzugefügt werden.
Zwei Funksteckdosen sind in diesem Kit enthalten, so dass direkt mit dem Hacken begonnen werden kann. Eine Schritt-für-Schritt Anleitung erklärt wie diese gehackt werden können (Lötkolben, Lötzinn und Schraubendreher benötigt).
Es gibt zwei Gruppen von Anwendungen für dieses Kit: Steuern und Auslesen. Für Steuerungsanwendungen wird ein Industrial Quad Relay Bricklet mitgeliefert. Dieses besteht aus vier schaltbaren Solid-State-Relais. Für Ausleseanwendungen wird ein Industrial Digital In 4 Bricklet mitgeliefert. Dieses kann vier digitale Signale mit Spannungen bis zu 36V galvanisch getrennt auslesen.
Dokumentierte Beispielanwendungen sind:
Eine Vielzahl weiterer Anwendungen sind möglich. Alles was über eine Fernbedienung gesteuert wird oder digitale Signale ausgibt kann mit diesem Kit kinderleicht gehackt werden. Die dokumentierten Beispiele sollten ausreichen um auch ohne Vorkenntnisse jedes Elektrogerät in dieser Kategorie zu hacken.
Die Programmierung kann über alle verfügbaren Bindings (C/C++, C/C++ für Mikrocontroller, C#, Delphi/Lazarus, Go, Java, JavaScript, LabVIEW, Mathematica, MATLAB/Octave, MQTT, openHAB, Perl, PHP, Python, Ruby, Rust, Shell, Visual Basic .NET) stattfinden. Beispielimplementierungen für viele Programmiersprachen und Demo-Anwendungen erleichtern den Einstieg in die Programmierung mit Tinkerforge.
Ein How-To-Video das zeigt wie man eine Funkfernbedienung hackt sowie Anwendungen des Kits gibt es auf Youtube:
Eigenschaft | Wert |
---|---|
Digitale Eingänge | 4 |
Spannungsbereich Low Pegel | 0-2V |
Spannungsbereich High Pegel | 3-36V |
Digitale Ausgänge | 4 |
Maximaler Schaltstrom | 1,2A pro Relais |
Maximale Schaltspannung | 30V pro Relais |
Im ersten Schritt sollten die Bricks und Bricklets ausprobiert und die Firmwares ggf. aktualisiert werden.
Dazu müssen der Brick Daemon und der Brick Viewer installiert werden. Schließe beide Bricklets an den Master Brick an und verbinde es per USB mit dem PC. Anschließend kann über den Brick Viewer bestimmt werden, ob alle Firmwares aktuell sind. Falls nicht, so sollten diese aktualisiert werden (Bricks aktualisieren, Bricklets aktualisieren):
Danach sollten mit dem Brick Viewer alle Bricks und Bricklets überprüft werden. Dazu klickt man am besten durch die verschiedenen Tabs und überprüft, dass der Master Brick und die Bricklets korrekt angezeigt werden.
Es gibt zwei grundlegende Möglichkeiten dieses Kit zu nutzen: Spannungen messen und Spannungen schalten. Eine detaillierte Erklärung der Grundlagen befindet sich im Hardware Hacking für Anfänger Tutorial.
Warnung
Die genannten Spannungsobergrenzen sind einzuhalten! Geräte die über eine potentiell gefährlich hohe Spannung versorgt werden (z.B. Netzspannung) dürfen nicht gehackt werden!
Der aktuelle Zustand von Elektrogeräten wird oft irgendwo in Form einer elektrischen Spannung repräsentiert. Wenn es sich um ein digitales Signal handelt und dessen Spannung unter 36V liegt, dann kann ein Industrial Digital In 4 Bricklet damit verbunden und der Zustand ausgelesen werden. Ein gutes Beispiel dafür sind LEDs. Eine LED die den Zustand eines Systems anzeigt, kann problemlos ausgelesen werden.
Hierbei ist es wichtig zu beachten, dass die minimale Spannung, die als High erkannt wird, bei 3V liegt. Die maximale Spannung die als Low erkannt wird liegt bei 2V. Zwischen diesen Spannungen ist das Verhalten undefiniert.
Um ein Signal auszulesen muss dieses an einen der Eingänge des Industrial Digital In 4 angeschlossen werden. Falls keine Reaktion des Eingangs im Brick Viewer zu erkennen ist, kann es sein das die Belegung gedreht werden muss (verpolt). Die Belegung kann per Trial and Error getestet werden. Das Industrial Digital In 4 ist verpolungsgeschützt.
Die nachfolgende Abbildung zeigt exemplarisch die notwendige Schaltung zum Auslesen einer LED. Hierbei wurde der Vorwiderstand mit einbezogen um ausreichende Pegel für die High/Low Detektion zu erhalten.
Mit dem Industrial Quad Relay Bricklet können Signal geschaltet (kurz geschlossen) werden. Viele Geräte verfügen über Taster oder Schalter die mit diesem Bricklet gehackt werden können. Ein gutes Beispiel hierfür sind Fernbedienungen.
Die nachfolgende Abbildung zeigt exemplarisch einen möglichen Aufbau um einen Taster/Schalter mit dem Industrial Quad Relay Bricklet zu steuern.
Um ein Industrial Digital In 4 oder Industrial Quad Relay Bricklet mit einem Gerät zu verbinden muss zuvor folgendes erledigt werden:
Im Hardware Hacking für Anfänger Tutorial werden diese Schritte genauer erläutert.
Es gibt viele Geräte die gehackt werden können. Hier sind ein paar Beispiele:
In diesem Kit sind zwei Funksteckdosen enthalten die als erster Schritt in die Hausautomatisierung genutzt werden können. Wir werden die Fernbedienung dieser Funksteckdosen hacken, so dass wir die Steckdosen über den PC schalten können.
Dazu schließen wir ein Industrial Quad Relay Bricklet an die Taster der Fernbedienung an. Es gibt eine große Anzahl an Funksteckdosen und Fernbedienungen auf dem Markt. Die meisten kommerziell erhältlichen Fernbedienungen nutzen einen HX2262 IC mit einem Hardwaredesign welches identisch zu der hier verwendeten ELRO Fernbedienung ist. So kann diese Beschreibung auch für die meisten anderen Funksteckdosen- Fernbedienungen genutzt werden.
Die vollständige Beschreibung des Hardware-Aufbaus ist hier zu finden.
Beispiel Apps für Android (Java), Windows Phone (C#) und iOS (ObjC) sind verfügbar.
Eine Beispielimplementierung mit GUI (kompatibel mit Windows (.NET), Linux (Mono) und macOS (Mono)) ist verfügbar in C#.
Minimalistische Beispiele sind verfügbar in:
C, C#, Delphi, Java, PHP, Python, Ruby, Visual Basic .NET
Über drahtlose Rauchmelder ist es möglich den Alarm eines ganzen Rauchmelder-Netzwerks an einem Punkt auszulesen. Wir werden uns dies zu nutze machen und eigene Aktionen ausführen wenn Rauch erkannt wird. Hierzu hacken wir einen drahtlosen Rauchmelder. Als Beispiel könnten wir im Alarmfall eine E-Mail oder Textnachricht verschicken.
Für dieses Projekt nutzen wir ein drahtlose Rauchmelderset und schließen ein Industrial Digital In 4 Bricklet an eine der LEDs an, die im Alarmfall aufleuchtet.
Eine ausführliche Beschreibung des Hardware-Aufbaus ist hier zu finden.
Beispielimplementierungen mit Schritt-für-Schritt Anleitungen sind verfügbar für:
C, C#, Delphi, Java, PHP, Python, Ruby, Visual Basic .NET
Garagentoröffner besitzen typischerweise eine Fernbedienung. Eine solche Fernbedienung wollen wir in diesem Beispiel hacken. Anschließend werden wir das Garagentor über eine kleine App mit dem Smartphone steuern können, so dass die Fernbedienung nicht mehr mitgenommen werden muss.
Eine kurze Beschreibung des Hardware-Aufbaus kann hier gefunden werden.
Beispiel Apps für Android (Java), Windows Phone (C#) und iOS (ObjC) sind verfügbar.
In diesem Projekt verbinden wir das Industrial Digital In 4 Bricklet mit einer typischen, 12V betriebenen, Türklingel. Sobald jemand klingelt, wird unser Python Skript "Ring Ring Ring!" ausgeben. Dieses Projekt kann natürlich erweitert werden, so dass eine SMS versendet wird oder dein Telefon klingelt wenn jemand an der Tür ist. Sei kreativ!
Eine Beschreibung des Hardware-Aufbaus und mehr Fotos gibt es hier.
Die Beispielanwendung in Python gibt es hier.