Aus Raspberry Pi Geek 03/2014

IP-Webcam im Eigenbau mit dem RasPi und Motion (Seite 2)

Listing 3

$ cd PiBits/ServoBlaster/kernel
$ sudo make install_autostart

Das System lädt danach das Modul zum Ansteuern des Servos bei jedem Start des RasPi automatisch mit. Möchten Sie das Modul von Hand laden, erledigen Sie das mittels des Befehls:

$ sudo modprobe servoblaster

Kommt es im laufenden Betrieb zu Problemen, dann entladen Sie das Modul mit dem folgenden Kommando wieder:

$ sudo modprobe -r servoblaster

Haben Sie alles installiert, ist es an der Zeit, den Servomotor zu testen. Sie setzen den Servo mit einfachen Befehlen in Bewegung. Die Werte für die Pulslänge, um den Servo anzusteuern, lagen bei dem von uns verbauten Typ zwischen 50 (500 Mikrosekunden) und 250 (2500 Mikrosekunden).

Kennen Sie die Werte für das von Ihnen verwendete Modell nicht, hilft das Tool ./serverd weiter, das alle wichtigen Informationen auf einen Blick zusammenfasst. Sie wechseln in das geklonte Verzeichnis aus dem Git-Repository und rufen das Tool dort auf. Die Zeilen Minimum width value und Maximum width value zeigen die entsprechenden Werte (Listing 4).

Listing 4

cd PiBits/ServoBlaster/usersudo ./serverd
Board revision:              2
Using hardware:            PWM
Idle timeout:         Disabled
Number of servos:            8
Servo cycle time:        20000us
Pulse width units:          10us
Minimum width value:        50 (500us)
Maximum width value:       250 (2500us)
Output levels:          Normal
Using P1 pins:           7,11,12,13,15,16,18,22
Using P5 pins:
Servo mapping:
     0 on P1-7           GPIO-4
     1 on P1-11          GPIO-17
     2 on P1-12          GPIO-18
     3 on P1-13          GPIO-27
     4 on P1-15          GPIO-22
     5 on P1-16          GPIO-23
     6 on P1-18          GPIO-24
     7 on P1-22          GPIO-25

An dieser Stelle lohnt es sich, sich schon einmal darüber Gedanken zu machen, in welchem Bereich Sie die Webcam drehen möchten. In der Regel genügt es, einen Bereich von etwa 180 Grad abzudecken, da sich oft hinter der Webcam ein Hindernis befindet. Auch das USB-Kabel der Kamera erweist sich in der Praxis gelegentlich als beschränkender Faktor.

Mit den Werten für die zwei Endpunkte im Hinterkopf geht es also ans Testen. Das Gerät /dev/servoblaster funktioniert natürlich erst, wenn Sie den Daemon gestartet haben. Das Kommando in der ersten Zeile von Listing 5 stellt den Servo grob auf die Mitte ein. Das nächste Kommando schwenkt nach rechts, das dritte ganz nach links.

Listing 5

$ sudo echo 2=150 > /dev/servoblaster
$ sudo echo 2=60 > /dev/servoblaster
$ sudo echo 2=240 > /dev/servoblaster

Bei Eingabe des minimalen Wertes stieß der Servo im Test an seine mechanischen Grenzen. Der Strom blieb konstant hoch, der Motor gab ungesunde Geräusche von sich. Um die Hardware zu schonen, kamen schließlich als Eckwerte 60 und 240 zum Einsatz, als Mittelposition 150.

Alles online

Als Webserver verwendeten wir Apache. Es spricht jedoch nichts gegen den Einsatz eines anderen Webservers – der sollte allerdings zumindest die Skriptsprache PHP unterstützen.

Die Installation von Apache erfolgt über das Paketmanagement (Listing 6, Zeile 1). Mit einem kleinen Einzeiler legen Sie anschließend eine Testseite an, die Auskunft über die Installation erteilt (Zeile 2). Diese rufen Sie im Webbrowser auf erhalten detaillierte Angaben zur installierten PHP-Version (Abbildung 3). Falls sie die IP-Adresse des RasPi nicht kennen, nutzen Sie auf diesem den Befehl ifconfig in einem Terminal. Die IP-Adresse steht im Block eth0 hinter inet addr.

Listing 6

$ sudo apt-get install apache2 php5
$ sudo echo "<?php phpinfo();?>" > /var/www/index.php
$ sudo apt-get install motion
Abbildung 3: Dank dieser einfachen Übersicht erkennen Sie, ob die Installation von Webserver und Skriptsprache funktioniert hat.

Abbildung 3: Dank dieser einfachen Übersicht erkennen Sie, ob die Installation von Webserver und Skriptsprache funktioniert hat.

Als Software für die Abfrage der Webcam kam im Beispiel Motion zum Einsatz. Das Programm lässt sich recht einfach konfigurieren und verursacht relativ wenig Datenverkehr. Das Programm verwendet als Bildformat MJPEG (“Motion JPEG”), das einigermaßen aktuelle Webbrowser problemlos anzeigen. Die Installation von Motion erledigen Sie wieder über das Paketmanagement (Listing 6, Zeile 3).

Es fehlen noch einige kleine Anpassungen in der Konfigurationsdatei /etc/motion/motion.conf: Passen Sie hier die drei Parameter v4l2_palette, width und height an die eingesetzte Kamera an. Im Beispiel entsprachen die Werte denen in den ersten drei Zeilen von Listing 7. Die Konfiguration bietet noch eine Menge weiterer Möglichkeiten, aber für den einfachen Betrieb genügen die Parameter.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 5 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben