VOIP SIP Video Türsprechstelle Eigenbau (Teil 1)

Vista Door Aussen und Innen Einheit
Vista Door Aussen und Innen Einheit

 Ich bin auf ein sehr interessantes Projekt gestoßen. Das ganze kam nur da meine Video Türsprechstelle nach genau 2 Jahren den geist auf gegeben hat. Nach dem ich keine Lust hatte mit dem Lieferanten darüber zu streiten, das die Garantie ab Lieferung und nicht bei Rechnungsstellung gilt, habe ich mich entschieden das ganze System zu tauschen. Die bestehende Aussenstelle hätte ich tauschen oder reparieren lassen, aber ich denke das diese  dann auch nicht lange gehalten hätte, da die innere Elektronik nicht geschützt war. Feuchtigkeit konnte ohne Probleme eindringen. Die Platine war gegen Korrosion geschützt, aber die einzelnen ICs waren da schon sehr angegammelt. Die VistaDoor Einheit sieht Aussen wie auch Innen sehr schön aus. Hat aber einige wie ich meine Kontruktionsfehler. Die Sprache und das Video Bild waren auch immer OK. Kein Brummen oder Rauchen im Ton und das Video Bild war gestochen scharf. Nachts konnte man dank der eingebauten IR Dioden auch noch genug erkennen.

Rito Aussensprechstelle
Rito Aussensprechstelle

Auf der Suche nach einer Alternative hatte ich mal wieder vergessen wie teuer diese Lösungen sind. Meist geht es da nicht nur um die Funktion, die Außenstation und Inneneinheit sollten schon nach etwas aussehen. Meisten liegt da drin der Haken, da die Handelsüblichen Außenstationen wenig mit Design zu tun haben. Dann kommt noch hinzu daß das ganze auch funktionieren muss. In der Vergangenheit hatte ich da schon viel erlebt. Von Dauer Brummen, gestörte Video Übertragung bis hin das man die Gegenseite nicht verstanden hat oder das der Tür Summer nicht ging.

Also waren da schon mal 2 Aspekte die erfüllt werden müssen.

  • Das Desing soll für die Innen und Aussenstation ansprechend sein
  • Klare Verständigung in Bild und Ton
  • IP / SIP währe wünschenswert
  • Mehrwert Funktionen und Flexible Möglichkeiten
Sidle Aussenstation
Sidle Aussenstation

Und nun ging die Suche Los… Die alte Variante schlug schon mit 800 € Invest ganz schön ins Portmonee. Die meisten Systeme sind schon anhand der vorsintflutlichen Außenstation , auszuschliessen , da die Aussenstationen mehr an

Gira Aussen-Sprechstelle
Gira Aussen-Sprechstelle

einer Sprechstelle aus einem U-Boot…von 1945…., erinnern. Dann kam noch der Aspekt der Sprachqualität zum Tragen.

Warum nicht Digital bzw. eine IP VOIP/SIP System ? Nun war ich bei Systemen angekommen wo die Preisspanne bei 3000 – 8000 € liegen. Auch wenn die RITO, ELCOM, Sidle und die anderen Hersteller Ihr Handwerk beherrschen, fand ich die Preise als sehr unverschämt an.

Ich kann nicht verstehen was so teuer ist, das ein SIP Client (TÜR) eine Rufnummer anrufen zu lassen und dann noch ein Video Bild zu übertragen wenn jemand auf den Klingel Knopf drückt.

Dann bin ich auf ein Raspberry Projekt gestossen. Ich finde diesen kleine Mini Rechner sehr faszinieren, und da mein gesamtes Multiroom System damit läuft würde ein weiterer nicht mehr auffallen in meiner Sammlung.

Zu dem Projekt. DoorPI basiert auf Python Script Sprache. Als SIP Client bedient sich die Software der Opensource Software LinPhone. Da LinPhone auch ein Python API hat st das eine optimale Kombination. Folgende Funktionen sind eingebaut in DoorPI und Funktionsfähig.

  • Aktion ausführen wie
    • Mail Versenden mit Bild
    • Kontakte öffnen oder schliessen
    • SIP Call generieren
    • SIP Calls entgegen nehmen
    • auf DTMF reagieren
  • auf Eingänge mit Aktionen reagieren
  • auf Events reagieren
  • RFID Chips auslesen und Aktionen ausführen
  • Gespräche aufnehmen
  • Video Stream bereitstellen oder SIP Video Call

