Skip to content

Configfile

Thomas edited this page Oct 7, 2015 · 1 revision

[DoorPi]

Sektion für generelle Einstellungen von DoorPi

Schlüssel is_alive_led
Wert OutputPin
Vorgabe -
Setzt OutputPin jede Sekunde high bzw. low, z.B. um eine LED blinken zu lassen.
Schlüssel eventlog
Wert Dateiname
Vorgabe !BASEPATH!/conf/eventlog.db
Eventlog Datenbank Datei in der alle Events aufgezeichnet werden
Schlüssel snapshot_path
Wert Dateipfad
Vorgabe !BASEPATH!/../DoorPiWeb/snapshots/
Legt fest wo Bilder gespeichert werden. Sollte sich im DoorPiWeb Pfad befinden, da die Bilder ansonsten nicht im Webinterface dargestellt werden können.
Schlüssel number_of_snapshots
Wert Anzahl
Vorgabe 10
Wieviele Bilder gespeichert werden sollen.
Schlüssel snapshot_size
Wert Größenangabe
Vorgabe 1280x720
Definiert die Bildgröße in den Aktionen take_snapshot und mailto.

[SIP-Phone]

Einstellungen für den SIP-Client und Anrufe

Schlüssel sipphonetyp
Wert linphone, dummy, (pjsua)
Vorgabe dummy
Wählt die zu verwendende SIP-Implementierung. Da pjsua derzeit nicht vollständig funktioniert, wird linphone empfohlen. Falls kein SIP verwendet werden soll, kann dummy gesetzt werden
Schlüssel records
Wert Dateiname
Vorgabe -
Dateiname bzw. -pattern für Gesprächsaufzeichnungen. Beispiel: !BASEPATH!/recordings/!LastKey!/%Y-%m-%d_%H-%M-%S.wav
Schlüssel record_while_dialing
Wert boolean (True/False)
Vorgabe False
Wenn True werden Aufzeichnungen schon beim Gesprächsaufbau begonnen, ansonsten erst nachdem ein Gespräch verbunden ist.
Schlüssel dialtone
Wert Dateiname (WAV)
Vorgabe !BASEPATH!/doorpi/media/ShortDialTone.wav
WAV-Datei die beim Anklingeln abgespielt wird. Falls die Datei nicht existiert aber angegeben ist, wird ein "tuten" generiert und als Datei abgespeichert.

Die folgenden Parameter beziehen sich auf den sipphonetyp linphone:

SIP-Einstellungen

Schlüssel sipserver_server
Wert Adresse des SIP-Servers
Vorgabe -
Hostname oder IP des SIP-Servers. Wird kein Server angegeben, wird DoorPi im "standalone"-Modus gestartet.
Schlüssel sipserver_username
Wert Benutzername
Vorgabe -
Benutzername des SIP-Accounts
Schlüssel sipserver_password
Wert Passwort
Vorgabe username
Passwort des SIP-Accounts
Schlüssel sipserver_realm
Wert SIP-Realm
Vorgabe server
Wird bei den meisten SIP-Anlagen nicht verwendet.
Schlüssel identity
Wert SIP-Nickname
Vorgabe DoorPi
Die vollständige SIP-Identität setzt DoorPi wie folgt zusammen: "identity <sip:username@server>"
Schlüssel local_port
Wert Port
Vorgabe 5060
Port auf dem der SIP-Client lauscht (z.B. für Verbindungen im standalone-Modus)
Schlüssel stun_server
Wert Serveradresse
Vorgabe -
STUN Server (für NAT Informationen)
Schlüssel FirewallPolicy
Wert Policy
Vorgabe PolicyNoFirewall
siehe [hier](http://pythonhosted.org/linphone/api_reference.html#linphone-firewallpolicy)

Gerätekonfiguration

Audio

Schlüssel capture_device
Wert ALSA: Gerätename
Vorgabe Standardgerät
Name des ALSA Geräts für den Audioeingang (Mikrofon)
Eine Möglichkeit den Gerätenamen zu bestimmen ist der Aufruf von
cat /proc/asound/cards | grep ]: | sed 's/.* - //'
Beispielausgabe:
bcm2835 ALSA
C-Media USB Headphone Set
Möchte man in diesem Fall das USB-Gerät verwenden, lautet die Konfigurationszeile:
capture_device = ALSA: C-Media USB Headphone Set
Schlüssel playback_device
Wert ALSA: Gerätename (vgl. "capture_device")
Vorgabe Standardgerät
Name des ALSA Geräts für den Audioausgang
Schlüssel audio_codecs
Wert Liste von Audio Codecs
Vorgabe PCMA,PCMU
Kommaseparierte Liste von Audio Codecs
Schlüssel echo_cancellation_enabled
Wert boolean (True/False)
Vorgabe False
Aktiviert Echounterdrückung

