Inhaltsverzeichnis   MOBOTIX Online-Hilfe

Die Fernkonfigurations-API

Die Fernkonfigurations-API (Application Programming Interface) http://192.168.178.161/admin/remoteconfig ermöglicht die Fernkonfiguration der Kamera, indem bestimmte Parameter der Konfigurationsdatei direkt auf der Kamera manipuliert werden.

Verwenden der Fernkonfigurations-API

Die HTTP-Schnittstelle der Kamera erwartet Befehle und Konfigurationsparameter in einem HTTP-POST-Request wie in diesem Beispiel:

POST /admin/remoteconfig HTTP/1.0
Content-type: application/x-www-form-urlencoded
Authorization: Basic YWRtaW46bWVpbnNt
Content-length: 87

helo
view section audio
write params
audio/MICRO=1
view section audio
store
update
quit

Erklärung des HTTP-POST-Requests im Beispiel

Bestandteil Beschreibung
POST /admin/remoteconfig HTTP/1.0
Content-type: application/x-www-form-urlencoded
Authorization: Basic YWRtaW46bWVpbnNt
Content-length: 87

Header (Kopf) des HTTP-POST-Requests.

  Leerzeile, trennt den Header vom Inhalt des Requests.
helo Beginn der Befehlssequenz.
view section audio
write params
audio/MICRO=1
view section audio
store
update
Befehlssequenz mit verschiedenen Befehlen, wie im Abschnitt Befehle der Fernkonfigurations-API erläutert.
quit Ende der Befehlssequenz.

Anmerkungen:

Im Abschnitt Ausgaben der Fernkonfigurations-API wird dieses Beispiel genau erläutert und mithilfe von cURL durchgeführt.

Befehle der Fernkonfigurations-API

Die Befehle können mit den folgenden Syntaxformen verwendet werden:

Die Fernkonfigurations-API stellt folgende Befehle zur Verfügung:

Befehl Beschreibung
reset Setzt die komplette Kamerakonfiguration oder einzelne Abschnitte darin auf Werkseinstellungen zurück.
Schlüsselwort Auswirkung
configfile Setzt die gesamte Konfiguration zurück.
section Setzt nur die als Parameter angegebenen Abschnitte der Konfiguration zurück.
exceptsection Setzt alle Abschnitte der Konfiguration außer den als Parameter angegebenen Abschnitten zurück.
restore Stellt die im Flash gespeicherte Konfiguration wieder her.
Schlüsselwort Auswirkung
configfile Stellt die gesamte Konfiguration wieder her.
section Stellt nur die als Parameter angegebenen Abschnitte der Konfiguration wieder her.
delete Löscht die komplette Konfiguration, einzelne Abschnitte oder einzelne Parameter.
Schlüsselwort Auswirkung
configfile Löscht die gesamte Konfiguration.
section Löscht nur die als Parameter angegebenen Abschnitte der Konfiguration.
params Löscht nur die in den folgenden Zeilen angegebenen Parameter aus der Konfiguration. Die zu löschenden Parameter müssen mit vorangestelltem Abschnittsnamen gefolgt von "/" als Trennzeichen angegeben werden:

<Abschnittsname>/<Parameter>

Bei Profilen wird der Abschnittsname um den ebenfalls mit "/" abgetrennten Profilnamen erweitert:

<Abschnittsname>/<Profilname>/<Parameter>

write Schreibt ganze Abschnitte oder - mit vorangestelltem Schlüsselwort params - einzelne Parameter der Konfiguration.
Schlüsselwort Auswirkung

(nicht angegeben)

Schreibt die in den folgenden Zeilen angegebenen Abschnitte in die Konfiguration. Die Abschnitte müssen komplett mit Start- und Endzeilen gesendet werden:

SECTION <Abschnittsname1>
<Parameter>=<Wert>
<Parameter>=<Wert>
ENDSECTION <Abschnittsname1>
SECTION <Abschnittsname2>
<Parameter>=<Wert>
ENDSECTION <Abschnittsname2>

params

