So bauen Sie eine Wireless Pi Camera Pan- und Tilt-Plattform

Mit der Veröffentlichung des Raspberry Pi-Kameramoduls ist das Aufnehmen von qualitativ hochwertigen Bildern oder Videos mit dem Pi sehr einfach geworden.

In diesem Tutorial zeige ich Ihnen, wie Sie das Pi-Kameramodul an Ihr Pi anschließen und eine Schwenkneigungsplattform drahtlos steuern. In diesem Prozess werde ich Themen behandeln, die das Anschließen des Pi-Kameramoduls, das Anschließen und Steuern von Servos mit Ihrem Pi, die Befehlszeilensteuerung der Kamera und einige Low-Level-Video-Streaming-Befehle umfassen.


Sammeln Sie die Komponenten

  • Himbeer-Pi-Modell B
  • Netzteil
  • SD-Karte
  • Himbeer-Pi-Kameramodul
  • Schwenk- / Neigungshalterung
  • Zwei Servos
  • Male-to-Female-Drähte anschließen
  • Pi-Kamerahalterung
  • USB-WLAN-Modul
  • 6-32 Schraube, um die Halterung mit der Halterung zu verbinden (oder was auch immer für Sie funktioniert. Siehe Anweisungen unten.)
  • Legosteine
  • USB-Tastatur / -Maus (zum Einrichten. Für beide ist nur ein USB verfügbar. Daher wird ein USB-Hub oder eine Kombination aus Tastatur und Maus empfohlen.)
  • HDMI-Monitor (zur Einrichtung)

Richten Sie die Pi-Plattform ein

Mit den folgenden Schritten können Sie die grundlegenden Pi-Komponenten einrichten und zusammenbauen.

  • Brennen Sie das neueste Raspbian-Bild auf die SD-Karte. Befolgen Sie dazu die Anweisungen im Lernprogramm Flash-SD-Karte für Raspberry Pi
  • Stecken Sie die USB-Maus / Tastatur in den unteren USB-Anschluss
  • Stecken Sie den USB-WLAN-Adapter in den USB-Anschluss. Die Antenne kann zum Bücken positioniert werden.
  • Stecken Sie den HDMI-Monitor in den HDMI-Anschluss
  • Stecken Sie die Stromversorgung des Pi ein

Konfigurieren Sie das Pi und aktivieren Sie die Kameraunterstützung

Beim Booten durchläuft der Pi das erste Boot-Setup von raspi-config. Es gibt viele Optionen bezüglich SD-Karten-Partition, Region, Tastatur usw., die hier nicht behandelt werden. Wählen Sie die für Ihr Setup geeigneten Optionen aus und beachten Sie die folgenden Optionen:

  • Wählen Sie jetzt den Start auf einem Desktop aus, da die WLAN-Einrichtung später einfacher wird
  • Wählen Kamera aktivieren um diese Option zu aktivieren
  • Wählen Erweiterte Optionen> SSH Netzwerkzugriff über die Befehlszeile aktivieren
  • Wählen Sie Finish und erlauben Sie dem Pi einen Neustart

Wifi einrichten und Starteinstellungen neu konfigurieren

Befolgen Sie nach dem Neustart des Pi auf einem Desktop diese Anweisungen, um das WLAN-Netzwerk mithilfe des GUI-Tools zu konfigurieren. Notieren Sie sich die IP-Adresse, die Ihr Pi für die spätere Verwendung zugewiesen hat, wenn Sie SSH zur Fernsteuerung verwenden. Führen Sie schließlich die folgenden Schritte aus, um das Pi neu zu konfigurieren, um eine Textkonsole zu starten. Die grafische Desktop-Umgebung wird nicht benötigt.

  • Öffnen Sie ein Terminalfenster durch Doppelklick auf das LXTerminal-Symbol.
  • Führen Sie den Befehl aus sudo raspi-config
  • Wähle aus Aktivieren Sie Start für Desktop / Scratch> Konsolentextkonsole, für die eine Anmeldung erforderlich ist (Standardeinstellung). Möglichkeit
  • Wählen Fertig und lassen Sie den Pi nicht neu starten
  • Schalten Sie den Pi aus und trennen Sie die Stromversorgung, bevor Sie mit den nächsten Schritten fortfahren

