Mit diesem Java-Programm kann die Kamera Logitech Sphere gesteuert werden.
Im Package gibt es zwei Hauptklassen:
- PTZ.class: Kapselt den Kamerazugriff der Windows-DLL
- PTZServer.class: Stellt einen HTTP-Server für die Steuerung über eine Homepage bereit.
Java ist ideal, da diese Hochsprache Betriebssystem unabhängig ist. In diesem Projekt gibt es zu Zeit eine Abhängigkeit von einer Windows-DLL, die den Zugriff auf die Kamera bereitstellt.
Die Windows-DLL wurde mit dem freien Microsoft-Compiler 'Visual C++ 2008 Express' geschrieben.
Das Programm SpherePTZ.zip kann hier heruntergeladen werden.
Für die HTML-Dateien der Serverausgabe ist hier ein Beispiel.
1. PTZ-Server
Läuft standardmäßig auf Port 8083. Kann in der Ini_Datei geändert werden.
Es muss ein Unterverzeichnis „www“ im Startverzeichnis liegen.
Hier wird die Datei „ptz.html“ für die Darstellung der Buttons benutzt.
Die Datei „reload.html“ dient nur zur Verhinderung, das bei einem Browser-Reload, die letzte Aktion nochmal aufgerufen wird. Geht eventuell auch einfacher. Ich weiß; bloß noch nicht wie.
2. HTML-Befehle
HTML-Befehle | Parameter | Beschreibung |
---|---|---|
rightrel | +-integer | Relatives schwenken |
rightabs | +-integer | Absolutes schwenken |
leftrel | +-integer | Relatives neigen |
leftabs | +-integer | Absolutes neigen |
zoomrel | +-integer | Relatives zoomen |
zoomabs | +integer | Absolutes zoomen |
home | keine | Reset der Kameraposition |
Zum Beispiel:
<a href="ptz.html?rightrel +10"><img src="ButtonRight.png"></a>
3. PTZ Klasse
3.1. Funktionen
Function |
Beschreibung |
Anmerkung |
---|---|---|
String getDLLVersion(); | Version der PTZ.DLL | getestet |
String[] findDevices(); | Gibt eine Liste mit gefundenen Devices wieder | getestet |
int openDevice( String deviceName ); | öffnet die angegebene Kamera | getestet |
int closeDevice(); | Schließt den Handle auf die Kamera | getestet |
int setMechanicalPanRelative(int x); | Relavives schwenken | getestet |
int setMechanicalPanAbsolute(int x); | Absolutes schwenken | getestet |
int setMechanicalTiltRelative(int y); | Relatives neigen | getestet |
int setMechanicalTiltAbsolute(int y ); | Absolutes neigen | getestet |
int setDigitalPanAbsolute(int x ); | Digitales schwenken, wenn gezoomt ist | ungetestet |
int setDigitalTiltAbsolute(int y); | Digitales neigen, wenn gezoomt ist | ungetestet |
int setDigitalZoomRelative( int z ); | Relatives zoomen 50 entspricht 100%, 200 = 400% |
getestet |
int setDigitalZoomAbsolute(int z); | Absolutes zoomen | getestet |
int resetDigitalZoom(); | Digitalen Zoom auf Minimalwert | getestet |
int resetDigitalPanTilt(); | Digitales schwenken/neigen auf Nullstellung | ungetestet |
int resetMechanicalPanTilt(); | Homeposition anfahren | getestet |
3.2. Konstanten
Name | Wert | Beschreibung |
---|---|---|
CAMERA_OK | 1 | Befehlsausführung OK |
CAMERA_NOK | 2 | Fehler aufgetreten |
CAMERA_BUSY | -1 | Kamera noch in Bewegung |
CAMERA_NOT_OPEN | -2 | Gerät nicht geöffnet |
3.3. Verwendete Packages
Das Java ™ Runtime Environment kann hier heruntergeladen werden. Allgemeine Adresse: hier
Die benötigten Dateien
müssen im Suchpfad liegen.
Mehr Informationen zu:
Das Programm und die Sourcen können auch von Sourceforge.net heruntergeladen werden.