Startseite>Audio/Video-Wechselsprechanlage mit RasPi 3 und Pi Zero
Aus Raspberry Pi Geek 02/2018

Audio/Video-Wechselsprechanlage mit RasPi 3 und Pi Zero

© Giovanni Caito, 123RF

Wer klopfet an?

Bernhard Bablok

Wechselsprechanlagen mit Bild- und Tonübertragung gibt es zwar von der Stange, allerdings zu gesalzenen Preisen. Günstiger und obendrein flexibler ist ein Eigenbau mit Pi Zero und RasPi 3.

Dank günstiger Hardware einschließlich Kamera und eingebautem WLAN sowie einer umfassenden Software-Basis bietet die Raspberry-Pi-Familie eine solide Grundlage für technisch anspruchsvolle, aber dennoch preiswerte Lösungen. Ein typisches Beispiel dafür bietet der Aufbau einer multimedialen Gegensprecheinrichtung: Ein Pi Zero mit Mikrofon, Lautsprecher und Kamera übernimmt den Part des Senders an der Wohnungstür, dessen Anfragen ein RasPi 3 beim Drücken der Klingel entgegennimmt. Alternativ eignet sich für den Inhouse-Teil mit Einschränkungen auch ein normaler, entsprechend konfigurierter Desktop-Rechner.

Die Architektur der Anlage beschränkt sich aufs Wesentlichste (Abbildung 1): Sobald jemand an der Wohnungstür klingelt, überträgt der Pi Zero Bild und Ton ins lokale Netzwerk, das der RasPi 3 mit Raspbian empfängt. Ein Mikrofon am RasPi 3 und ein Lautsprecher am Pi Zero ermöglichen die Kommunikation. Vom RasPi 3 aus steuern Sie auch das Ende der Übertragung.

Abbildung 1: Ein Blockplan der verschiedenen Komponenten der audiovisuellen Wechselsprechanlage.

Abbildung 1: Ein Blockplan der verschiedenen Komponenten der audiovisuellen Wechselsprechanlage.

Für die Realisierung dieser Idee müssen Sie beide Mini-Rechner mit passender Software ausstatten und entsprechend konfigurieren. Wir gehen im Folgenden davon aus, dass auf beiden Systemen ein normal eingerichtetes Raspbian läuft. Beim Pi Zero genügt die Lite-Variante, der RasPi 3 benötigt die Desktop-Version.

Auch für diesen Artikel bietet der Autor ein entsprechendes Github-Projekt [1] an. Dort finden Sie unter anderem eine Installationsanleitung für beide beteiligte Systeme samt zweier Installationsskripte zum weitgehenden Automatisieren der Arbeiten. Der Kasten “Installation des WSA-Systems” beschreibt die Details.

Installation des WSA-Systems

Die Installation der WSA-Software führen Sie getrennt für den Pi Zero und den RasPi 3 durch. Auf beiden Systemen installieren Sie zuerst Git und klonen anschließend das Repository (Listing 1, Zeile 2). Danach wechseln Sie in das Verzeichnis pi-wsa/ (Zeile 3) und starten auf dem Pi Zero die Installation (Zeile 5).

Analog läuft das Ganze auf dem RasPi 3, wo Sie allerdings ein anderes Installationsskript aufrufen (Zeile 7). Wenn Sie den automatischen Start per GPIO-Überwachung nutzen, folgen auf dem RasPi 3 noch ein paar ähnliche Befehle (Zeile 9 bis 11). Das letzte Kommando fordert Sie anschließend auf, die Konfigurationsdatei /etc/gpio-poll.conf zu editieren. Das Github-Projekt bringt allerdings eine passende Version schon mit, Sie müssen gegebenenfalls lediglich die von Ihnen verwendete GPIO-Nummer ändern.

Mit den Kommandos aus Listing 1 kommt die gesamte benötigte Software auf die beiden Rechner. Die im Haupttext beschriebene Anpassung der Tastenbelegung ist auch vorbereitet: Den Inhalt von Listing 8 finden Sie in der Datei /home/pi/.config/openbox/lxde-rc.wsa.xml.

Listing 1

 

### auf Pi0 und RasPi3
$ git clone https://github.com/bablokb/pi-wsa.git
$ cd pi-wsa
### Installation Pi0
$ sudo tools/install-pi0
### Installation RasPi3
$ sudo tools/install-pi3
### GPIO-Überwachung RasPi3
$ git clone https://github.com/bablokb/gpio-poll-service.git
$ cd gpio-poll-service
$ sudo tools/install

In der Wohnung

Der RasPi 3 kommt hier nicht zuletzt deswegen ins Spiel, weil er als sehr sparsamer Desktop-Rechner quasi immer läuft. Im Prinzip funktioniert die Installation auf der Wohnungsseite mit mehr oder weniger Aufwand aber auch mit einem Linux- oder Windows-PC.

Allerdings lässt sich der automatische Start der Wechselsprechanlage, sobald jemand klingelt, unter Raspbian besonders leicht implementieren. Eine einfache Schaltung greift dabei das Klingelsignal ab und sorgt für einen Pegelwechsel an einem GPIO-Pin. Dadurch startet ein kleines Skript, das letztlich auf dem Pi Zero die Bild- und Tonübertragung startet und auf dem RasPi 3 das Anzeigeprogramm. Details dazu finden Sie im Kasten “Der Türgong am Raspberry Pi 3.

Für diese Aufgabe benötigt der RasPi 3 einige zusätzliche Software. Für die Überwachung der Klingelimpulse kommt Gpio-poll-service [2] zum Einsatz. Die zugehörige Konfigurationsdatei /etc/gpio-poll.conf zeigt Listing 2.

Listing 2

 

[GLOBAL]
debug: 0
gpios: 17
[GPIO17]
active_low: 0
edge: falling
ignore_initial: 1
command: /usr/local/sbin/wsa_start.sh

Zeile 3 listet die überwachten GPIOs auf. Da für dieses Projekt nur Pegelübergänge auf null eine Rolle spielen, schränkt die Zeile 6 die überwachten Events ein. In Zeile 8 steht dann das Kommando, das die Software beim Eintreten des Events auslöst. Der Anschluss der Klingel an den RasPi 3 stellt quasi ein Luxus-Feature dar: Das Skript wsa_start.sh aus Zeile 8 ließe sich auch manuell aufrufen, was aber den Programmstart entsprechend verzögert.

Der Türgong am Raspberry Pi 3

Für den Anschluss des Türgongs bieten sich je nach vorhandener Infrastruktur verschiedene Varianten an. In der Wohnung des Autors verteilt ein Funkgong mit PIC16F872 und RFM12-Funkmodul das Klingelsignal in alle Räume. Die Ausgabe von LOW auf einem PIC-Port-Pin gibt das Signal dann weiter an GPIO17 auf dem Raspberry Pi 3 (Abbildung 2, rechte Schaltung).

Hier muss die Pegelanpassung von 5 Volt (PIC oder ähnlich) auf 3,3 Volt (RasPi) stimmen. Zu Testzwecken lässt sich das Ganze ohne Klingelsignal mit einem Taster (S1) auf dem Steckboard realisieren (Abbildung 2, linke Schaltung). Hier kommen die 3,3 Volt vom RasPi direkt zum Einsatz.

Verlegen Sie lediglich die beiden Klingeldrähte bis zum RasPi 3 weiter, können Sie diese wie in Abbildung 3 gezeigt anschließen. Wegen eventuell auftretender Störeinstrahlungen aufgrund der längeren Leitungen sollten Sie die Schaltung ab dem Brückengleichrichter am RasPi platzieren.

Abbildung 2: Beim Schaltplan rechts greift der RasPi das Klingelsignal per PIC von der Klingel ab. Die Variante links zeigt einen Testaufbau mit einem Taster.

Abbildung 2: Beim Schaltplan rechts greift der RasPi das Klingelsignal per PIC von der Klingel ab. Die Variante links zeigt einen Testaufbau mit einem Taster.

Abbildung 3: Der Schaltplan zeigt den Anschluss des RasPi direkt an den Klingeldraht.

Abbildung 3: Der Schaltplan zeigt den Anschluss des RasPi direkt an den Klingeldraht.

Die Gegenstelle

Das am Pi Zero angeschlossene filigrane Flachbandkabel, das den Kontakt zur Kamera herstellt, ist die Achillesferse der Konstruktion. Achten Sie penibel darauf, es korrekt anzuschließen, sodass die Kamera ohne Probleme funktioniert. Sie testen den Aufbau am einfachsten mittels des Kommandos raspistill -o bild.jpg: Leuchtet die LED an der Kamera auf und enthält die entstandene Datei ein Bild, dann klappt die Kommunikation mit der Kamera.

An den USB-OTG-Anschluss stecken Sie ein OTG-Kabel und daran eine USB-Soundkarte. Stellen Sie sicher, dass das Board unter Linux funktioniert. Hinweise dazu gibt es im Internet, etwa bei den Bewertungen von Kunden oder auf Elinux [3]. Gute Erfahrungen haben die Autoren mit der Creative Soundblaster Play (etwa 17 Euro) und der LogiLink UA0053 (rund 4 Euro) gemacht. Beim Mikro greifen Sie zu einem einfachen Kapselmikrofon.

Soundkonfiguration

Damit Alsa, die Advanced Linux Sound Architecture, den Ton über die Soundkarte aufnimmt, müssen Sie noch deren Konfiguration anpassen. Listing 3 zeigt die entsprechende Konfigurationsdatei /etc/asound.conf. Damit keine Benutzerkonfiguration diese globalen Einstellungen außer Kraft setzt, stellen Sie sicher, dass in /home/pi/ keine Datei .asoundrc existiert.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 7 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
€0,99 – Kaufen
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS
Deutschland