Montieren Sie die Kamerahalterung

Die Kamerahalterung wird mit winzigen Kunststoffbefestigungselementen geliefert, die durch die vier Löcher passen und von hinten mit Muttern verschraubt werden. Sehen Sie sich die Produktabbildungen auf der Lieferanten-Website an, um Nahaufnahmen zu sehen, wie diese Komponenten zusammenpassen.

  • Befestigen Sie das Kameramodul mit den Befestigungselementen durch die vier Löcher an der Frontplatte der Kamerahalterung. Ich entdeckte, dass die Verwendung eines helfenden Handgeräts die einfachste Möglichkeit war, die Halterung zu halten und genügend Finger freizulassen, um diese winzigen Komponenten aneinanderreihen zu können. Ziehen Sie die Muttern nicht fest an, wenn Sie sie anschließen. Wenn alle vier vorhanden sind, können Sie sie nach Bedarf festziehen.
  • Rasten Sie die beiden Teile der Kamerahalterung in einem Winkel von 90 Grad zusammen, damit sie wie die Produktfotos aussehen. Die Abschnitte schnappen sanft zusammen.

Montieren Sie die Pan Tilt-Halterung

Die Halterung wird mit drei Metallteilen und einem Satz Schrauben und Unterlegscheiben geliefert. Folgen Sie der Montageanleitung, um die Halterung zusammenzubauen. Ich werde einige Vorschläge unterbreiten, wenn Sie den Anweisungen folgen.

  • Wenn Sie die Halterungen aneinander befestigen, ziehen Sie die Bolzen und Schrauben erst dann fest an, wenn alle Teile lose zusammengebaut sind. Wenn Sie es locker halten, wird es einfacher, es einzustellen.
  • Ziehen Sie die Schrauben, mit denen das Servohorn (Rad) an der Halterung befestigt ist, nicht zu fest an. Diese Hörner sind aus weichem Kunststoff gefertigt und lassen sich leicht herausziehen. Ziehen Sie diese Schrauben vorsichtig an.
  • Ich fand, dass drei Unterlegscheiben zwischen den beiden Halterungen, die auf der linken Seite von Schritt 4 in der Anleitung zu sehen sind, am besten für meine Montage geeignet waren. Diese zusätzlichen Scheiben füllten den Raum und ließen die Halterungen besser ausrichten als eine einzelne Scheibe. Zusätzliche Unterlegscheiben sind im Kit enthalten.

Baue die Basis auf

Die Halterung steht nicht alleine auf, da sie nur vom kleinen Servo unterstützt wird. Jede Methode zum Sichern der unteren Achse oder des Schwenkservos ist akzeptabel. Lego kann verwendet werden, um eine schnelle und einfache Basis zu schaffen. Nehmen Sie sich Zeit, um eine Basis für das untere Servo zu konstruieren, die es sicher an Ort und Stelle hält und die Halterung frei drehen kann.

Befestigen Sie das Servo in der Basis, bevor Sie die Kamerahalterung mit der Basis verbinden. Dadurch wird das Anschließen der Kamera an den Pi wesentlich einfacher. Auf dem Bild unten sehen Sie, dass ich aus einem flachen Lego-Satz und zwei hohen Ziegelwänden mit einem zwei Stollen breiten Spalt eine einfache Grundstütze konstruieren konnte. Zucht ist die offizielle Bezeichnung für die Unebenheiten eines Lego-Steins gemäß der Lego-Website. Genaues Vokabular ist hier wichtig.


Lego-Basis hautnah

Verbinden Sie die Kamera mit dem Pi

