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.
Mit den folgenden Schritten können Sie die grundlegenden Pi-Komponenten einrichten und zusammenbauen.
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:
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.
sudo raspi-config
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.
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.
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.
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:
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.
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.
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
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
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
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:
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 / servoblasterSpitze: 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.
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.