Wie man eine drahtlose Pi-Kamera-Schwenk- und Neigeplattform baut
() translation by (you can also view the original English article)
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 werde ich Ihnen zeigen, wie Sie das Pi-Kameramodul an Ihren Pi anschließen und eine Schwenk-Neige-Plattform drahtlos steuern. Dabei 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 Video-Streaming-Befehle auf niedriger Ebene umfassen.
Sammeln Sie die Komponenten
- Himbeer-Pi-Modell B.
- Netzteil
- SD-Karte
- Raspberry Pi Kameramodul
- Schwenk-/Neigungshalterung
- Zwei Servos
- Anschlussdrähte von Stecker zu Buchse
- Pi Kamerahalterung
- USB Wifi Modul
- 6-32 Schraube zum Verbinden der Halterung mit der Halterung (oder was auch immer für Sie funktioniert. Siehe Anweisungen unten.)
- Legosteine
- USB-Tastatur/Maus (für die Einrichtung. Für beide ist nur ein USB verfügbar. Daher wird ein USB-Hub oder eine Tastatur/Maus-Kombination empfohlen.)
- HDMI-Monitor (zur Einrichtung)
Richten Sie die Pi-Plattform ein
Richten Sie die grundlegenden Pi-Komponenten mit den folgenden Schritten ein und montieren Sie sie.
- Brennen Sie das neueste Raspbian-Image auf die SD-Karte. Befolgen Sie dazu die Anweisungen im Tutorial So flashen Sie eine 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 so positioniert werden, dass sie sich biegt.
- Schließen Sie den HDMI-Monitor an den HDMI-Anschluss an
- Schließen Sie den Pi an die Stromversorgung an
Konfigurieren Sie den 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-Kartenpartition, 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 besonders:
- Wählen Sie zunächst das Booten von einem Desktop, da dies die WLAN-Einrichtung später vereinfacht
- Wählen Sie Kamera aktivieren, um diese Option zu aktivieren
- Wählen Sie Erweiterte Optionen > SSH, um den Netzwerkbefehlszeilenzugriff zu aktivieren
- Wählen Sie Fertig stellen und lassen Sie den Pi neu starten
Richten Sie Wifi ein und konfigurieren Sie die Starteinstellungen neu
Befolgen Sie nach dem Neustart des Pi auf einem Desktop diese Anweisungen zur Verwendung des GUI-Werkzeugs zum Konfigurieren Ihres WLAN-Netzwerks. Stellen Sie sicher, dass Sie die IP-Adresse notieren, die Ihrem Pi für die spätere Verwendung zugewiesen wurde, wenn Sie ihn zur Fernsteuerung an SSH senden. Führen Sie abschließend die folgenden Schritte aus, um den Pi für den Start einer Textkonsole neu zu konfigurieren. Die grafische Desktop-Umgebung wird nicht benötigt.
- Öffnen Sie ein Terminalfenster, indem Sie auf das LXTerminal-Symbol doppelklicken.
- Führen Sie den Befehl
sudo raspi-config
aus - Wählen Sie die Option Boot to Desktop/Scratch aktivieren > Konsolentextkonsole aus, für die eine Anmeldung erforderlich ist (Standard)
- Wählen Sie Fertig stellen und lassen Sie den Pi nicht neu starten
- Schalten Sie den Pi aus und ziehen Sie den Netzstecker, bevor Sie mit den nächsten Schritten fortfahren
Montieren Sie die Kamerahalterung
Die Kamerahalterung wird mit winzigen Kunststoffbefestigungen geliefert, die mit Muttern, die von hinten auf sie geschraubt werden, durch die vier Löcher passen. In den Produktbildern auf der Website des Lieferanten finden Sie Nahaufnahmen, 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 der einfachste Weg war, die Halterung zu halten und genügend Finger frei zu lassen, um diese winzigen Komponenten in eine Reihe zu bringen. Ziehen Sie die Muttern nicht vollständig an, während Sie sie anschließen. Sobald 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, sodass sie wie die Produktfotos aussehen. Die Abschnitte rasten sanft zusammen.
Montieren Sie die Pan Tilt Bracket
Die Halterung wird mit drei Metallteilen und einem Satz Schrauben und Unterlegscheiben geliefert. Befolgen Sie die Montageanleitung, um die Halterung zusammenzusetzen. Ich werde einige Vorschläge unterbreiten, die Sie berücksichtigen sollten, wenn Sie den Anweisungen folgen.
- Wenn Sie die Halterungen zusammenhalten, ziehen Sie die Bolzen und Schrauben erst dann fest an, wenn alle Teile lose zusammengebaut wurden. Wenn Sie es locker halten, können Sie es leichter einstellen.
- Ziehen Sie die Schrauben, die das Servohorn (Rad) mit der Halterung verbinden, nicht zu fest an. Diese Hörner bestehen aus weichem Kunststoff und können leicht herausgezogen werden. Ziehen Sie diese Schrauben vorsichtig an.
- Ich fand, dass drei Unterlegscheiben zwischen den beiden Halterungen auf der linken Seite von Schritt 4 in der Anleitung am besten zu meiner Baugruppe passen. Diese zusätzlichen Unterlegscheiben füllten den Raum und ließen die Halterungen besser ausrichten als eine einzelne Unterlegscheibe. Zusätzliche Unterlegscheiben sind im Kit enthalten.
Bauen Sie die Basis
Die Halterung steht nicht alleine auf, da sie nur vom kleinen Servo unterstützt wird. Jede Methode zur Sicherung der unteren Achse oder des Schwenkservos ist zulässig. 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 es der Halterung ermöglicht, sich frei zu drehen.
Befestigen Sie das Servo in der Basis, bevor Sie die Kamerahalterung an die Basis anschließen. Dies erleichtert das Anschließen der Kamera an den Pi erheblich. Sie können im Bild unten sehen, dass ich in der Lage war, eine einfache Basisstütze mit einem Satz flachem Lego und zwei ziegelhohen Wänden mit einem Spalt von zwei Stollen zu konstruieren. Stud ist der offizielle Begriff für die Unebenheiten auf einem Legostein gemäß der Lego-Website. Genaues Vokabular ist hier wichtig.



Schließen Sie die Kamera an den Pi an
Das Anschließen des Kameramoduls ist sehr einfach. Auf der offiziellen Seite des Raspberry Pi-Kameramoduls finden Sie ein detailliertes Video mit Anweisungen. Ich fasse die Schritte hier zusammen:
- Suchen Sie den Anschluss direkt hinter dem Ethernet-Port des Pi
- Heben Sie mit zwei Fingern die Plastiklaschen auf beiden Seiten des Steckers vorsichtig an
- Richten Sie das Flachbandkabel so aus, dass die freiliegenden Blechleitungen vom Ethernet-Anschluss auf der Platine weg zeigen
- Schieben Sie das Kabel vorsichtig in den Stecker, damit es fest und genau auf der Platine sitzt
- Schieben Sie den Kunststoffstecker 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 des großen Mittellochs zu befestigen. Ich habe den 6-32 verwendet, weil ich nach langem Ausprobieren festgestellt habe, dass ich keine Schrauben-/Mutternkombination hatte, die klein genug ist, und in einem letzten Versuch, einen Ausflug zum Baumarkt zu vermeiden, einige PC-Gehäuseschrauben ausprobiert habe, die ich herumliegen hatte . Es passte perfekt in die Oberseite der Halterung und erforderte keine Schraube. Also mach was für dich funktioniert.



