Dave's Web-Log: Unterschied zwischen den Versionen

Aus Weimarnetz Wiki
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
+
* motion.conf bearbeiten
* [[livcam.htm]] und [[control204.php]] anlegen
+
* 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

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)

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)
  • motion.conf bearbeiten
  • livecam.htm und control204.php anlegen
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!