v1.0.5

This has been extensively tested on a Vivotek PZ7132 camera. It should
work on the PZ7131 since that is just WiFi-less, and the 4XEM versions
of this camera. It may work with other Vivotek & 4XEM cameras also, if 
you have a different model and this works with it, drop me a note at
ptz@curtronics.com and I'll include it here.

Please report any bugs to ptz@curtronics.com

Not a real whole lot to say. Put vtek-ptz in your cgi-bin location and 
the images in <doc-root>/images/PTZ/ or any location of your choice but
remember to change $imageLOC in vtek-ptz.

And these Perl modules are required:

File::Basename;
CGI qw(:standard);
WWW::Curl::Easy;
LWP::UserAgent;
HTTP::Request::Common qw(POST);
Crypt::Blowfish;

If a password is used it's encrypted using Blowfish with a key that is
gen'd based on some of the server's configuration parameters. This key 
may or may not be good enough for you, if you prefer, enter your own key
value as the $key in vtek-ptz. If you see a "Weak Password Encryption" 
message that indicates a weak key so adjust the key as you see fit.

If you leave the key blank we'll try to generate a unique key based on
the system, if that fails or generates a weak key you will be notified.
If that happens or you chose to enter your own key it needs to be a
minimum of 8 charcters and can be a maximum of 56 characters. If you
enter less then 16 character it will be considered a weak key and you
will be notified of that. If you enter more then 56 character it will
be truncated to 56 characters. The key is used to encrypt and remember
the password between operations and not in plaintext.


When the page first comes up it is not expecting to use a username and 
password, clicking on the Auth Required checkbox will then prompt you 
for the username and password. Once they are entered they will no longer 
appear on the page. If you need to be prompted for them again you can
either uncheck the Auth Required checkbox then re-check it (that will 
clear the remembered values) or you can leave the Auth Required checkbox
checked and clear the URL and click any other button.

There is no login per se, once you enter the URL and the username and
password if required, you're good to go, just start pressing buttons.

Any time the URL is cleared and the page is reloaded it starts a'new and
any username and password that was entered will have to be entered again.

Any time a command is sent to the camera you will get the status at the 
middle bottom of the page. Normally you'll just see OK's there, but if 
there is a problem connecting/talking to the camera like a 401 
authentication error you'll see it there.

There is an an optional popup status window. If communication with the 
camera returns any status code other then 200 and OK an optional checkbox 
will appear below that status. Checking this box will then enable a popup 
status window that will contain the results of all the communications with 
the camera for the last operation. The popup status window will continue 
to operate and that option will continue to appear until that box is 
unchecked even if the status returned is good. Once that box is unchecked 
the status window and the option will then no longer appear.

The Pan, Tilt, Zoom and Auto speed's will not be displayed nor be able to 
be set until the URL is specified without needing authentication or with 
the correct username and password when authentication is required and the 
first command is issued. If access is successful then the speed values
currently set on the camera will then be displayed. I've noticed there 
is a bit of a lag for speed changes to take affect, a second or two, so 
you can change the speed from fast to slow then issue a command and it 
still executes at the former fast (or slow if reversed) setting. The
changing of these setting take a little time to take affest and if a 
change is requested vtek-ptz will wait up to 5 seconds for the change to
become affective. If you would like to disable this wait change 
$SpeedSync = $false in vtec-ptz.

Camera position Presets can be retreived from the camera and then the 
presets can be used. Initially the presets are not retreived from the 
camera, to retreive the presets select "** Get **" from the drop down menu. 
Once the list is retreived it will be updated with every operation in the 
background. It is for this reason it is a good idea to clear the list when 
no longer using it by choosing "** Clear **" from the drop down list, That
will then reduce the communication overhead with the camera. To have the 
camera go to one of the predefined preset positions just chose that position 
from the drop down list. That position will then remain highlighted in the 
Preset box. If the camera is moved off that preset position that preset 
position will no longer be highlighted in the Preset box and the display 
will revert back to "-- Pick --".

ToDo
- Add, delete, modify Presets.
- Modify Patrol settings.

Guess there was quite a bit to say...