Verbinden Sie die Servos mit dem Pi
Servos haben drei Drähte zum Anschluss an eine Steuerung. Rote, schwarze und weiße Drähte dienen zum Verbinden von Strom, Masse und Signal. Für diese Anweisungen beziehe ich mich auf das untere oder schwenkbare Servo als Servo 0 und das obere oder neigungssteuernde Servo als Servo 1. Diese Unterscheidung ist wichtig und wird im Abschnitt Servoblaster 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 an die richtigen Pins für dieses Tutorial angeschlossen sind.
Verbinden Sie zur Montage das männliche Ende des Jumpers für jede der drei Farben mit dem weiblichen Servokabelbaum. Da mein Pullover kein Weiß hatte, habe ich Gelb verwendet. Verwenden Sie eine einheitliche Farbe in Ihrem Schema, um sicherzustellen, dass Sie die Funktionen nicht verwechseln.
- Verbinden Sie das rote Stromkabel des Servos 0 mit Pin 2 (+ 5 V), dem obersten rechten Pin in der Abbildung unten
- Verbinden Sie das schwarze Erdungskabel des Servos 0 mit Pin 6 (Masse), dem dritten Pin von oben in der rechten Spalte
- Verbinden Sie das weiß/gelbe Signalkabel des Servos 0 mit Pin 7 (GPIO 4), 4. Pin unten in der linken Spalte
- Verbinden Sie das rote Stromkabel von Servo 1 mit Pin 4 (+ 5 V), zweiter Pin rechts unten
- Verbinden Sie das schwarze Erdungskabel von Servo 1 mit Pin 14 (Masse), 7. Pin unten in der rechten Spalte
- Verbinden Sie das weiß/gelbe Signalkabel von Servo 1 mit Pin 11 (GPIO17), 6. Pin unten in der linken Spalte






