Beliebte Suchanfragen

Cloud Native

DevOps

IT-Security

Agile Methoden

Java

|
//

DIY leichtgewichtige verschlüsselte Funkübertragung

3.8.2015 | 3 Minuten Lesezeit

Der erste Hackergarten Stuttgart fand am 23. Juli 2015 statt. Das Ziel dieses Hacks war ein verschlüsseltes Ping-Pong zweier embedded Funküberträgern.

Die Idee für den Hack stammt vom Heimautomatisierungsprojekt eines Hackers. Anscheinend gibt es Nachholbedarf im Bereich verschlüsselter Funkübertragungs-Protokolle – sowohl Software als auch Hardware. Wenn man etwas richtig haben will, muss man es eben selbst machen (DIY – Do it yourself).
Das Ziel dieses Hacks ist der Aufbau einer Funkverbindung zwischen Gateway und KNotizn, mit einem anschließend verschlüsseltem Ping-Pong (Anfrage-Antwort).

Verwendete Hardware

Beim Hackathon war folgende Hardware im Einsatz:

  • 1x Seeeduino v3.0
  • 1x SainSmart UNO R3
  • 2x RFM69HW: -120dBm 433/868/915Mhz RF Transceiver Module
  • Kleinigkeiten wie Kabel, Lötzinn…
Tipp:
Aufgepasst, der RFM69HW hat eine Betriebsspannung von 3.3V. Der angeschlossene Arduino benötigt also einen 3,3V Ausgang oder ihr verwendet ein Netzteil mit 3.3V Spannung.

Verwendete Software

Tipp:
Der Seeeduiono hat einen FTDI-USB-Chip. In dieser Anleitung wird gut erklärt, wie man den richtigen 
USB-Treiber installiert.

Aufbau

Da man mit der Arduino-Software nur einen seriellen Monitor anzeigen lassen kann, empfielt es sich, ein separates Programm hierfür zu haben (z.B. CoolTerm ), einen weiteren Rechner, oder den seriellen Monitor von Arduino zu Arduino umzuschalten.

Tipp:
Wir hatten zwei Macs. Das erleichterte das gleichzeitige Hacken.

Hardware-Aufbau

Die Verdrahtung von Arduino und RFM69HW Quelle: https://electronichamsters.files.wordpress.com/2014/09/dd_basic.png

Tipp:
Die Verbindungsdrähte und „Antenne“ des RFM69HW waren bereits angelötet (die Antenne ist für die 
Verwendung in einem Raum vermutlich redundant). Wir mussten also nur die Drähte des RFM69HW an 
den Arduino anschließen.

Software-Aufbau

Die Arduino-Software lässt sich wie im Getting Started Guide  beschrieben installieren. Als nächstes kopiert man die Bibliothek-Verzeichnisse (RFM69 and SPIFlash) in das Arduino-Bibliotheken-Verzeichnis (Standard ist hierfür $home/Arduino/libraries (analog unter Windows)).

Die RFM69-Bibliothek hat auch entsprechende Beispiele (im Verzeichnis Examples).

Die Beispiele namens Gateway und Node sind bereits einsatzbereit. Versuche das Kompilieren: Öffne die Beispiel-Datei in der Arduino-Software und führe die Verifizieren-Funktion aus (der Knopf mit dem Häkchen-Zeichen oder im Menü unter Sketch-> Überprüfen/Kompilieren)

Code-Änderungen

#define FREQUENCY RF69_433MHZ
//#define FREQUENCY RF69_868MHZ
//#define FREQUENCY RF69_915MHZ

in

//#define FREQUENCY RF69_433MHZ
#define FREQUENCY RF69_868MHZ
//#define FREQUENCY RF69_915MHZ

Lade ein Beispiel auf jeweils einen Arduino und überprüfe die Funktion mit dem seriellen Monitor (Menü Werkzeuge->serieller Monitor) . Es sollten Textausgaben zu sehen sein.

Notiz: 
Setze den baud-Wert des seriellen Monitors auf 115200 oder ändere diesen Wert in beiden Code-
Beispielen.

Wir haben das Gateway-Beipiel auf den SainSmart UNO und das Node-Beispiel auf den Seeeduiono 
hochgeladen. Das Hochladen auf den Seeeduiono hat seine Tücken. 
Man muss der Reset-Knopf während des Hochladens gedrückt halten und sofort nach Abschluss 
loslassen, sonst funktioniert es nicht. 
Wird der Reset-Knopf zu früh oder zu spät losgelassen, muss man den Vorgang wiederholen.

Wenn beide Arduinos vorbereitet sind und eine Stromversorgung haben, sollte man nun auf dem seriellen Monitor sehen, dass der Gateway Daten vom Node empfängt.

Ergebnis

Trotz der einen oder anderen Hürde haben wir es geschafft, eine Verbindung zwischen Gateway und Node aufzubauen. Die Ausgabe des Node zeigte, dass gesendet wurde und die Ausgabe des Gateway, dass es auch empfangen wurde.

Somit haben wir den Ping-Teil des Zieles erreicht.

Nichtsdestotrotz haben wir es nicht geschafft, dass der Node eine Empfangsbestätigung vom Gateway empfing bzw. ausgab. Der Pong-Teil des Zieles wurde somit nicht erreicht.

Aufbau am Platz

Ausblick

Erste Aufgabe für den nächsten Hackergarten Stuttgart wird es daher sein, das Pong zum Laufen zu bekommen. Außerdem haben wir uns ein neues Zeil ausgedacht, sozusagen eine Daseinsberechtigung für unseren Funkübertragungsaufbau. Da die Idee aus einem Heimautomatisierungs-Projekt stammt, ist es naheliegend, tatsächlich einen Hackergarten zu beschaffen und für diesen ein automatisches Bewässerungssystem zu entwickeln. Natürlich muss das System dann auch mittels verschlüsseltem Funk kommunizieren.

Update

Wir haben ein Hackergarten Github-Repo angelegt:
hackergarten-stuttgart/EWHA

Es gibt ein Fortsetzungsprojekt:
Driving a Servo on Arduino from a remote Arduino over secured radio

|

Beitrag teilen

Gefällt mir

0

//

Gemeinsam bessere Projekte umsetzen.

Wir helfen deinem Unternehmen.

Du stehst vor einer großen IT-Herausforderung? Wir sorgen für eine maßgeschneiderte Unterstützung. Informiere dich jetzt.

Hilf uns, noch besser zu werden.

Wir sind immer auf der Suche nach neuen Talenten. Auch für dich ist die passende Stelle dabei.