Schreibt die in den folgenden Zeilen angegebenen Parameter in die Konfiguration. Die Parameter müssen mit vorangestelltem Abschnittsnamen gefolgt von "/" als Trennzeichen angegeben werden:

<Abschnittsname>/<Parameter>=<Wert>

Bei Profilen wird der Abschnittsname um den ebenfalls mit "/" abgetrennten Profilnamen erweitert:

<Abschnittsname>/<Profilname>/<Parameter>=<Wert>

append Hängt Daten an Konfigurationsabschnitte an. Die anzuhängenden Parameter für einen Abschnitt werden zeilenweise zwischen SECTION und ENDSECTION angegeben:

SECTION <Abschnittsname>
Parameter=<Wert>
Parameter=<Wert>
ENDSECTION <Abschnittsname>

view Gibt die komplette Konfiguration oder ausgewählte Abschnitte aus.
Schlüsselwort Auswirkung
configfile Gibt die komplette Konfiguration aus.
section Gibt nur die als Parameter angegebenen Abschnitte der Konfiguration aus.
store Sichert die Konfiguration im Flash-Speicher der Kamera.
reboot Löst einen Neustart der Kamera aus.
update Aktiviert die an der Konfiguration vorgenommenen Änderungen, soweit dies ohne Neustart möglich ist.
Schlüsselwort Auswirkung
all (oder ohne Schlüsselwort) Es werden alle Änderungen aktiviert.
section Nur Änderungen an den als Parameter angegebenen Abschnitten werden aktiviert.
profile Gibt eine Zeile mit dem Namen des gerade aktiven Konfigurationsprofils aus. Die Zeile ist leer, wenn kein Profil aktiv ist.
activate_profile Aktiviert das als Parameter angegebene Konfigurationsprofil:

activate_profile <Profilname>

reboot_needed Listet die Konfigurationssektionen auf, die verändert wurden und einen Neustart zur Aktivierung der Änderungen benötigen. Die Zeile ist leer, wenn keine Änderung einen Neustart erfordert.
Hinweis: Nach Änderungen an der gesamten Konfiguration (mit write, reset, delete oder nach dem Hochladen oder dem Editieren der Konfiguration über das Web-Interface) ist keine Information über die Änderung einzelner Abschnitte verfügbar. In diesem Fall liefert dieser Befehl die Antwort "unknown".
exit
quit
Identische Bedeutung. Beide Befehle schließen den vorangehenden Befehl ab und beenden den API-Aufruf. In einer Befehlssequenz kann immer nur einer dieser beiden Befehle verwendet werden.
help Gibt eine Liste der verfügbaren Befehle zurück (siehe Abrufen der implementierten Befehle mit dem Befehl help).

Ausgaben der Fernkonfigurations-API

Die Ausgabe der API erfolgt zeilenweise:

Beispiel: Aktivieren des Mikrofons

Dieses Beispiel zeigt, wie das Mikrofon der Kamera mit einem HTTP-Request aktiviert werden kann. Zum Testen kann das Befehlszeilenwerkzeug cURL (http://curl.haxx.se/download.html) verwendet werden, das für Windows erhältlich ist und unter Mac OS X und Linux bereits installiert ist.

Vorteil von cURL ist, dass die Befehle schnell getestet werden können, da diese Anwendung die Kommunikation mit der Kamera übernimmt. So sendet cURL automatisch den richtigen Header und berechnet die Länge der eingegebenen Befehlssequenz.

Zu sendende Anfrage:

Befehle Beschreibung

helo
view section audio
write params
audio/MICRO=1
view section audio
store
update
quit

# Beginn der Befehlssequenz.
# Abschnitt audio ausgeben.
# Schreiben des in der folgenden Zeile angegebenen Parameters.
# Parameter MICRO im Abschnitt audio auf den Wert "1" setzen.
# Abschnitt audio erneut ausgeben.
# Konfiguration im Flash-Speicher der Kamera sichern.
# Änderungen ohne Neustart aktivieren.
# Ende der Befehlssequenz.

Schrittweise Anleitung:

Ausgabe der obigen Befehlssequenz mit folgenden Daten:

* About to connect() to 10.8.0.118 port 80 (#0)
* Trying 10.8.0.118... connected
* Connected to 10.8.0.118 port 80 (#0)
* Server auth using Basic with user 'admin'
> POST /admin/remoteconfig HTTP/1.1
> Authorization: Basic YWRtaW46bWVpbnNt
> User-Agent: curl/7.18.2 (i486-pc-linux-gnu) libcurl/7.18.2 OpenSSL/0.9.8g zlib/1.2.3.3 libidn/1.8 libssh2/0.18
> Host: 10.8.0.118
> Accept: */*
> Content-Length: 87
> Content-Type: application/x-www-form-urlencoded
>
* HTTP 1.0, assume close after body
< HTTP/1.0 200 OK
< Content-Type: text/plain; charset=ISO-8859-1
< Cache-Control: no-cache
<
#read:helo:
#read:view section audio:
#exec cmd=view section audio
SECTION audio
SPEAKER=1
MICRO=0
PREAMPLIFIER=2
SPEAKERLEVEL=0
ENDSECTION audio
#read:write params:
#exec cmd=write params
#read:view section audio:
#exec cmd=view section audio
SECTION audio
SPEAKER=1
MICRO=1
PREAMPLIFIER=2
SPEAKERLEVEL=0
ENDSECTION audio
#read:store:
#exec cmd=store
#Storing to flash...
#read:update:
#exec cmd=update
#updating daemons!
#read:quit:
OK
#bye
* Closing connection #0

Hinweis: Die Ausgaben, die mit "*", "<" und ">" beginnen, werden von cURL ausgegeben. Hierbei kennzeichnet ">" Befehle, die zur Kamera gesendet werden und "<" Meldungen, die vom Webserver der Kamera zurückgegeben werden. Die restlichen Zeilen werden von der Fernkonfigurations-API zurückgegeben, wie unter Ausgaben der Fernkonfigurations-API beschrieben.

Beispiel: Abrufen der implementierten Befehle mit dem Befehl help

Zu sendende Anfrage:

Befehle Beschreibung

helo
help
quit

# Beginn der Befehlssequenz.
# Hilfe der Fernkonfigurations-API aufrufen.
# Ende der Befehlssequenz.

Schrittweise Anleitung:

Ausgabe der obigen Befehlssequenz mit folgenden Daten:

* About to connect() to 10.8.0.118 port 80 (#0)
* Trying 10.8.0.118... connected
* Connected to 10.8.0.118 port 80 (#0)
* Server auth using Basic with user 'admin'
> POST /admin/remoteconfig HTTP/1.1
> Authorization: Basic YWRtaW46bWVpbnNt
> User-Agent: curl/7.18.2 (i486-pc-linux-gnu) libcurl/7.18.2 OpenSSL/0.9.8g zlib/1.2.3.3 libidn/1.8 libssh2/0.18
> Host: 10.8.0.118
> Accept: */*
> Content-Length: 87
> Content-Type: application/x-www-form-urlencoded
>
* HTTP 1.0, assume close after body
< HTTP/1.0 200 OK
< Content-Type: text/plain; charset=ISO-8859-1
< Cache-Control: no-cache
<
#read:helo:
#read:help:
The following commands are currently implemented:
append
reboot_needed
view
reboot
write
profile
restore
activate_profile
reset
update
delete
store
exit
quit
help
#read:quit:
OK
#bye
* Closing connection #0

Hinweis: Die Ausgaben, die mit "*", "<" und ">" beginnen, werden von cURL ausgegeben. Hierbei kennzeichnet ">" Befehle, die zur Kamera gesendet werden und "<" Meldungen, die vom Webserver der Kamera zurückgegeben werden. Die restlichen Zeilen werden von der Fernkonfigurations-API zurückgegeben, wie unter Ausgaben der Fernkonfigurations-API beschrieben.

de, en

© 2001-2024 MOBOTIX AG, Germany · http://www.mobotix.com/