Das Anschließen des Kameramoduls ist sehr einfach. Auf der offiziellen Seite des Raspberry Pi Camera Module finden Sie ein ausführliches Video mit Anweisungen. Ich werde die Schritte hier zusammenfassen:

  • Suchen Sie den Anschluss direkt hinter dem Ethernet-Anschluss des Pi
  • Heben Sie die Kunststofflaschen an beiden Seiten des Steckverbinders vorsichtig mit zwei Fingern an
  • Richten Sie das Bandkabel so aus, dass die freiliegenden Blechkabel vom Ethernet-Anschluss auf der Platine weg zeigen
  • Schieben Sie das Kabel vorsichtig in den Stecker, damit es fest und gerade in die Platine passt
  • Schieben Sie den Kunststoffverbinder mit zwei Fingern zu

Befestigen Sie die Kamerahalterung an der Halterung

Schrauben Sie mit der 6-32-Schraube durch das Befestigungsloch in der Kamerahalterung in die Halterung. Verwenden Sie den kleineren Schlitz in der Halterung, um die Kamera in der Nähe der Vorderseite und nicht in der großen Mittellochöffnung anzubringen. Ich habe den 6-32 verwendet, weil ich nach vielem Ausprobieren festgestellt hatte, dass ich keine Schrauben-Muttern-Kombination hatte. In einem letzten Versuch, einen Ausflug in den Baumarkt zu vermeiden, probierte ich einige PC-Gehäuseschrauben aus, die ich herumlegte . Es passierte, dass er perfekt in die Halterung geschraubt wurde und keine Schraube erforderlich war. Also, was für dich funktioniert.


Befestigen Sie die Kamerahalterung an diesem Steckplatz

Verbinden Sie die Servos mit dem Pi

Servos haben drei Drähte zum Anschließen an eine Steuerung. Rote, schwarze und weiße Kabel dienen zum Anschluss von Strom, Masse und Signalen. Für diese Anweisungen bezeichne ich das Servo 0 für die Bodensteuerung oder das Servo-Servoelement als Servo 0 und das Servo 1 für das Servo-Servoelement. Diese Unterscheidung ist wichtig und wird im Servoblaster-Abschnitt des Tutorials deutlicher. Das Pinbelegungsdiagramm auf elinux.org enthält schöne Details zu den Pins und ihren Zwecken. Das Bild unten zeigt die farbigen M / F-Jumper, die mit den richtigen Pins für dieses Lernprogramm verbunden sind.

Verbinden Sie für die Montage jeweils das männliche Ende des Jumpers mit dem weiblichen Servokabelbaum für jede der drei Farben. Da mein Jumperpack nicht weiß war, habe ich gelb verwendet. Verwenden Sie eine einheitliche Farbe in Ihrem Schema, um sicherzustellen, dass Sie die Funktionen nicht verwechseln.

  • Schließen Sie das rote Stromkabel des Servo 0 an Pin 2 (+ 5 V) an, den obersten rechten Pin in der Abbildung unten
  • Verbinden Sie den schwarzen Erdungsdraht des Servos 0 mit Pin 6 (Masse), dem dritten Pin von oben in der rechten Säule
  • Verbinden Sie das weiße / gelbe Signalkabel des Servos 0 mit Pin 4 (GPIO 4), 4. Pin unten in der linken Spalte
  • Schließen Sie das rote Stromkabel des Servos 1 an Pin 4 (+ 5 V) an, den zweiten Pin rechts
  • Verbinden Sie den schwarzen Erdungsdraht des Servos 1 mit Pin 14 (Masse), 7. Pin an der rechten Säule
  • Verbinden Sie das weiße / gelbe Signalkabel des Servos 1 mit Pin 11 (GPIO17), 6. Pin unten in der linken Spalte

Verbundene Pins
Montage abgeschlossen

Installieren Sie den Servoblaster

