Dave's Web-Log: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(fertig) |
|||
Zeile 31: | Zeile 31: | ||
|--------------- | |--------------- | ||
|pwc - Webcamdriver | |pwc - Webcamdriver | ||
− | |in den Kernel kompilieren | + | |mit module-assistant in den Kernel kompilieren und installieren |
|--------------- | |--------------- | ||
|apache2 | |apache2 | ||
Zeile 39: | Zeile 39: | ||
|apt-get install php5 | |apt-get install php5 | ||
|--------------- | |--------------- | ||
− | |motion | + | |motion (mind.Version 3.2.1) |
− | * | + | * motion.conf bearbeiten |
− | * | + | * livecam.htm und control204.php anlegen |
|apt-get install motion | |apt-get install motion | ||
+ | |--------------- | ||
+ | |Cambozola Java-Applet runterladen und in /var/www kopieren | ||
+ | |Link --> [http://www.charliemouse.com/code/cambozola/ Cambozola] | ||
|--------------- | |--------------- | ||
|} | |} | ||
====Wie geht das von statten?==== | ====Wie geht das von statten?==== | ||
+ | |||
+ | Als erstes mal die ganzen sachen installieren! | ||
+ | Wenn schon die PWC-Driver für die kamera dabei sind, braucht ihr nicht noch die zu kompalieren. | ||
+ | Dann kannst du ab dem apache2 anfangen zu installieren. | ||
+ | * Lege unter /var/www eine neue Datei an die livecam.htm heisst. | ||
+ | <pre> vi /var/www/livecam.htm </pre> | ||
+ | * Kopiere dir diesen Quelltext rein. | ||
+ | <pre> | ||
+ | |||
+ | <html> | ||
+ | <head> | ||
+ | <title>Webcam - Pan and Tilt</title> | ||
+ | </head> | ||
+ | <body text="#000000" bgcolor="#EEF0E0" link="#0000EE" vlink="#551A8B" alink="#FF0000"> | ||
+ | <center> | ||
+ | <h2>Web Camera - Logitech Sphere - Pan and Tilt</h2> | ||
+ | <applet code=com.charliemouse.cambozola.Viewer | ||
+ | archive=cambozola.jar width=320 height=240> | ||
+ | <param name=url value=http://Deine_IP_Adresse:8081> | ||
+ | </applet> | ||
+ | </center> | ||
+ | <form name="pantilt" action="control204pt.php" method="post"> | ||
+ | <center> | ||
+ | Click buttons below to rotate and tilt camera.<br> | ||
+ | <INPUT TYPE=SUBMIT NAME="command" VALUE="Pan Left "> | ||
+ | <INPUT TYPE=SUBMIT NAME="command" VALUE=" L5 "> | ||
+ | <INPUT TYPE=SUBMIT NAME="command" VALUE=" L4 "> | ||
+ | <INPUT TYPE=SUBMIT NAME="command" VALUE=" L3 "> | ||
+ | <INPUT TYPE=SUBMIT NAME="command" VALUE=" L2 "> | ||
+ | <INPUT TYPE=SUBMIT NAME="command" VALUE=" L1 "> | ||
+ | <INPUT TYPE=SUBMIT NAME="command" VALUE="Center Pan"> | ||
+ | <INPUT TYPE=SUBMIT NAME="command" VALUE=" R1 "> | ||
+ | <INPUT TYPE=SUBMIT NAME="command" VALUE=" R2 "> | ||
+ | <INPUT TYPE=SUBMIT NAME="command" VALUE=" R3 "> | ||
+ | <INPUT TYPE=SUBMIT NAME="command" VALUE=" R4 "> | ||
+ | <INPUT TYPE=SUBMIT NAME="command" VALUE=" R5 "> | ||
+ | <INPUT TYPE=SUBMIT NAME="command" VALUE="Pan Right"><br> | ||
+ | <INPUT TYPE=SUBMIT NAME="command" VALUE="Tilt Down"> | ||
+ | <INPUT TYPE=SUBMIT NAME="command" VALUE=" D5 "> | ||
+ | <INPUT TYPE=SUBMIT NAME="command" VALUE=" D4 "> | ||
+ | <INPUT TYPE=SUBMIT NAME="command" VALUE=" D3 "> | ||
+ | <INPUT TYPE=SUBMIT NAME="command" VALUE=" D2 "> | ||
+ | <INPUT TYPE=SUBMIT NAME="command" VALUE=" D1 "> | ||
+ | <INPUT TYPE=SUBMIT NAME="command" VALUE="Center Tilt"> | ||
+ | <INPUT TYPE=SUBMIT NAME="command" VALUE=" U1 "> | ||
+ | <INPUT TYPE=SUBMIT NAME="command" VALUE=" U2 "> | ||
+ | <INPUT TYPE=SUBMIT NAME="command" VALUE=" U3 "> | ||
+ | <INPUT TYPE=SUBMIT NAME="command" VALUE=" U4 "> | ||
+ | <INPUT TYPE=SUBMIT NAME="command" VALUE=" U5 "> | ||
+ | <INPUT TYPE=SUBMIT NAME="command" VALUE=" Tilt Up "><br> | ||
+ | <INPUT TYPE=SUBMIT NAME="command" VALUE="Calibrate"> | ||
+ | </center> | ||
+ | </form> | ||
+ | </body> | ||
+ | </html> | ||
+ | |||
+ | </pre> | ||
+ | * unter ''Deine_IP_Adresse'' müsst ihr natürlich eure IP eintragen | ||
+ | * als nächstes legen wir die Steuerungsdatei an mit | ||
+ | <pre> vi /var/www/control204pt.php </pre> | ||
+ | * und dann kopiere dir diesen Quelltext rein | ||
+ | <pre> | ||
+ | <? | ||
+ | Header("HTTP/1.0 204 No Content"); | ||
+ | |||
+ | $command = (IsSet($_REQUEST['command'])) ? $_REQUEST['command'] : ""; | ||
+ | |||
+ | switch ($command) | ||
+ | { | ||
+ | case " L5 ": | ||
+ | readfile('http://username:password@localhost:8080/0/track/set?pan=-200&tilt=0'); | ||
+ | break; | ||
+ | case " L4 ": | ||
+ | readfile('http://username:password@localhost:8080/0/track/set?x=-60&y=1000'); | ||
+ | break; | ||
+ | case " L3 ": | ||
+ | readfile('http://username:password@localhost:8080/0/track/set?x=-45&y=1000'); | ||
+ | break; | ||
+ | case " L2 ": | ||
+ | readfile('http://username:password@localhost:8080/0/track/set?x=-30&y=1000'); | ||
+ | break; | ||
+ | case " L1 ": | ||
+ | readfile('http://username:password@localhost:8080/0/track/set?x=-15&y=1000'); | ||
+ | break; | ||
+ | case "Center Pan": | ||
+ | readfile('http://username:password@localhost:8080/0/track/set?x=0&y=1000'); | ||
+ | break; | ||
+ | case " R1 ": | ||
+ | readfile('http://username:password@localhost:8080/0/track/set?x=15&y=1000'); | ||
+ | break; | ||
+ | case " R2 ": | ||
+ | readfile('http://username:password@localhost:8080/0/track/set?x=30&y=1000'); | ||
+ | break; | ||
+ | case " R3 ": | ||
+ | readfile('http://username:password@localhost:8080/0/track/set?x=45&y=1000'); | ||
+ | break; | ||
+ | case " R4 ": | ||
+ | readfile('http://username:password@localhost:8080/0/track/set?x=60&y=1000'); | ||
+ | break; | ||
+ | case " R5 ": | ||
+ | readfile('http://username:password@localhost:8080/0/track/set?pan=200&tilt=0'); | ||
+ | break; | ||
+ | case " U5 ": | ||
+ | readfile('http://username:password@localhost:8080/0/track/set?pan=0&tilt=100'); | ||
+ | break; | ||
+ | case " U4 ": | ||
+ | readfile('http://username:password@localhost:8080/0/track/set?x=1000&y=20'); | ||
+ | break; | ||
+ | case " U3 ": | ||
+ | readfile('http://username:password@localhost:8080/0/track/set?x=1000&y=15'); | ||
+ | break; | ||
+ | case " U2 ": | ||
+ | readfile('http://username:password@localhost:8080/0/track/set?x=1000&y=10'); | ||
+ | break; | ||
+ | case " U1 ": | ||
+ | readfile('http://username:password@localhost:8080/0/track/set?x=1000&y=5'); | ||
+ | break; | ||
+ | case "Center Tilt": | ||
+ | readfile('http://username:password@localhost:8080/0/track/set?x=1000&y=0'); | ||
+ | break; | ||
+ | case " D1 ": | ||
+ | readfile('http://username:password@localhost:8080/0/track/set?x=1000&y=-5'); | ||
+ | break; | ||
+ | case " D2 ": | ||
+ | readfile('http://username:password@localhost:8080/0/track/set?x=1000&y=-10'); | ||
+ | break; | ||
+ | case " D3 ": | ||
+ | readfile('http://username:password@localhost:8080/0/track/set?x=1000&y=-15'); | ||
+ | break; | ||
+ | case " D4 ": | ||
+ | readfile('http://username:password@localhost:8080/0/track/set?x=1000&y=-20'); | ||
+ | break; | ||
+ | case " D5 ": | ||
+ | readfile('http://username:password@localhost:8080/0/track/set?pan=0&tilt=-100'); | ||
+ | break; | ||
+ | case "Pan Left ": | ||
+ | readfile('http://username:password@localhost:8080/0/track/set?pan=-10&tilt=0'); | ||
+ | break; | ||
+ | case "Pan Right": | ||
+ | readfile('http://username:password@localhost:8080/0/track/set?pan=10&tilt=0'); | ||
+ | break; | ||
+ | case " Tilt Up ": | ||
+ | readfile('http://username:password@localhost:8080/0/track/set?pan=0&tilt=5'); | ||
+ | break; | ||
+ | case "Tilt Down": | ||
+ | readfile('http://username:password@localhost:8080/0/track/set?pan=0&tilt=-5'); | ||
+ | break; | ||
+ | case "Calibrate": | ||
+ | readfile('http://username:password@localhost:8080/0/config/set?text_left=CAMERA%20CALIBRATING%20POSITION'); | ||
+ | readfile('http://username:password@localhost:8080/0/detection/pause'); | ||
+ | readfile('http://username:password@localhost:8080/0/track/set?x=-69&y=24'); | ||
+ | sleep(5); | ||
+ | readfile('http://username:password@localhost:8080/0/track/set?x=69&y=-29'); | ||
+ | sleep(3); | ||
+ | readfile('http://username:password@localhost:8080/0/track/set?x=65&y=-5'); | ||
+ | sleep(2); | ||
+ | readfile('http://username:password@localhost:8080/0/config/set?text_left=CAMERA'); | ||
+ | readfile('http://username:password@localhost:8080/0/detection/start'); | ||
+ | default: | ||
+ | break; | ||
+ | } | ||
+ | ?> | ||
+ | |||
+ | </pre> | ||
+ | |||
+ | * danach noch die motion.conf datei bearbeiten (hier meine bsp.conf) | ||
+ | |||
+ | <pre> | ||
+ | # Minimal motion example config file provided by the | ||
+ | # Debian motion package - for basic webcam operation. | ||
+ | # | ||
+ | # You most certainly want to investigate | ||
+ | # /usr/share/doc/motion/examples/motion-dist.conf.gz | ||
+ | # for further configuration options. Also, refer to the | ||
+ | # motion man page and /usr/share/doc/motion/motion_guide.html | ||
+ | # for detailed information on configuration options. | ||
+ | |||
+ | daemon off | ||
+ | quiet on | ||
+ | |||
+ | # You may very well need to change this (check with 'dmesg' | ||
+ | # after plugging in your webcam) | ||
+ | videodevice /dev/video0 | ||
+ | |||
+ | # Image size in pixels (valid range is camera dependent) | ||
+ | width 320 | ||
+ | height 240 | ||
+ | |||
+ | framerate 2 | ||
+ | quality 85 | ||
+ | auto_brightness off | ||
+ | |||
+ | # Initial brightness, contrast, hue (NTSC), and saturation | ||
+ | # 0 = disabled (valid range 0-255) | ||
+ | brightness 0 | ||
+ | contrast 0 | ||
+ | saturation 0 | ||
+ | hue 0 | ||
+ | |||
+ | # Encode movies in real-time (install ffmpeg before enabling) | ||
+ | ffmpeg_cap_new off | ||
+ | |||
+ | # Target base directory for pictures and films | ||
+ | # You should probably change this (create dir beforehand) | ||
+ | target_dir /tmp | ||
+ | jpeg_filename bild | ||
+ | |||
+ | # Define a port number (e.g. 8000) to enable the mini-http server | ||
+ | # 0 = disabled | ||
+ | webcam_port 8081 | ||
+ | |||
+ | # Set to 'off' to allow anybody (not just localhost) to view the | ||
+ | # webcam via the mini-http server (http://hostname:port) | ||
+ | webcam_localhost off | ||
+ | |||
+ | webcam_quality 50 | ||
+ | webcam_maxrate 8 | ||
+ | |||
+ | # Drivertyp der Steuerung | ||
+ | track_type 3 | ||
+ | |||
+ | #Steuerungs-Port | ||
+ | control_port 8080 | ||
+ | |||
+ | #Control html | ||
+ | control_html_output on | ||
+ | |||
+ | # user und pw | ||
+ | control_authentication | ||
+ | |||
+ | </pre> | ||
+ | |||
+ | * die Dateien stammen alle von [http://www.lavrsen.dk/twiki/bin/view/Motion/LogitechSphereControl Kenneth Lavrsen] und wurden leicht modifiziert | ||
+ | * viel spass! |
Version vom 6. Juni 2006, 11:05 Uhr
kleine Gedankenstuetze
Vorlagen
- Vorlage:G23-server <-- Variable
- Vorlage:Link-Bild
Steuerbare-Webcam(logitech sphere) unter Win
- Logisphere-Programm --> logisphere
- easy to use programm
- nicht ganz billig
- kostenlose Version mit Einschränkungen
Steuerbare-Webcam(logitech sphere) unter Linux(Ubuntu)
- Motion-Programm --> Motion-Wiki
benötigte Programme / Dateien | Befehle |
---|---|
gcc | apt-get install gcc |
make | apt-get install make |
module-assistant | apt-get install module-assistant |
pwc - Webcamdriver | mit module-assistant in den Kernel kompilieren und installieren |
apache2 | apt-get install apache2 |
php5 | apt-get install php5 |
motion (mind.Version 3.2.1)
|
apt-get install motion |
Cambozola Java-Applet runterladen und in /var/www kopieren | Link --> Cambozola |
Wie geht das von statten?
Als erstes mal die ganzen sachen installieren! Wenn schon die PWC-Driver für die kamera dabei sind, braucht ihr nicht noch die zu kompalieren. Dann kannst du ab dem apache2 anfangen zu installieren.
- Lege unter /var/www eine neue Datei an die livecam.htm heisst.
vi /var/www/livecam.htm
- Kopiere dir diesen Quelltext rein.
<html> <head> <title>Webcam - Pan and Tilt</title> </head> <body text="#000000" bgcolor="#EEF0E0" link="#0000EE" vlink="#551A8B" alink="#FF0000"> <center> <h2>Web Camera - Logitech Sphere - Pan and Tilt</h2> <applet code=com.charliemouse.cambozola.Viewer archive=cambozola.jar width=320 height=240> <param name=url value=http://Deine_IP_Adresse:8081> </applet> </center> <form name="pantilt" action="control204pt.php" method="post"> <center> Click buttons below to rotate and tilt camera.<br> <INPUT TYPE=SUBMIT NAME="command" VALUE="Pan Left "> <INPUT TYPE=SUBMIT NAME="command" VALUE=" L5 "> <INPUT TYPE=SUBMIT NAME="command" VALUE=" L4 "> <INPUT TYPE=SUBMIT NAME="command" VALUE=" L3 "> <INPUT TYPE=SUBMIT NAME="command" VALUE=" L2 "> <INPUT TYPE=SUBMIT NAME="command" VALUE=" L1 "> <INPUT TYPE=SUBMIT NAME="command" VALUE="Center Pan"> <INPUT TYPE=SUBMIT NAME="command" VALUE=" R1 "> <INPUT TYPE=SUBMIT NAME="command" VALUE=" R2 "> <INPUT TYPE=SUBMIT NAME="command" VALUE=" R3 "> <INPUT TYPE=SUBMIT NAME="command" VALUE=" R4 "> <INPUT TYPE=SUBMIT NAME="command" VALUE=" R5 "> <INPUT TYPE=SUBMIT NAME="command" VALUE="Pan Right"><br> <INPUT TYPE=SUBMIT NAME="command" VALUE="Tilt Down"> <INPUT TYPE=SUBMIT NAME="command" VALUE=" D5 "> <INPUT TYPE=SUBMIT NAME="command" VALUE=" D4 "> <INPUT TYPE=SUBMIT NAME="command" VALUE=" D3 "> <INPUT TYPE=SUBMIT NAME="command" VALUE=" D2 "> <INPUT TYPE=SUBMIT NAME="command" VALUE=" D1 "> <INPUT TYPE=SUBMIT NAME="command" VALUE="Center Tilt"> <INPUT TYPE=SUBMIT NAME="command" VALUE=" U1 "> <INPUT TYPE=SUBMIT NAME="command" VALUE=" U2 "> <INPUT TYPE=SUBMIT NAME="command" VALUE=" U3 "> <INPUT TYPE=SUBMIT NAME="command" VALUE=" U4 "> <INPUT TYPE=SUBMIT NAME="command" VALUE=" U5 "> <INPUT TYPE=SUBMIT NAME="command" VALUE=" Tilt Up "><br> <INPUT TYPE=SUBMIT NAME="command" VALUE="Calibrate"> </center> </form> </body> </html>
- unter Deine_IP_Adresse müsst ihr natürlich eure IP eintragen
- als nächstes legen wir die Steuerungsdatei an mit
vi /var/www/control204pt.php
- und dann kopiere dir diesen Quelltext rein
<? Header("HTTP/1.0 204 No Content"); $command = (IsSet($_REQUEST['command'])) ? $_REQUEST['command'] : ""; switch ($command) { case " L5 ": readfile('http://username:password@localhost:8080/0/track/set?pan=-200&tilt=0'); break; case " L4 ": readfile('http://username:password@localhost:8080/0/track/set?x=-60&y=1000'); break; case " L3 ": readfile('http://username:password@localhost:8080/0/track/set?x=-45&y=1000'); break; case " L2 ": readfile('http://username:password@localhost:8080/0/track/set?x=-30&y=1000'); break; case " L1 ": readfile('http://username:password@localhost:8080/0/track/set?x=-15&y=1000'); break; case "Center Pan": readfile('http://username:password@localhost:8080/0/track/set?x=0&y=1000'); break; case " R1 ": readfile('http://username:password@localhost:8080/0/track/set?x=15&y=1000'); break; case " R2 ": readfile('http://username:password@localhost:8080/0/track/set?x=30&y=1000'); break; case " R3 ": readfile('http://username:password@localhost:8080/0/track/set?x=45&y=1000'); break; case " R4 ": readfile('http://username:password@localhost:8080/0/track/set?x=60&y=1000'); break; case " R5 ": readfile('http://username:password@localhost:8080/0/track/set?pan=200&tilt=0'); break; case " U5 ": readfile('http://username:password@localhost:8080/0/track/set?pan=0&tilt=100'); break; case " U4 ": readfile('http://username:password@localhost:8080/0/track/set?x=1000&y=20'); break; case " U3 ": readfile('http://username:password@localhost:8080/0/track/set?x=1000&y=15'); break; case " U2 ": readfile('http://username:password@localhost:8080/0/track/set?x=1000&y=10'); break; case " U1 ": readfile('http://username:password@localhost:8080/0/track/set?x=1000&y=5'); break; case "Center Tilt": readfile('http://username:password@localhost:8080/0/track/set?x=1000&y=0'); break; case " D1 ": readfile('http://username:password@localhost:8080/0/track/set?x=1000&y=-5'); break; case " D2 ": readfile('http://username:password@localhost:8080/0/track/set?x=1000&y=-10'); break; case " D3 ": readfile('http://username:password@localhost:8080/0/track/set?x=1000&y=-15'); break; case " D4 ": readfile('http://username:password@localhost:8080/0/track/set?x=1000&y=-20'); break; case " D5 ": readfile('http://username:password@localhost:8080/0/track/set?pan=0&tilt=-100'); break; case "Pan Left ": readfile('http://username:password@localhost:8080/0/track/set?pan=-10&tilt=0'); break; case "Pan Right": readfile('http://username:password@localhost:8080/0/track/set?pan=10&tilt=0'); break; case " Tilt Up ": readfile('http://username:password@localhost:8080/0/track/set?pan=0&tilt=5'); break; case "Tilt Down": readfile('http://username:password@localhost:8080/0/track/set?pan=0&tilt=-5'); break; case "Calibrate": readfile('http://username:password@localhost:8080/0/config/set?text_left=CAMERA%20CALIBRATING%20POSITION'); readfile('http://username:password@localhost:8080/0/detection/pause'); readfile('http://username:password@localhost:8080/0/track/set?x=-69&y=24'); sleep(5); readfile('http://username:password@localhost:8080/0/track/set?x=69&y=-29'); sleep(3); readfile('http://username:password@localhost:8080/0/track/set?x=65&y=-5'); sleep(2); readfile('http://username:password@localhost:8080/0/config/set?text_left=CAMERA'); readfile('http://username:password@localhost:8080/0/detection/start'); default: break; } ?>
- danach noch die motion.conf datei bearbeiten (hier meine bsp.conf)
# Minimal motion example config file provided by the # Debian motion package - for basic webcam operation. # # You most certainly want to investigate # /usr/share/doc/motion/examples/motion-dist.conf.gz # for further configuration options. Also, refer to the # motion man page and /usr/share/doc/motion/motion_guide.html # for detailed information on configuration options. daemon off quiet on # You may very well need to change this (check with 'dmesg' # after plugging in your webcam) videodevice /dev/video0 # Image size in pixels (valid range is camera dependent) width 320 height 240 framerate 2 quality 85 auto_brightness off # Initial brightness, contrast, hue (NTSC), and saturation # 0 = disabled (valid range 0-255) brightness 0 contrast 0 saturation 0 hue 0 # Encode movies in real-time (install ffmpeg before enabling) ffmpeg_cap_new off # Target base directory for pictures and films # You should probably change this (create dir beforehand) target_dir /tmp jpeg_filename bild # Define a port number (e.g. 8000) to enable the mini-http server # 0 = disabled webcam_port 8081 # Set to 'off' to allow anybody (not just localhost) to view the # webcam via the mini-http server (http://hostname:port) webcam_localhost off webcam_quality 50 webcam_maxrate 8 # Drivertyp der Steuerung track_type 3 #Steuerungs-Port control_port 8080 #Control html control_html_output on # user und pw control_authentication
- die Dateien stammen alle von Kenneth Lavrsen und wurden leicht modifiziert
- viel spass!