-
Notifications
You must be signed in to change notification settings - Fork 85
Konfiguration
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.
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
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
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.
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.
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.
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
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.
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.
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:[email protected],DoorPi, DoorPi initiating call
20 = out:Eingangsbeleuchtung,1
Hier werden beim Event OnSipPhoneMakeCall
zwei Aktionen ausgelöst: Zuerst wird eine E-Mail an [email protected] 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.