Video

Schlüssel video_display_enabled
Wert boolean (True/False)
Vorgabe False
Aktiviert Video-Übertragung bei ausgehenden Anrufen.
Schlüssel video_device
Wert V4L2: Gerätepfad
Vorgabe -
Pfad des V4L kompatiblen Videogeräts, z.B.
V4L2: /dev/video0
Schlüssel video_size
Wert Videogröße
Vorgabe -
Videoauflösung, mögliche Werte:
1080p, uxga, sxga-, 720p, xga, svga, 4cif, vga, cif, qvga, qcif
Schlüssel video_codecs
Wert Liste von Video Codecs
Vorgabe VP8
Kommaseparierte Liste von Video Codecs

Anrufeinstellungen

Schlüssel call_timeout
Wert Zeit in Sekunden
Vorgabe 15
Zeit wie lange DoorPi anklingelt
Schlüssel max_call_time
Wert Zeit in Sekunden
Vorgabe 120
Maximale Anrufdauer. Nach Ablauf dieser Zeit legt DoorPi auf.
Schlüssel ua.max_calls
Wert Anzahl
Vorgabe 2
Anzahl der gleichzeitig möglichen Anrufe

[keyboards]

Definition von keyboards ("Eingabegeräten")

Schlüssel Alias
Wert gpio, piface, filesystem, rdm6300
Vorgabe -
Definiert ein Keyboard vom Typ Wert mit dem Namen Alias. Beispiel:
onboardpins = gpio
Derzeit stehen folgende Keyboards zur Verfügung:
  • 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

[Keyboardalias_keyboard]

Sektion zur Konfiguration eines vorher unter dem Namen Keyboardalias in [keyboards] definierten Keyboards. Die jeweiligen Konfigurationsparameter hängen vom Typ des Keyboards ab.

gpio

Schlüssel bouncetime
Wert Zeit in Millisekunden
Vorgabe 2000
Entprellungszeit für Eingänge. Weitere Flankenänderungen werden für den angegebenen Zeitraum ignoriert.
Schlüssel polarity
Wert 0 / 1
Vorgabe 0
0: VCC am Eingang ist HIGH level
1: VCC am Eingang ist LOW level
Schlüssel pressed_on_keydown
Wert True / False
Vorgabe True
Version ab 2.4.1.8
True: OnKeyPressed Event wird zusammen mit OnKeyDown Event ausgelöst
False: OnKeyPressed Event wird zusammen mit OnKeyUp Event ausgelöst
Schlüssel mode
Wert BOARD / BCM
Vorgabe BOARD
Version ab 2.4.1.8
bestimmt welcher GPIO Modus zur Nummerierung verwendet wird
What is the difference between BOARD and BCM for GPIO pin numbering?
Schlüssel pull_up_down
Wert PUD_DOWN / PUD_UP / PUD_OFF
Vorgabe PUD_OFF
Version ab 2.4.1.8
bestimmt den GPIO Pull-Up- oder Pull-Down-Widerstand
Raspbian: Pull-Up/Down eines GPIO-Eingangs in Python aktivieren

piface