Also alles was eine gute Türsprechstelle so können muss und noch mehr. Für alle Teile (ohne Gehäuse) liegt man dann so bei 160€. Das Ganze läuft auf einem Raspberry PI. Als Innenstation kann eine Android Phone mit einen SIP Client oder ein Tab das an der Wand montiert ist genutzt werden. Auch für mehrere Parteien ist das System geeignet. Ich habe mich für folgende Konstellation entschieden.

Aufbau und Funktion:

Ich habe meine altes Sprechstellen Gehäuse genommen und dort den Raspberry Pi mit dem PiFace Modul verbaut.  Das PiFace ist nur ein optionales Modul, hat aber durch Tasten Eingänge und 2 Relais (5A 230V) genug Ein und Ausgänge. Somit muss dann nicht direkt die GPIO des PI genommen werden und die Eingänge sind durch das PiFace geschützt. Dazu kommt noch eine PI Kamera für das Video Bild. Als kleines Gimick habe ich noch hinter den Tasten der Sprechstelle ein RFID Modul verbaut. Wenn man einen gültigen Chip oder Karte vorhält öffnen sich die Tür. Bei einem Stückpreiss von ca 65 Cent je Chip, kann man gerne den einen oder anderen verlieren. Der Chip wird dann einfach in der Konfig deaktiviert.

Bei Tastendruck wird ein SIP Call an einen andere Teilnehmer initialisiert. Dieser Klingelt dann.  DoorPi nutzt als SIP Client LinPhone um dem Anrufenden Client einen SIP Call mit Video Bild zu liefern. Dies kann  auch eine LinPhone, oder andere SIP/Video fähige  APP auf einem Android Tab oder Phone sein. Oder DoorPi nutzt nur die Sprachverbindung zum Client. Dann könnte man auch jede andere Rufnummer internen oder auch extern (Handy) anrufen. Der Client muss dann aber um ein Video Bild zu bekommen einen HTTP Stream abrufen. Leider geht nicht beides, da nur eine Applikation auf die Kamera zugreifen kann. Entweder LinPhone oder der HTTP Stream.

Da ich als Client die APP von Elcom nutze die eine schöne Türsprechstellen Oberfläche hat und dann noch 4 weitere Kameras einbinden kann, habe ich mich für einen SIP Audio Call entschieden und lasse die APP den Stream sich von der PI Kamera abholen. Das würde auch mit jeder anderen IP Kamera gehen, die über das HTTP Protokoll streamen kann.

Dann wurden noch div. Kabel und andere klein Bauteile verbaut. Der Zusammenbau wird dann im Teil 2 beschreiben.

Einkausliste:

Piface Digital 2 Erweiterung Board : 45.99€

Ist das treuste Teil. Der Pi kann auch direkt über die GPIO angesteuert werden, kann aber kein Türsummer schalten. Dazu würde man wieder Relais benötigen. Auch die Eingänge währen ungeschützt. Das PIFace Modul hat alles was man braucht drauf und zum Testen dann noch ein Paar Taster.

Raspberry PI B+: 30-50€

Hier kann man auch zu einer älteren Variante übergehen. Die Leistung ist da nicht entscheidend. Wichtig ist nur das, wenn man das PiFace Modul nutzen möchte, auf das richtige Board achtet. Die PINs der GPIO der Raspberry sind nicht gleich.

RFID Karten/Chip Leser RDM 6300: 16.24€

Mit diesem Modul kann man über die Serielle Schnittstelle des PI RFID Karten oder Chips auslesen. Damit kann dann die Tür geöffnet werden. Ist nur Optional, aber ganz nett.

Kleinteile: 10€

Schrauben Kabel usw kann man sehr gut und billig bei Pollin kaufen. Meist ist es günstiger ein Sortiment an Flachbandkabel oder Schrauben zu nehmen. Da ist immer was dabei. Pollin

USB Soundkarte: 6 €

Da der Raspberry keine Mikrofone Eingang hat muss hier auf was externes zurückgegriffen werden. Die Soundkarte ist meist einem Preis bei 6 € sehr günstig. Der Klang ist ausreichend.

Mikrophon:

Das Mikro von der alten Sprechstelle hatte wohl nicht die richtige Impedanz. Ich habe ein altes PC Mikrophone gefunden und habe das dann verbaut.

DC/DC Konverter von 15V auf 5V: 5,99€

Die meisten Türsprechstellen nutzen höher Spannungen als der PI benötigt. Mit dem DC/DC Konverter kann eine Gleichspannung angepasst werden ohne hohe Verluste. Alternativ gleich ein 5 Volt Netzteil nehmen.

Audioverstärker: 2,95 €

Die Ausgabe des USB Stoundsticks ist nicht ausreichen um eine klare Verständigung aufzubauen. Da bin ich bei Pollin fündig geworden. (NF Verstärker bei Pollin).10 Watt sollten da ausreichen sein.
Es hat sich rausgestellt das 1 Watt ausreichend ist.

Raspberry PI Kamera: 23,50 €

Um noch ein Videobild zu bekommen brauchen wir eine Video Quelle. Die Kamera sollte keinen IR Filter haben, damit man in der Nacht mit einem IR Scheinwerfer die Nacht zum Tage machen kann. Da geht nur das Raspberry Pi NoIR Kamera-Modul.

Ich habe mal alle Infos zusammen getragen und eine Anleitung geschrieben die sich nicht nur um DoorPI dreht, sondern auch die anderen Aspekte berücksichtigt wie Androids Apps, Video Streaming, USB Soundkarte etc…Auf der Seite der Entwickler (https://github.com/motom001/DoorPi/wiki) kann man auch alles nachlesen. Auch hier gibt es Hilfe zu Problemen. Danke an alle die an diesem Projekt arbeiten insbesondere an:

Authors: Thomas Meissner motom001@gmail.com
Supporter: Phillip Munz office@businessaccess.info
Hermann Dätsch doorpi1@gmail.com
Dennis Häußler haeusslerd@outlook.com
Hubert Nusser hubsif@gmx.de
Michael Hauer frrr@gmx.at

Vorbereitung:

Als Voraussetzung nehmen wir ein Debian Raspberry Image. Wie man das erstellt und auf die Flash Karte kopiert kann man hier nachlesen.

Als nächstes über SSH verbinden und alles updaten. Das sollte man immer machen damit man die neusten Pakete auf dem Betriebssystem hat.

sudo apt-get update
sudo apt-get upgrade

Danach müssen wir die Kamera aktivieren und die SPI Schnittstelle für die PIFace Platine. Über SSH das Config Programm vom Raspberry starten

sudo raspi-config

Wenn der Befehl nicht vorhanden ist muss noch das Paket installiert werden

sudo apt-get install raspi-config

Kamera:

Im Menu für die Aktivierung der Kamera folgendes machen

  • Punkt 5 enable camera
  • Frage nach reboot mit nein beantworten

PIFace Modul:

Wenn man das Zusatzmodul PIFace nutzt will müssen wir die SPI Schnittstelle  im Konfig Menu aktivieren.

  • Punkt 8 Advance Options auswählen
  • SPI auswählen
  • enable auf ja setzten
  • mit OK bestätigen
  • Load default auf  ja setzten
  • Frage nach reboot mit nein beantworten
RFID Leser:

Damit man die Serielle Schnittstelle für den RFID Leser nutzen kann muss man die Consolen Ausgabe vom Raspberry auf die Serielle Ausgabe abschalten. Entweder kann man das im Raspberry Menu machen (siehe oben, dann auf Serial und disable gehen. oder in den Config Files. Dazu folgende Datei ändern /boot/cmdline.txt mit..

sudo nano /boot/cmdline.txt

von: dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 ro$….
in :  dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 ro$….

und in der Datei /etc/inittab folgende Zeile auskommentieren (# davor)

sudo nano /etc/inittab

von: T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
in:   #T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100

Nun können wir den Raspberry neu starten damit alle Änderungen übernommen werden.

sudo reboot
Kamera einrichten:

In der Regel werden die Treiber von der Kamera automatisch geladen. Damit wir aber sicher sind, das diese nach dem neu starten geladen werden, machen wir folgendes.

sudo modprobe bcm2835-v4l2
su root
echo bcm2835-v4l2 >> /etc/modules
exit
DoorPI Installation:

Da das Projekt sich verändert empfehle ich auf der Projekt Site mal vorbeizuschauen.

https://github.com/motom001/DoorPi#installation

Die Anleitung zur Installation ist da immer aktuel. Auch das neue Forum sollte man nutzen:

http://board.doorpi.org/index.php

Jetzt geht es los mit der eigentlichen Arbeit. Als erstes brauchen wir das Paket Python.

sudo apt-get install python-daemon
sudo apt-get remove python-pip
sudo apt-get install python-setuptools

warnings und meldungen ignorieren
Searching for pip
Reading http://pypi.python.org/simple/pip/
Best match: pip 7.1.2
Downloading https://pypi.python.org/packages/source/p/pip/pip-7.1.2.tar.gz#md5=3823d2343d9f3aaab21cf9c917710196
Processing pip-7.1.2.tar.gz
Running pip-7.1.2/setup.py -q bdist_egg –dist-dir /tmp/easy_install-_CGWZR/pip-7.1.2/egg-dist-tmp-MEakLB
warning: no previously-included files found matching ‚.coveragerc‘
warning: no previously-included files found matching ‚.mailmap‘
warning: no previously-included files found matching ‚.travis.yml‘
warning: no previously-included files found matching ‚pip/_vendor/Makefile‘
warning: no previously-included files found matching ‚tox.ini‘
warning: no previously-included files found matching ‚dev-requirements.txt‘
no previously-included directories found matching ‚.travis‘
no previously-included directories found matching ‚docs/_build‘
no previously-included directories found matching ‚contrib‘
no previously-included directories found matching ‚tasks‘
no previously-included directories found matching ‚tests‘
Adding pip 7.1.2 to easy-install.pth file
Installing pip script to /usr/local/bin
Installing pip2.7 script to /usr/local/bin
Installing pip2 script to /usr/local/bin
Installed /usr/local/lib/python2.7/dist-packages/pip-7.1.2-py2.7.egg
Processing dependencies for pip
Finished processing dependencies for pip
….

sudo pip install wheel
sudo pip install --upgrade pip

Falls man das „Filesystem Keyboard“ verwenden möchte (Schaltein-/ausgänge über Dateien), muss Python Watchdog installiert werden. Für das standardmäßig noch auf Debian Wheezy basierende Raspbian gibt es kein Paket, die Installation erfolgt per:

sudo apt-get install python-yaml
sudo easy_install watchdog

Hat man schon auf Debian Jessie aktualisiert, muss das Paket verwendet werden:

sudo apt-get install python-watchdog
PIFace Python Software:

Möchte man an den Raspberry PI  die Klingel Taster nicht direkt anschliessen und auch über ein Relais den Türöfnner schalten, kann man das PIFace Digital 2 Modul nutzten. Das nutzt die oben genannte SPI Schnittstelle. Bei einer Standard Installation von Raspbian sollte das Python Modul RPi.GPIO zum ansteuern der GPIO Pins bereits installiert sein. Sollte das nicht der Fall sein, kann es hiermit installiert werden:

sudo apt-get install python-rpi.gpio
sudo apt-get install python-pifacedigitalio

Jetzt können wir mit der Installation der eigentlichen Software beginnen. Die DoorPI Software steht unter Gitub bereit zum runterladen. Erst mal brauchen wir ein Verzeichnis in der wir die Software installieren.

sudo mkdir /home/DoorPI
sudo chown -R pi: /home/DoorPI
cd /home/DoorPi

Dann die Software runterladen

sudo easy_install pip  || (wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python) && sudo easy_install pip

sudo pip install linphone4raspberry python-daemon
sudo pip install doorpi

Zum testen einmal DoorPI starten

sudo doorpi_cli --trace
sudo update-rc.d doorpi defaults

Mit der Tastenkombination [Strg] + [c] beenden. Mit dem Befehl sudo service doorpi start oder sudo service doorpi stop kann der Dienst gestartet oder gestoppt werden. Der DoorPI Service startet beim Neustart automatisch.

Doorpi wurde jetzt im Verzeichnis /usr/local/etc/DoorPi abgelegt.

Im conf Verzeichnis liegt die doorpi.ini als Zentrale Konfig Datei.

Jetzt geht es an die Konfig Datei.

Die Konfiguration wird in Sektionen unterteilt die Überschriften haben in Eckigen Klammern [DoorPI].


Als erstes die System Einstellungen die unter der Sektion [DoorPi] stehen.

[DoorPi]

is_alive_led = blinking_led

dialtone = !BASEPATH!/doorpi/media/ShortDialTone.wav

records = !BASEPATH!/records/!LastKey!/%Y-%m-%d_%H-%M-%S.wav

record_while_dialing = true

is_alive_led: lässt so lange das Programm läuft einen Ausgang im Sekunden Takt blinken. Der Ausgang ist ein Alias, der weiter unten beschrieben wird.

dialtone: Wenn DoorPI einen Anschluss anwählt gibt es eine Dailtone. Die Wave muss mi Verzeichnis hinterlegt sein ansonsten starten DoorPI nicht. Ich habe mir eine aus dem Netz geladen und dort abgelegt. Wenn der Wert leer ist wird nicht gespielt.

records: Wo die Audio Aufzeichnungen liegen sollen. Wenn das Feld leer ist wird nicht aufgezeichnet.

record_while_dialing: Es wird schon beim Wert true Aufgezeichnet wenn DoorPI anfängt zu wählen.


Hier müssen alle Rufnummer stehen, die DoorPI anrufen dürfen um die Tür zu öffnen. Unbekannte Rufnummer werden ignoriert von der Software. (Rufnummer **610 , bei der FritzBox fangen alle Nummern intern mit ** an )

[AdminNumbers]

**610 = active


Hier müssen jetzt die SIP Anmelde Daten an der Fritzbox eingetragen werden oder die vom Astrisk Server.

[SIP-Phone]

sipphonetyp = linphone

server = 192.168.XXX.XXX

username = 623

password = raspberry

realm = fritz.box

sipphonetyp: LinPhone ist die Software die DoorPi verwendet, es gibt noch eine alternative, schaut dazu bei den DoorPi Entwicklern vorbei.

server: IP Adresse des SIP Server, bzw der FritzBox

username: Username für den SIP Client

password: Password des Clients

realm: Meist der Name des SIP Servers


[keyboards]

onboardpins = piface

[alias] =Wert

onboardpin: Ist der Alias Name der sich weiter unten wiederfindet. Jeder Anschluß bekommt einen eigenen Alias mit dem entsprechenden Typ als Wert. Weitere Werte sind:

piface: Modul Erweiterung des Raspberrys

gpio: Raspberry gpio Ports direkt auf der Stiftleiste

rdm6300: RFID Leser an der Seriellen Schnittstelle (siehe unten bei Einrichtung des RFID Moduls)



Hier wird dem Alias (onboardpins, siehe oben ) Eigenschaften zugewiesen.

[onboardpins_keyboard]

bouncetime = 200

bouncetime: Die Entprell Zeit der Taster. Mit diesem wert 200 habe ich gute Erfahrungen gemacht.


Hier werden die Ports der Ausgänge Alias Namen zugewiesen. Und nur Ports der des Alias „onboardpins“, was in diesem Falle ein PiFace Modul ist (siehe SEKTION „keyboards“) . Das könnte auch ein GPIO Anschluss auf dem Raspberry sein. Angegeben werden immer nur die PIN NUMMER des STECKER vom GPIO Port.

[onboardpins_OutputPins]

0 = Tueroeffner

1 = Licht

7 = blinking_led

Die Steckerbelegung beim PIFace 2 Board ist etwas anders.

PIN -> Name

0 -> Releais 1 und Port/LED 1

1 -> Releais 2 und Port/LED 2

2 -> Port/LED 3

3 -> Port/LED 4

4 -> Port/LED 5

5 -> Port/LED 6

6 -> Port/LED 7

7 -> Port/LED 8


InputPins

Hier werden die Ports der Eingänge Aktionen  zugewiesen. Und nur Ports der des Alias „onboardpins“, was in diesem Falle ein PiFace Modul ist (siehe SEKTION „keyboards“) . Angegeben werden immer nur die PIN NUMMER des STECKER vom GPIO Port. In diesem Fall wird einn SIP Call zur **610 ausgeführt wenn Eingang 1 – 3 gedrückt wird.

[onboardpins_InputPins]

1 = call:**610

2 = call:**610

3 = call:**610

Es wird  der Port bzw. der PIN des Anschlusses definiert dann die Aktion die ausgeführt werden soll. Alle Aktionen sind weiter unten beschrieben. Die Steckerbelegung beim PIFace 2 Board ist etwas anders.

PIN -> Name

8 -> Eingang 1

9 -> Eingang 2

10 -> Eingang 3

11 -> Eingang 4

12 -> Taster/Eingang 5

13 -> Taster/Eingang 6

14 -> Taster/Eingang 7

15 -> Taster/Eingang 8


Bei DTMF Töne die empfangen werden, können auch Aktionen ausgeführt werden.

[DTMF]

„1“ = out:Tueroeffner,1,0,3

„2“ = out:Licht,1,0,3

Als erstes kommt der oder die DTMF Töne. Es können auch mehr als einer sein. # und * sind auch erlaubt in beliebiger Kombination. Alle Aktionen sind weiter unten beschrieben.


Aktionen:

out:

Schaltet eine Alias ein, oder aus, bzw nur eine gewisse Zeit in Zustand A und dann wieder nach X Sekunden in B

out:Licht,1,0,3

„out: [ALIAS], [Zusatnd A],[Zustand B], [Sekunden]“ (Licht  eingeschaltet (1) und dann nach 3 Sekunden ausgeschaltet (0))

out:Licht,1 (werden die letzten beiden Parameter weggelassen wird nur der alias Licht eingeschaltet)

call:

Startet eine SIP Call nur einer Nummer:

call:**610

„call:[Rufnummer]“

sleep:

Wartet x Sekunden

sleep:1


Events:

Events sind Zustände die eintreten in der dann Aktionen ausgeführt werden können.

[EVENT_NAME]

10 = Aktion 1

20 = Aktion 2

24 = …

Die einzelnen Aktionen werden über Nummern nacheinander ausgeführt. Folgende Event sind mir bekannt.

[EVENT_OnStartup]


Zum Testen kann man DoorPi dann über die Console starten. Mit Contrl C kann DoorPI dann gestoppt werden. Wenn DoorPI nicht starten kann gibt es noch Probleme.

sudo /home/DoorPI/doorpi/main.py --configfile /home/DoorPI/conf/doorpi.cfg --trace
Raspbian: MJPG-Streamer einrichten

Damit die Elcom App oder ein anderer Client sich das Video Bild holen kann, müssen wir einen Video Streamer einrichten. Als Möglichkeit bietet sich motion an oder auch MJPG Streamer. Ich habe mich nach Tests für den MJPG Streamer entschieden. Leider ist es dann nicht mehr möglich einen SIP Call von der Sprechstellen mit Video Bild zu machen, da nur immer ein Programm auf die Video Kamera zugreifen kann. Zum einrichten müssen wir erst mal einige Pakete installieren. Ich habe mich nach der Anleitung die ich im WEB gefunden haben (http://www.gtkdb.de/index_36_2098.html) von Georg Kainzbauer gehalten.

sudo apt-get install subversion ffmpeg libav-tools libavcodec53 libavdevice53 libavfilter2 libavformat53 libavutil51 libdc1394-22 libdirac-encoder0 libgsm1 libmp3lame0 libmysqlclient18 libopencv-core2.3 libopencv-imgproc2.3 libpostproc52 libpq5 libraw1394-11 libschroedinger-1.0-0 libspeex1 libswscale2 libtheora0 libva1 libvpx1 libx264-123 libxvidcore4 mysql-common libjpeg62 screen

sudo apt-get install subversion-tools libjpeg8-dev imagemagick 

svn co https://svn.code.sf.net/p/mjpg-streamer/code/mjpg-streamer mjpg-streamer 

cd mjpg-streamer 

sudo make 

sudo make install

sudo mjpg_streamer -i "/usr/local/lib/input_uvc.so -d /dev/video0 -n -y -r 640x480 -f 30" -o "/usr/local/lib/output_http.so -n -w /usr/local/www -p 8080"

Ausgabe nach dem Start:

### BEGIN INIT INFO
# Provides: mjpg_streamer
# Required-Start:
# Required-Stop:
# Should-Start:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: mjpg_streamer
# Description: Streamer
### END INIT INFO

Um auf das Web Interface zu zugreifen im Browser die folgende Adresse eingeben:

http://ip-des-raspberry:8080

http://ip-des-raspberry:8080

-n -y -r 640x480 -f 30" -o "/

Jetzt brauchen wir noch ein Start Script. Dazu mit nano eine Datei anlegen und den folgenden Text einfügen. Wenn Ihr eine andere Auflösung oder Framerate nutzen wollt, müsst ihr das im Script entsprechend anpassen.

sudo nano /etc/init.d/mjpg_streamer

Inhalt des Scripts:


#!/bin/sh
# /etc/init.d/mjpg_streamer

### BEGIN INIT INFO
# Provides:          mjpg_streamer
# Required-Start:    $all
# Required-Stop:     $all
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: MJPG-Streamer
# Description:       MJPG-Streamer takes JPGs from Linux-UVC compatible webcams and streams them as M-JPEG via HTTP.
### END INIT INFO

start()
{
  echo "Starting mjpg-streamer..."
  /usr/local/bin/mjpg_streamer -i "/usr/local/lib/input_uvc.so -d /dev/video0 -n -y -r 640x480 -f 30" -o "/usr/local/lib/output_http.so -n -w /usr/local/www -p 8080" >/dev/null 2>&1 &
}

stop()
{
  echo "Stopping mjpg-streamer..."
  kill -9 $(pidof mjpg_streamer) >/dev/null 2>&1
}

case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  restart)
    stop
    start
    ;;
  *)
    echo "Usage: $0 {start|stop|restart}"
    ;;
esac

exit 0

Danach noch ausführbar machen und rc.d updaten.

sudo chmod 0755 /etc/init.d/mjpg_streamer
sudo update-rc.d mjpg_streamer defaults

mit dem Befehl sudo service mjpg-streamer start oder stop, kann der Dienst jetzt gestartet werden oder gestoppt

RFID Anschliessen:

Wenn man das RFID Modul nutzen möchte, müssen wir dieses noch an den Raspberry anschliessen. Da gibt es nur das Problem, dass das RFID Modul mit 5V läuft und der Raspberry 3,3V erwartet. Wenn man das RFID Modul so mit dem Raspberry

verbindet, würde wir wahrscheinlich den PI in die ewigen Jagdgründe befördern. Dazu kann man sich aber mit 2 10K Widerständen einen Spannungsteiler bauen. Das ergibt zwar 2,5 V geht aber trotzdem. Die Schaltung ist abgebildet in den nachfolgenden Bildern. Bei beiden Raspberry Varianten sind die PIN Belegungen für die RX/TX Seriellen Schnittstelle gleich.

Raspberry -> RFID RDM 6300

PIN 4  -> P1 PIN 5 (5V)

PIN 6  -> P1 PIN 4 (Masse)

PIN 8 -> P1 PIN 1 (TX->RX Achtung ! Spannungsteiler muss dazwischen)

PIN 10 -> P1 PIN 2 (RX->TX)

[envira-gallery id="775"]

Die Konfiguration ist dafür sehr einfach in der doorpi.cfg. Es muss nur unter der Sektion [keyboards] der RFID Reader angegeben werden mit einem Alias. Der Alias „rfidreader“ ist dann unter den InputPins zu finden „rfidreader_InputPins

Jetzt noch alles RFID Codes eintragen und die entsprechenden Aktionen dahinter.

[keyboards]

onboardpins = gpio

rfidreader = rdm6300

[rfidreader_InputPins]
1234567 = out:Tueroeffner,1,0,3
2345678 = out:Tueroeffner,1,0,3

……

Wichtig ! Die IDs der RFID Responder Chips oder Karten nicht mit führender NULL eintragen. Für jedem CHIP kann dann eine Aktion festgelegt werden.

USB Sound Karte:

Da wir ein Microphone nutzen, brauchen wir eine Soundkarte.  Dazu habe ich eine USB Soundkarte für 5 € verwendet. Auch die Lautsprecher werden darüber betrieben. Die Qualität ist aussreichent. Ich konnte von der alten Sprechstelle das MIC nicht benutzen. Leider war es viel zu leise. Aber ich fand noch ein altex PC MIC mit Klingenstecker. Das habe ich auseinander gebaut und entsprechend in das Gehäuse eingebaut. Dazu aber mehr im Teil 2.

Zum Einrichten der Soundkarte machen wir folgendes:

sudo nano /etc/modprobe.d/alsa-base.conf

Die Zeile von:

options snd-usb-audio index=-2

in

#options snd-usb-audio index=-2

ändern. Damit wird die Interne Soundkarte deaktiviert. Dann den Raspberry neustarten damit die Einstellungen übernommen werden.

sudo reboot

Mit dem alsmixer kan man dann die Lautstärke für das Micro und den Lautsprecher einstellen. Dazu im Menü auf F6 drücken um alle Kanäle zu sehen. Mit den Pfeiltasten kann dann navigiert werden um die Werte dann anzupassen. Mit Esc dann das Menu verlassen . Damit die Einstellungen auch dauerhaft gespeichert werden muss die Konfiguration noch gespeichert werden.

sudo alsactl store

Im 2. Teil werde ich dann den Hardware Aufbau zeigen und die Settings für die Elcom APP. Auch wie man einen SIP Client auf dem Handy einrichten kann. Das ganze würde auch für Audio nach extern auf das Handy gehen….

29 Gedanken zu „VOIP SIP Video Türsprechstelle Eigenbau (Teil 1)“

    1. Danke ich werd es ändern im Beitrag. In den nächsten Tagen kommt dann noch mal die Nachbauanleitung, Tablet APP mit Bluetooth Freisprech einrichtung. Alles im neuen Zentralen Tablet zur Haussteuerung.

  1. wenn ich fuer die kamera die folgenden befehle eingebe fragt er mich bei „su root“ nach einem passwort, wie lautet es__wenn ich da was hinschreibe steht da pi@raspberrypi:~ $ su root
    Password:
    su: Authentication failure

    sudo modprobe bcm2835-v4l2
    su root
    echo bcm2835-v4l2 >> /etc/modules
    exit

    1. Dann vergib doch ein neues für root. sudo passwd root…. Das wird noch uf standart stehen. Für pi sollte du es dann ggf auch mal ändern. passwd…. alternative sudo echo bcm2835-v412 >> /etc/modules… Sudo besagt nur das du als User PI die Befehle stellvertreten für ROOT machst. Mann kann unter sudo auch einschränkungen machen das ein User nur bestimmt Befehle ausführen kann. Beim user PI ist aber hinterlegt im Standart das er alles darf. Schau dir aber noch mal den Teil 3 an vom Artikel. Da gab es einige Ämderungen zum MPJG Streamer. Der brauch noch einen Patch

  2. Hallo, Ich bin beim Kamera einrichten, der fragt mich bei „su root“ nach einem passwort kann mir einer sagen wie es lautet

    sudo modprobe bcm2835-v4l2
    su root
    echo bcm2835-v4l2 >> /etc/modules
    exit

  3. Mit dem passwort zurücksetzen hat gekappt, danke schonmal dafür . Der andere Fehler besteht weiterhin, hab dir mal ein Bild von dem Fehler geschickt. Beim 4. Befehl von den rechten kommt „noch such File or Directory“. In der Mitte ist auch noch eine Meldung „cant write to /var/Cache/man/1362: no space left on Device. Ich habe eine 8gb sd Karte von SanDisk wie in der Beschreibung von dir empfohlen…

    Mg Martin

    1. Das Projekt ist geändert worden. das INIT Script liegt nicht mehr in dem Verzeichnis. Im dem Artikel ist noch die manuelle Installtion beschrieben. Inder Zwischenzeit gibt es aber eine Setup Routine dafür. Die Installiert die Abhängigkeiten und auch das Linephone. Ich habe das letzten mal getestet und es geht.
      Link: https://github.com/motom001/DoorPi#installation. Ich werde den Artikel dann noch mal anpassen.

  4. Hallo,
    kann man auch die Türsprechstelle in der Fritzbox als Telefongerät (Türanlage) einbinden und dann ein Fritz-Telefon verwenden für Bild und Audio?

  5. Hi,

    hast du das RFID-Modul und das Piface-Modul gleichzeitig an einem Raspi in Betrieb? Wie ist das RFID-Modul angeschlossen? Das Piface verdeckt ja leider alle GPIOs des Raspi.

  6. hallo, ich habe jetzt die doorpi installation fertig, (nach der anleitung im doorpi.org forum) kann man jetzt wieder alles weitere nach deiner anleitung machen??? ich finde deine anleitung geht sehr ins detail, was ich sehr gut finde…

    mfg martin

  7. Servus,
    laut Fritz-BOx Netzwerk Info ist die IP Adresse mir bekannt. 192.168.xxx.xx
    Port: 22

    Aber wenn ich mit Putty die SSH verbindung herstellen möchte, da geht es nicht.

    Wo kann der Fehler liegen ?

        1. Kannst du den pi von deinen Rechner her anpingen? Wen du mehrer Rechner hast teste das mal von den anderen. Ich hatte mal das Problem wenn die Verbindung über die Fritzbox lief das ich nicht immer die PIs erreichen konnte. REBOOT der Fritzbox hat da geholfen.

  8. Hallo,
    vielen Dank für die tolle Anleitung!
    Beim RDM6300 ist nach einer Meinung ein Fehler drin.
    P1, Pin1 (vom RDM6300 = TX) muss mit Spannungsteiler auf Pin 10 (RX vom Raspberry) gehen.
    (P1, Pin2 = Rx vom RDM6300 wird nicht genutzt und braucht daher garnicht verbunden zu werden (macht den Nachbau um eine Leitung leichter))

    1. Da kann ich dir nicht ganz folgen. Grundsätzlich braucht man bei einer Seriellen Verbindung immer RX und TX. Aber wenn du es so aufgebaut hast und läuft würde ich mich überein Schaltbild oder Photo freuen.

    1. Hallo,

      versuch diese mal

    1. Hallo,

      versuch diese mal

    1. Ich empfehle gleich den Rasberry 3 jetzt zu nehmen. Für 2 Euro mehr. Läuft nicht gleich am Limit

  9. Danke für die super Anleitung.

    Habe nun festgestellt das mit DoorPi Version 2.5.1 auch beim PiFace Digital 2 die Eingänge separate mit 0 bis 7 nummeriert werden

Kommentar verfassen