Getestet mit:Raspberry Pi 2; Raspberry Pi B+; Python 2.7; Raspbian pre Jessie
Voraussetzungen:Raspberry Pi mit Raspbian Jessie und Internetverbindung (siehe Schritte 1-7 in der Einfuehrung)
Aufbau einer einfachen LED-Anzeige (optional)
Bauteile:2 Raspberry Pi mit Stromversorgung und SD-Karten >= 4Gb
433Mhz Sender und Empfaenger
weibliche Jumperkabel
zusaetzlicher Bildschirm und Tastatur
2

Kabellose Datenuebertragung ueber Wifi fuer den Raspberry Pi mit Pi-Switch

Update
Leider wird pi-switch nicht mehr gewartet! Verwende statt dessen rpi-rf als gut bedienbaren Ersatz: Funksteckdosen schalten mit rpi-rf

Pi-Switch ist eine Python-Version des Arduino-Programmes rc-switch zum Schalten von Funksteckdosen, aber auch zur drahtlosen Datenuebertragung fuer den Raspberry Pi. In der neusten Version bietet auch pi-switch die Moeglichkeit der Datenuebertragung per Funk. Wiederum vielen Dank an Alexander Ruedlinger fuer das hervorragende pi-switch!

Dieses Tutorial zeigt, wie eine einfache Datenuebertragung zwischen zwei Raspberry Pi eingerichtet werden kann: ein anderes Tutorial erklaert, wie pi-switch Funksteckdosen schaltet.

Pi-switch Installation
Verbinde einen Raspberry Pi mit dem Festrechner, entweder ueber Lan oder Wlan(siehe Voraussetzungen). Gib nach dem Einloggen im Terminal ein

Nach Abschluss der Installation muss pi-switch ebenso auf der zweiten SD-Karte installiert werden; alternativ kann das Disk Image mit gnome-disks kopiert werden.

Spannungsteiler
Da der 433Mhz Receiver auf 5 Volt laeuft, ein RPi aber maximal 3.3v Signalstaerke an seinen Inputs vertraegt, muss ein Spannungsteiler eingebaut werden. Hierzu wurden zwei 4.7k Ohm Widerstaende direkt am Empfaenger angeschlossen: ein Widerstand ausgehend vom Signal teilt zum RPi-Input und GND ueber den zweiten Widerstand (im Schrumpfschlauch).

433MHz receiver

433MHz -Empfaenger mit Spannungsteiler

Aufbau
Hier ein Bild des Gesamtaufbaus:

Piswitch Transmission Setup

Pi-switch Datenuebertragung Aufbau

Guenstige 433Mhz-Sender und -Empfaengerpaare gibt es beispielsweise bei Amazon.

Sender Verkabelung
Der 433Mhz Sender hat drei Pins: VCC, GND und DATA. Verbinde VCC mit Pin 1, GND mit Pin 6 und DATA mit Pin 11 des ersten Raspberry Pi in der BOARD-Nummerierung.

Empfaenger Verkabelung
Verbinde VCC des Empfaengers mit Pin 2, GND mit Pin 6 und DATA ueber den Spannungsteiler mit Pin 13 des zweiten Raspberry Pi, auch in BOARD-Nummerierung. Im Datenblatt des Empfaengers steht, welcher Anschluss am Empfaenger DATA entspricht.

LED-Anzeige
Die LED-Anzeige dient hier Demonstrationszwecken und ist daher optional. Der Link mit dem Tutorial zum Zusammenbau der LED-Anzeige ist am Anfang dieses Tutorials unter „Voraussetzungen“ zu finden.

Benutzung
Die beiden Raspberry Pi muessen unabhaengig voneinander bedient werden. Bei diesem Aufbau ist ein Raspberry Pi ueber Ethernet an einen Festrechner und der andere an einen eigenen Bildschirm und Monitor angeschlossen. Das gleiche Script, display_piswitch.py, wird zum senden und empfangen von Daten verwendet.
Der Sender started die Datenuebertragung nach Eingabe von

im Terminal. Gesendet wird eine Ganzzahl, die jede Sekunde um eins erhoeht wird, beginnend mit null.

Der Empfaenger-Raspberry Pi wird gestartet durch die Eingabe von

in seinem Terminal. Das Empfaenger hoert jetzt auf einkommende Daten und gibt diese im Terminal aus. Zusaetzlich wird die empfangene Zahl auf der LED-Anzeige als Binaerzahl ausgegeben. Der Code des Scriptes ist nicht schwierig: wenige Zeilen reichen, um pi-switch einzurichten.

Anwendungsmoeglichkeiten
Datenuebertragung mit pi-switch koennte beispielsweise benutzt werden, um Zustaende zwischen Raspberry Pis zu uebertragen, ohne ein Wlan Netzwerk aufbauen zu muessen. Hierzu sollte jedoch eine bidirektionale Kommunikation eingerichtet werden, damit der Datenempfang bestaetigt werden kann. Durch Abfrageintervallverschiebungen koennen naemlich Datenuebertragungen fehlschlagen, wie im folgenden Video, in dem einige Zahlen fehlen.

Das ganze Script
Klicke auf Ganzes Script um das ganze Programm anzuzeigen.

Demonstration

Links
Pi-Switch auf GitHub: https://github.com/lexruee/pi-switch-python
Home automation with rc switches: http://www.knight-of-pi.org/cheap-home-automation-with-a-raspberry-pi-controlling-rc-switches-with-pi-switch/
Creating disk images with gnome-disks: http://www.knight-of-pi.org/sdisk-images-for-complex-rapberry-pi-projects/
Hausautomation mit Funksteckdosen: http://www.knight-of-pi.org/de/preiswerte-hausautomatisierung-mit-dem-raspberry-pi/
Disk images mit gnome-disks erzeugen: http://www.knight-of-pi.org/de/disk-images-fuer-komplexe-projekte/
Funksteckdosen mit rpi-rf: http://www.knight-of-pi.org/de/hausautomatisierung-mit-rpi-rf_send-und-rpi-rf_receive-fuer-433mhz-funksteckdosen/

Knight of Pi

Johannes Bergs aka Knight of Pi. Diploma in Bioinformatics, some Webdesign and Python coding then. Living in the beautiful city of Vienna.

2 Comments

  1. Sollte bei der Empfänger-Verkabelung Data nicht über einen Spannungsteiler mit pin 13 des Pi verbunden werden? Sonst liegen 5V an dem GPIO und der Pi ist hin!! (Der Pi verträgt nur 3,3V).

Schreib einen Kommentar zu Knight of Pi Antworten abbrechen

Time limit is exhausted. Please reload CAPTCHA.