Jetzt, da die Hardware vollständig zusammengebaut und angeschlossen ist, ist die Software zur Steuerung des Servos erforderlich. Die Servoblaster-Github-Site bietet eine gute Dokumentation über die Software, wenn Sie mehr erfahren möchten.

Im Wesentlichen fügt die Servoblaster-Installation ein Init-Skript hinzu, um den Servoblaster-Prozess beim Booten zu starten. Der Servoblaster-Prozess erstellt eine / dev / servoblaster Eintrag, der bei richtiger Adressierung das PWM-Signal steuert, das die Position des Servomotors steuert. Führen Sie in der Pi-Konsole oder von einer SSH-Sitzung die folgenden Befehle aus, um die Software herunterzuladen und zu installieren.

 wget https://github.com/richardghirst/PiBits/zipball/master mv master pibits.zip entpacken Sie pibits.zip #unzip den Code cd richardghirst-piBits-ab34d81 / servoBlaster / user sudo make install #install die # Timeout Timeout 2000 bis 500 /etc/init.d/servoblaster sudo pico /etc/init.d/servoblaster sudo neustarten

Senden Sie Befehle an die Servos

Nachdem der Pi mit dem laufenden Servoblaster-Prozess neu gestartet wurde, können Sie einige Befehle zum Bewegen der Klammer ausprobieren. SSH in Ihr Pi und probieren Sie die folgenden Befehle aus.

Mit dem folgenden Befehl wird das Servo der Servos 0 für die Pan- oder Links / Rechts-Achse verschoben. Ersetzen Sie X durch einen Wert zwischen 60 und 240. Dadurch wird das Servo verschoben. Versuchen Sie einige verschiedene Werte.

Echo 0 = X> / dev / Servoblaster

Mit dem folgenden Befehl wird das Servo 1 für die Neigungs- oder Auf / Ab-Achse bewegt. Ersetzen Sie Y durch einen Wert zwischen 60 und 240. Dadurch wird das Servo verschoben. Versuchen Sie einige verschiedene Werte.

Echo 1 = Y> / dev / Servoblaster

Nehmen Sie Bilder und Videos mit der Kamera auf

Das Fotografieren mit dem Pi ist sehr einfach. Probieren Sie den folgenden Befehl aus, um ein Bild in die Datei output.jpg einzufügen. Sie müssen die Datei vom Pi auf Ihren Computer scpfen, um dies zu sehen, aber Sie erhalten das Bild.

Raspistill -o Ausgabe.jpg

Um ein Video aufzunehmen, ist der grundlegende Befehl auch recht einfach. Im Folgenden wird eine h264-codierte Videodatei erstellt, die 10000 Millisekunden oder 10 Sekunden lang ist. Scp ist wiederum erforderlich, um dies vom Pi zu kopieren und anzuzeigen.

raspivid -o video.h264 -t 10000

Scripting-Bewegungen und Bilder

Nachdem Sie nun die Grundlagen zum Bewegen der Kamera über die Schwenk- / Neigehalterung und die Servos sowie die Befehle zum Aufnehmen von Bildern haben, ist es ziemlich einfach, ein Skript zu schreiben, das die Kamera in vordefinierte Winkel bewegt und Bilder oder Bilder erfasst. Wenn Sie einen Apache auf dem Pi einrichten, können Sie diese Bilder oder Videos in den Ordner ablegen / var / www / Verzeichnis zur späteren Ansicht.

