Skip to content

Konfiguration

Thomas edited this page Oct 7, 2015 · 8 revisions

Konfigurationsdatei

In der Konfigurationsdatei wird neben der Grundkonfiguration festgelegt, mit welchen Aktionen DoorPi auf Ereignisse reagieren soll.

Beim automatischen Start von DoorPi als Dienst wird standardmäßig die Datei conf/doorpi.ini geladen. Beim manuellen Start von DoorPi über die Kommandozeile ist der Parameter --configfile erforderlich und muss mit absolutem Pfad auf eine Konfigurationsdatei verweisen. Wenn dieser Parameter fehlt, oder die Konfigurationsdatei nicht lesbar ist, wird DoorPi mit entsprechender Fehlermeldung beendet.

Aufbau

DoorPi wird über eine Konfigurationsdatei nach dem Schema einer Windows-ini-Datei konfiguriert. Es gibt Sektionen und Parameter. Sektionen sind von [ und ] eingeschlossen. Parameter bestehen aus einem Schlüssel und einem Wert, getrennt von einem Gleichheitszeichen. Beispiel:

[Sektionsname]
Schlüssel1 = Wert1
Schlüssel2 = Wert2

Grundkonfiguration

SIP Einstellungen

In der Sektion [SIP-Phone] werden die Einstellungen für den SIP-Client vorgenommen. Mit dem Schlüssel sipphonetyp wählt man die SIP-Bibliothek, die DoorPi verwenden soll. Grundsätzlich werden linphone und pjsua unterstützt, wobei pjsua derzeit nur eingeschränkt funktioniert. Außerdem gibt man die Daten zur Anmeldung an der SIP-Anlage an:

[SIP-Phone]
sipphonetyp = linphone
server = 192.168.178.1
username = 623
password = raspberry

Ein- u. Ausgänge

DoorPi unterstützt verschiedene Arten von Ein-/Ausgabegeräten mit denen Schaltbefehle gesendet bzw. empfangen werden können. Diese werden in DoorPi als Keyboards bezeichnet. Derzeit werden folgende Keyboards unterstützt:

  • gpio: GPIO Ein-/Ausgänge auf dem Raspberry Pi
  • piface: Ein-/Ausgänge des PiFace Digital Moduls
  • filesystem: Steuerung von virtuellen Ein-/Ausgängen über Dateien
  • rdm6300: RFID Modul RDM6300 als Eingang

Die gewünschten Keyboards werden in der Sektion [keyboards] definiert. Der Schlüssel legt den Namen des Keyboards für die weitere Verwendung fest, der Wert bestimmt das zu verwendende Modul. Beispiel:

[keyboards]
onboardpins = gpio

Hiermit wird ein Keyboard mit dem Namen onboardpins definiert, das das GPIO Modul verwendet.

Um die Grundkonfiguration des jeweiligen Keyboards vorzunehmen, beginnt man eine Sektion mit dem Namen des Keyboards gefolgt von _keyboard, in diesem Beispiel also:

[onboardpins_keyboard]
bouncetime = 200

Mit dieser Einstellung legt man eine Entprellungszeit von 200ms für das GPIO-Keyboard onboardpins fest.

Ausgänge

Die Definition der Ausgänge, die man verwenden möchte, nimmt man in der Sektion <keyboardname>_OutputPins vor. Dabei gibt man als Schlüssel einen Ausgang des Keyboards und als Wert einen beliebigen Namen an:

[onboardpins_OutputPins]
16 = Tueroffner

Die Ausgänge, die man hier definiert hat, können in der weiteren Konfiguration dann mit dem zugewiesenen Namen verwendet werden. Anmerkung: DoorPi bezieht sich bei der Nummierung der Pins auf die Stiftleiste.

Eingänge

Um den Eingängen Aktionen zuzuweisen, beginnt man eine Sektion <keyboardname_InputPins. Hier weist man einem Eingang eine bestimmte Aktion zu. Zu beachten ist, dass jedem Eingang momentan nur eine Aktion zugewiesen werden kann. Beispiel:

[onboardpins_InputPins]
11 = call:123

In diesem Beispiel ruft Doorpi bei der Auslösung von Pin 11, der z.B. mit dem Klingeltaster verbunden ist, die SIP-Nummer "123" an.

Telefon-Tastensignale (MFV/DTMF)

Während eines SIP-Calls mit DoorPi können durch das Drücken von einzelnen Tasten oder Tastenfolgen Aktionen ausgelöst werden. Die Konfiguration erfolgt in der Sektion [DTMF]. Der Schlüssel legt die Taste oder Tastenfolge fest, der Wert die auszuführende Aktion (analog Eingänge). Hiermit ist es zum Beispiel möglich, den Türöffner für drei Sekunden beim Drücken der Raute-Taste auszulösen:

[DTMF]
"#" = out:Tueroffner,1,0,3

RFID

Hat man die serielle Konsole deaktiviert (siehe Installation), kann Sie von DoorPi verwendet werden, um Signale vom RDM6300 RFID Modul zu empfangen. Dazu konfiguriert man das Modul in der doorpi.cfg, z.B. so:

[keyboards]
rfid = rdm6300
#port = /dev/ttyAMA0 (default)

[rfid_InputPins]
83408008 = out:Tueroeffner,1,0,3

Der erste Abschnitt sagt DoorPi das RFID Modul zu verwenden. Die zweite Sektion definiert die Aktion, die Tür zu öffnen, wenn der RFID Key "83408008" erkannt wird. Weitere Keys und ihre Aktionen können entsprechend ergänzt werden.

erweiterte Konfiguration

DoorPi bietet eine Reihe weiterer Konfigurationsmöglichkeiten, wie z.B. die Aufnahme von Anrufen, den Versand von E-Mails oder die Möglichkeit, die Türstelle anzurufen. Eine detaillierte Auflistung der Konfigurationsmöglichkeiten ist in doorpi.cfg zu finden.

Events

Es gibt innerhalb von DoorPi sogenannte Events, die beim Eintreten verschiedener Ereignisse ausgelöst werden und auf die mit Aktionen reagiert werden kann. Um ein Event zu nutzen und Aktionen zu hinterlegen, gibt man eine Sektion beginnend mit 'EVENT_' gefolgt vom Namen des Events an. Die dann folgenden Schlüssel dienen der Sortierung bei der Ausführung und die Werte enthalten die Aktionen, die seriell abgearbeitet werden. Beispiel:

[EVENT_OnSipPhoneMakeCall]
10 = mailto:johndoe@example.com,DoorPi, DoorPi initiating call
20 = out:Eingangsbeleuchtung,1

Hier werden beim Event OnSipPhoneMakeCall zwei Aktionen ausgelöst: Zuerst wird eine E-Mail an johndoe@example.com gesendet, anschließend wird der als 'Eingangsbeleuchtung' definierte OutputPin auf high gesetzt.

Mit Hilfe von Events kann man also sehr flexibel auf zahlreiche Ereignisse reagieren. Auch zeitgesteuerte Aktionen sind damit möglich. Eine Liste möglicher Events ist hier: doorpi.cfg.

You can’t perform that action at this time.