Rovio
Rovio is a robot webcam from WowWee http://www.wowwee.com/ .
Here's what I've done to get my Rovio working in ZoneMinder with PTZ functionality.
Rovio setup: Create a username and password in the Rovio under Settings-> Security tab. Guest access should be fine. (As of this writing, the newer Java applet has not been tested and is assumed not to work with ZoneMinder). Configure Rovio's Resolution to 640x480 and High.
In Zoneminder “Add new Monitor” -Set “Source Type” to “Remote” on the General tab The Source tab has more settings. It is the left picture. The right is the Control Tab. Later we will explain how to setup the Control Type and named “Rovio” (If you don't have a “Control” Tab, then from the ZoneMinder console check the box in “Options” -> “System” Tab -> “OPT_CONTROL ”)
To create the Rovio Control Type: Edit -> “Add New Control” (This is on the control tab of the Monitor you just created for your Rovio.) Configure the following settings, tabs not shown are left with default settings.
Once all of that is set. Now you need to create/copy the Rovio.pm file to your ZoneMinder PTZ Control directory. (See Hints further down on this page to locate the PTZ control directory on your ZoneMinder server.)
The Rovio.pm PTZ script has the ability to use paths that you have previously defined in your Rovio. You must edit the Rovio.pm file to reflect your path names. Look for a line beginning with "#Define your Rovio Path names here." and edit as appropriate.
Rovio Control Tab Notes: The “Focus” arrows are used to turn the headlight on and off. The “Zoom” buttons will move the Rovio's head up and down. The numbered buttons 1-8 will point to paths you have defined in your Rovio as described above.
Hints:
1. zmcontrol.pl and Debugging. If you are having PTZ issues and are not sure what is going on, check /tmp/zmcontrol-9.log To enable debug: which zmcontrol.pl edit /usr/local/bin/zmcontrol.pl (This is where I found the file on my OpenSuSE install) and change the line “use constant DBG_LEVEL => 0” Change 0 to 1.
2. Zoneminder PTZ Control Files It was tricky to find this location for me, but on my OpenSuSE install, the control file directory is : “/usr/lib/perl5/site_perl/5.10.0/ZoneMinder/Control/” Files in this location include: AxisV2.pm and PanasonicIP.pm. (You may be able to use “locate” to find one of these if you have trouble finding the Control directory.
3. Testing PTZ from command line You can test scripts by running “zmcontrol.pl --id 9 --command=moveConDownLeft” You can get the --id number by hovering over a camera in the webconsole and looking at the end of the url listed as “mid=9” An example: http://zoneminder/zm/index.php?view=watch&mid=9
To get the --command value, use one of the “Sub moveConDownLeft” from the control .pm file
Also, note. If you do this as any other user except your web server user, you will need to change the permissions on the /tmp/zmcontrol-*.sock file. Otherwise you will get the error message “Can't bind: Address already in use” chown wwwrun:www /tmp/zmcontrol-9.sock
4. If you edit the .pm control file, you may need do the following before the changes will take place: killall -9 zmcontrol.pl Restart Zoneminder (either from command line or from the web console). Restart Apache
5. Rovio API Documentation: http://www.wowwee.com/static/support/rovio/manuals/Rovio_API_Specifications_v1.2.pdf