Eine Cron-Task könnte auch erstellt werden, um das Skript in regelmäßigen Abständen auszuführen. Sie haben alle Grundlagen für ein Natur- oder Haustierbeobachtungsprojekt. Nachfolgend finden Sie ein Beispielskript, das ich geschrieben habe, um das Projekt zu testen, und ein Video des Systems in Aktion.

 #! / bin / bash #gehe zum Start von Echo 0 = 60> / dev / servoblaster sleep 1 echo 1 = 135> / dev / servoblaster sleep 1 raspistill -o step1.jpg echo 0 = 240> / dev / servoblaster sleep 1 raspistill -o step2.jpg echo 0 = 130> / dev / servoblaster sleep 1 raspistill -o step3.jpg echo 0 = 60> / dev / servoblaster sleep 1 echo 1 = 60> / dev / servoblaster sleep 1 raspistill -o step4. jpg echo 1 = 140> / dev / servoblaster sleep 1 raspistill -o step5.jpg echo 1 = 220> / dev / servoblaster sleep 1 raspistill -o step6.jpg echo 1 = 135> / dev / servoblaster sleep 1 raspistill -o step7 .jpg

Das Video zeigt die Schwenk- / Neigungshalterung, die auf das obige Skript reagiert:


So bauen Sie eine Wireless Pi Camera Pan- und Tilt-Plattform

Streaming-Video-Beispiel

Standbilder machen Spaß, aber im nächsten Experiment können Sie Videos von der Kamera über das Netzwerk auf Ihren Computer streamen. Je nach Geschwindigkeit Ihres WLAN kann die Qualität variieren. Ich habe einen Linux-Computer als Ziel- oder Videoempfänger verwendet. Mplayer und Netcat gibt es sowohl für Windows als auch für OS X, jedoch kann die Syntax für diese Betriebssysteme variieren. Verwenden Sie ifconfig, ipconfig oder ipconfig, um Ihre IP-Adresse unter Linux, Windows bzw. OS X zu ermitteln. In diesem Beispiel ist 192.168.1.100 die Adresse des Ziel-Laptops.

Mit dem folgenden Befehl wird auf dem Zielcomputer das eingehende Video an Port 5001 überwacht und angezeigt:

nc -k -l 192.168.1.100 5001 | mplayer -fps 31 -cache 1024 -

Mit dem folgenden Befehl wird die Videoaufnahme auf dem Pi gestartet und auf den Zielcomputer gestreamt:

raspivid -t 100000 -o - | nc 192.168.1.100 5001 &

Das & am Ende des Befehls auf dem Pi lässt die Anweisung in den Hintergrund fallen, sodass Sie mit Ihrem offenen Terminal Bewegungsbefehle absetzen können. Probieren Sie einige Servobefehle wie die unten aus und beobachten Sie, wie das Video reagiert.

echo 0 = 60> / dev / servoblaster echo 1 = 60> / dev / servoblaster echo 1 = 140> / dev / servoblaster
Spitze: Die Ausgabe von Befehlen an die Servos, die dazu führen, dass beide gleichzeitig arbeiten, verursachte eine gewisse Instabilität des Netzwerks. Für bessere Ergebnisse ist möglicherweise eine externe 5-V-Stromversorgung erforderlich, um den Pi nicht zu überfordern.

Zusammenfassung

Herzliche Glückwünsche! Sie haben jetzt eine kabellose Schwenk- / Neigekamera, die Sie für Ihre speziellen Anforderungen skripten und hacken können. Als nächsten Schritt können Sie versuchen, es zu verbessern, indem Sie eine vollständige Lego-Hülle für das Pi und die Halterung zusammen konstruieren. Eine andere Übung könnte sein, einen Cron-Job einzurichten, um zu bestimmten Zeiten und Anweisungen Bilder aufzunehmen und diese per E-Mail an Sie zu senden.

In diesem Lernprogramm haben Sie die Grundlagen zum Anschließen und Einrichten des Pi-Kameramoduls, zum Anschließen und Steuern mehrerer Servos, zum Steuern der Befehlszeilensteuerung der Kamera für Standbilder und Videos und schließlich zum Testen Ihres Setups mit einem geringen Aufwand kennengelernt Video-Streaming-Befehle auf Ebene. Mit diesen grundlegenden Tools können Sie Ihren zukünftigen Projekten jetzt eine vielseitige Kameraplattform hinzufügen.