Schlüssel bouncetime
Wert Zeit in Millisekunden
Vorgabe 2000
Entprellungszeit für Eingänge. Weitere Flankenänderungen werden für den angegebenen Zeitraum ignoriert.
Schlüssel polarity
Wert 0 / 1
Vorgabe 0
0: VCC am Eingang ist HIGH level
1: VCC am Eingang ist LOW level
Schlüssel pressed_on_keydown
Wert True / False
Vorgabe True
Version ab 2.4.1.8
True: OnKeyPressed Event wird zusammen mit OnKeyDown Event ausgelöst
False: OnKeyPressed Event wird zusammen mit OnKeyUp Event ausgelöst

filesystem

Schlüssel reset_input
Wert boolean (True/False)
Vorgabe True
Schlüssel base_path_input
Wert Verzeichnispfad für virtuelle Eingänge
Vorgabe
In diesem Verzeichnis werden die virtuellen Eingänge mit dem unter InputPins definierten Namen als Datei angelegt und überwacht.
Schlüssel base_path_output
Wert Verzeichnispfad für virtuelle Ausgänge
Vorgabe
In diesem Verzeichnis werden die virtuellen Ausgänge mit dem unter InputPins definierten Namen als Datei angelegt und geschrieben.
Schlüssel pressed_on_keydown
Wert True / False
Vorgabe True
Version ab 2.4.1.8
True: OnKeyPressed Event wird zusammen mit OnKeyDown Event ausgelöst
False: OnKeyPressed Event wird zusammen mit OnKeyUp Event ausgelöst

rdm6300

Schlüssel port
Wert Linux-Devicename des seriellen Anschlusses
Vorgabe /dev/ttyAMA0
Schlüssel baudrate
Wert Baudrate
Vorgabe 9600
Schlüssel dismisstime
Wert Zeit in Sekunden
Vorgabe 5

[Keyboardalias_InputPins]

Schlüssel Pin
Wert Aktion
Vorgabe
Führt bei der Auslösung von Pin die gewählte Aktion aus.
Für mögliche Aktionen s.u.
Anmerkung: Bei gpio bezieht sich die Nummierung der Pins auf die Stiftleiste.

[Keyboardalias_OutputPins]

Schlüssel Pin
Wert Alias
Vorgabe
Definiert Pin als Ausgang mit dem Namen Alias.
Anmerkung: Bei gpio bezieht sich die Nummierung der Pins auf die Stiftleiste.

[DTMF]

Schlüssel Tastenfolge
Wert Aktion
Vorgabe
Führt die angegebene Aktion bei Erkennung der Tastenfolge während eines Gesprächs aus.
Für mögliche Aktionen s.u.

[SMTP]

Konfiguration des Mailversands

Schlüssel server
Wert SMTP Hostname/IP
Vorgabe -
Schlüssel port
Wert SMTP Port
Vorgabe -
Schlüssel need_login
Wert boolean (True/False)
Vorgabe False
Aktiviert SMTP Authentifizierung
Schlüssel username
Wert SMTP Benutzername
Vorgabe -
Schlüssel password
Wert SMTP Password
Vorgabe -
Schlüssel use_tls
Wert boolean (True/False)
Vorgabe False
Aktiviert STARTTLS Verschlüsselung
Schlüssel from
Wert Absender
Vorgabe -

Aktionen

Der Aufruf von Aktionen erfolgt nach dem Schema

<Aktion>:<Parameter>

wobei mehrere Parameter durch Komma getrennt werden. Die in [ ] angegeben Parameter sind optional.