Installieren Sie Servoblaster
Nachdem die gesamte Hardware zusammengebaut und angeschlossen ist, ist die Software zur Steuerung des Servos erforderlich. Die Servoblaster-Github-Site enthält eine gute Dokumentation zur Software, wenn Sie mehr lesen 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 einen /dev/servoblaster
-Eintrag, der bei korrekter Adressierung das PWM-Signal steuert, das die Position des Servomotors steuert. Führen Sie in der Pi-Konsole oder in einer SSH-Sitzung die folgenden Befehle aus, um die Software herunterzuladen und zu installieren.
1 |
wget https://github.com/richardghirst/PiBits/zipball/master |
2 |
mv master pibits.zip
|
3 |
unzip pibits.zip #unzip the code
|
4 |
cd richardghirst-PiBits-ab34d81/ServoBlaster/user
|
5 |
sudo make install #install the software |
6 |
#change timeout from 2000 to 500 /etc/init.d/servoblaster
|
7 |
sudo pico /etc/init.d/servoblaster
|
8 |
sudo reboot
|
Senden Sie Befehle an die Servos
Nachdem der Pi mit dem jetzt laufenden Servoblaster-Prozess neu gestartet wurde, können Sie einige Befehle ausprobieren, um die Klammer zu verschieben. SSH in Ihren Pi und probieren Sie die folgenden Befehle aus.
Der folgende Befehl bewegt das Schwenk- oder Links-/Rechtsachsen-Servo, Servo 0. Ersetzen Sie X durch einen Wert zwischen 60 und 240. Dadurch wird das Servo bewegt. Probieren Sie einige verschiedene Werte aus.
1 |
echo 0=X > /dev/servoblaster |
Der folgende Befehl bewegt das Servo der Neigungs- oder Auf-/Ab-Achse, Servo 1. Ersetzen Sie Y durch einen Wert zwischen 60 und 240. Dadurch wird das Servo bewegt. Probieren Sie einige verschiedene Werte aus.
1 |
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 der Datei output.jpg zu fangen. Sie müssen die Datei vom Pi auf Ihren Computer übertragen, um dies zu sehen, aber Sie erhalten das Bild.
1 |
raspistill -o output.jpg
|
Um ein Video aufzunehmen, ist der grundlegende Befehl ebenfalls recht einfach. Im Folgenden wird eine h264-codierte Videodatei erstellt, die 10000 Millisekunden oder 10 Sekunden lang ist. Auch hier ist scp erforderlich, um dies vom Pi zu kopieren und anzuzeigen.
1 |
raspivid -o video.h264 -t 10000 |
Skriptbewegungen 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 ganz einfach, ein Skript zu schreiben, mit dem die Kamera in vordefinierte Winkel bewegt und Bilder oder Bilder aufgenommen werden. Wenn Sie Apache auf dem Pi einrichten, können Sie diese Bilder oder Videos zur späteren Anzeige im Verzeichnis /var/www/
ablegen.
Es kann auch eine Cron-Task erstellt werden, um das Skript in regelmäßigen Abständen auszuführen. Sie haben alle Grundlagen für ein Natur- oder Tierbeobachtungsprojekt. Unten ist ein Beispielskript, das ich geschrieben habe, um das Projekt zu testen, und ein Video des Systems in Aktion.
1 |
#!/bin/bash
|
2 |
#go to starting possition
|
3 |
echo 0=60 > /dev/servoblaster |
4 |
sleep 1
|
5 |
echo 1=135 > /dev/servoblaster |
6 |
sleep 1
|
7 |
raspistill -o step1.jpg
|
8 |
|
9 |
echo 0=240 > /dev/servoblaster |
10 |
sleep 1
|
11 |
raspistill -o step2.jpg
|
12 |
|
13 |
echo 0=130 > /dev/servoblaster |
14 |
sleep 1
|
15 |
raspistill -o step3.jpg
|
16 |
|
17 |
echo 0=60 > /dev/servoblaster |
18 |
sleep 1
|
19 |
echo 1=60 > /dev/servoblaster |
20 |
sleep 1
|
21 |
raspistill -o step4.jpg
|
22 |
|
23 |
echo 1=140 > /dev/servoblaster |
24 |
sleep 1
|
25 |
raspistill -o step5.jpg
|
26 |
|
27 |
echo 1=220 > /dev/servoblaster |
28 |
sleep 1
|
29 |
raspistill -o step6.jpg
|
30 |
|
31 |
echo 1=135 > /dev/servoblaster |
32 |
sleep 1
|
33 |
raspistill -o step7.jpg
|
Das Video zeigt die Schwenk-/Neigehalterung, die auf das obige Skript reagiert:
So bauen Sie eine drahtlose Pi-Kamera-Schwenk- und Neigeplattform
Beispiel für ein Streaming-Video
Standbilder machen Spaß, aber im nächsten Experiment können Sie Videos von der Kamera über das Netzwerk live auf Ihren Computer streamen. Abhängig von der Geschwindigkeit Ihres WLANs kann die Qualität variieren. Ich habe einen Linux-Computer als Ziel- oder Videoempfänger verwendet. Mplayer und Netcat sind sowohl für Windows als auch für OS X verfügbar. Einige Syntaxen können jedoch für diese Betriebssysteme variieren. Verwenden Sie ifconfig, ipconfig oder ipconfig, um Ihre IP-Adresse unter Linux, Windows oder OS X zu ermitteln. In diesem Beispiel ist 192.168.1.100 die Adresse des Ziel-Laptops.
Der folgende Befehl wartet auf dem Zielcomputer auf eingehendes Video an Port 5001 und zeigt es an:
1 |
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 Zielanzeigecomputer gestreamt:
1 |
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 treten, sodass Sie mit Ihrem geöffneten Terminal Bewegungsbefehle ausgeben können. Probieren Sie einige Servobefehle wie die folgenden aus und sehen Sie, wie das Video reagiert.
1 |
echo 0=60 > /dev/servoblaster |
2 |
echo 1=60 > /dev/servoblaster |
3 |
echo 1=140 > /dev/servoblaster |
Zusammenfassung
Herzliche Glückwünsche! Sie haben jetzt eine drahtlose Schwenk-/Neigekamera, die Sie für Ihre spezifischen Anforderungen skripten und hacken können. Als nächsten Schritt können Sie versuchen, es zu verbessern, indem Sie zusammen ein vollständiges Lego-Gehäuse für den Pi und die Halterung erstellen. Eine andere Übung könnte darin bestehen, einen Cron-Job einzurichten, um Bilder zu bestimmten Zeiten und Richtungen aufzunehmen und per E-Mail an Sie zu senden.
In diesem Tutorial lernten Sie die Grundlagen zum Anschließen und Einrichten des Pi-Kameramoduls, zum Anschließen und Steuern mehrerer Servos, zum Übernehmen der Befehlszeilensteuerung der Kamera für Standbilder und Videos und schließlich zum Testen Ihres Setups mit einem niedrigen Wert Level-Video-Streaming-Befehle. Mit diesen grundlegenden Werkzeugs können Sie Ihren zukünftigen Projekten jetzt eine vielseitige Kameraplattform hinzufügen.