Aktion call
Parameter SIP-Adresse
Ruft die angegebene SIP-Adresse an. Beispiel:
call:**613
Aktion out
Parameter Output-Pin-Alias,Wert[,Endwert,Zeit in Sekunden[,Interrupt-Pin]]
Setzt den Output-Pin-Alias auf Wert und optional nach Ablauf der Zeit auf Endwert. Beim Auslösen von Interrupt-Pin wird die Zeit abgebrochen.
Folgendes Beispiel setzt den Output-Pin "Tueroffner" für 3 Sekunden auf 1, anschließend auf 0:
out:Tueroeffner,1,0,3
Aktion os_execute
Parameter Befehl
Führt das Systemkommando Befehl aus.
Beispiel
os_execute:/usr/local/bin/myscript.sh
Aktion mailto
Parameter Empfänger,Betreff,Nachricht,Snapshot(Boolean)
Sendet eine E-Mail an Empfänger mit der Möglichkeit ein Bild von der Kamera als Anhang hinzuzufügen.
Aktion sleep
Parameter Zeit in Sekunden
Pausiert für Zeit in Sekunden.
Aktion hangup
Parameter Zeit in Sekunden
Legt einen Anruf nach Ablauf von Zeit in Sekunden auf.
Aktion file_call_value
Parameter Dateiname
Initiiert einen Anruf an die in Dateiname hinterlegte SIP-Nummer.
Aktion log
Parameter Nachricht
Schreibt Nachricht ins Logfile.
Aktion take_snapshot
Parameter -
Speichert ein Bild von der Kamera in den gegebenen Ordner. Siehe snapshot_path im [DoorPi] Bereich. Es wird fswebcam benötigt:
sudo apt-get install fswebcam

[DoorPiWeb]

Dieser Teil beinhaltet die Grundeinstellungen für den doorpi Webserver.

Schlüssel ip
Wert IP Adresse
Vorgabe -
IP Adresse des Webservers
Schlüssel port
Wert Server Port
Vorgabe 8080
Port Adresse des Webservers
Schlüssel indexfile
Wert Ressource
Vorgabe index.html
Startseite von DoorPiWeb.
Schlüssel loginfile
Wert Ressource
Vorgabe login.html
Loginseite von DoorPiWeb.
Schlüssel www
Wert Pfad
Vorgabe !BASEPATH!/../DoorPiWeb
Pfad zum DoorPiWeb Ordner.
Schlüssel online_fallback
Wert Webadresse
Vorgabe http://motom001.github.io/DoorPiWeb
Wenn DoorPiWeb nicht erreichbar, wird die aktuelle Webseite von github geladen.
Schlüssel public
Wert Areaname
Vorgabe AREA_public

Webserver Berechtigungen

Prinzipiell gibt es Nutzer (User) die in Gruppen (Groups) zusammengefasst sind. Diesen Groups sind Bereiche (AREA) zugeteilt, die lesend oder schreibend (noch offen ob das System bleibt!!) genutzt werden können. Die Bereiche (AREA) sind virtuelle und reale Ressourcen, die sich speziell an der URL unterscheiden. Zunächst sollten zuerst die AREAS definiert werden, damit überhaupt ein Zugriff auf die Webseite von doorpi möglich wird.

Die folgenden Sektionen sind die AREAS die bei der Write/Read Permission angegeben wurden und dienen nur als Beispiel. Jedoch muss immer die AREA_public angegeben werden, damit auf das Webinterface zugegriffen werden kann.

Sektion [AREA_public]
Wenn keine Berechtigungen notwendig:
.*
Ansonsten müssen folgende Resourcen angegeben werden:
/dashboard/bower_components/.*
/dashboard/dist/.*
/dashboard/js/.*
/dashboard/less/.*
/login.html
/favicon.ico

Dies sind nun Beispiele für weitere AREAS:

Sektion [AREA_config]
/control/config_value_get
/control/config_value_set
/control/config_value_delete
/control/config_save
/control/config_get_configfile
Sektion [AREA_dashboard]
/dashboard/pages/.*html
Sektion [AREA_status]
/status
/mirror

Nachdem die AREAS definiert wurden, können nun Benutzer, Gruppen und die Berechtigungen auf die einzelnen AREAS gesetzt werden.

Sektion [User]
Wert [Benutzername] = [Passwort]
Beispiel admin = admin1234
doorpi = d00rpI
visitor = visitor
Sektion [Group]
Wert [GroupName] = [Benutzername1],[Benutzername2],[...]
Beispiel administrators = admin, doorpi
guests = visitor
Sektion [WritePermission] und [ReadPermission]
Wert [GroupName] = [AreaName]
Beispiel [WritePermission]
administrators = dashboard,status,config
[ReadPermission]
guests = dashboard

Events

folgt noch