- Installieren und Konfigurieren von 'Motion' zum Abrufen von Video-Feeds:
- Kolben-Setup in Raspberry Pi zur Steuerung des Roboters über die Webseite:
- HTML-Code für die Webseite:
- Überwachungsroboter
- Schaltplan und Setup:
- Bedienung:
In dieser DIY-Sitzung bauen wir ein webgesteuertes Überwachungsroboterauto mit Himbeer-Pi und einer Webcam. Dies könnte ein nützliches und kostengünstiges Sicherheits- und Spionagetool sein, das viele konfigurierbare Optionen bietet und in wenigen Stunden erstellt werden kann. In diesem IoT-Projekt verwenden wir hauptsächlich Raspberry Pi, USB-Webkamera und zwei Gleichstrommotoren mit Roboterchassis, um dieses Roboterauto zu bauen.
Darüber ist eine Webkamera montiert, über die wir Live-Video-Feeds erhalten. Das Interessante dabei ist, dass wir diesen Roboter über einen Webbrowser über das Internet steuern und bewegen können. Da es über eine Webseite gesteuert werden kann, bedeutet dies, dass es auch über eine Webseite in Mobile gesteuert werden kann. Wir haben eine HTML-Webseite mit Links, Rechts, Vorwärts und Rückwärts erstellt, auf die wir klicken können, um den Roboter in eine beliebige Richtung zu bewegen. Hier haben wir "Motion" verwendet, um Live-Video-Feeds von der USB-Kamera abzurufen, und "Flask", um Befehle von der Webseite mit Python an Raspberry Pi zu sendenBewegen des Roboters, die im folgenden Teil dieses Tutorials ausführlich erläutert werden. Wir haben Raspbian Jessie OS auf unserem Raspberry Pi Board installiert. In diesem Artikel können Sie das Raspbian-Betriebssystem installieren und mit Raspberry Pi beginnen.
Installieren und Konfigurieren von 'Motion' zum Abrufen von Video-Feeds:
Motion (Surveillance Software) ist eine kostenlose Open-Source-CCTV-Software für Bewegungsmelder, die für Linux entwickelt wurde. Es erkennt die Bewegung und beginnt mit der Videoaufnahme. Mit 'Motion' in Ihrem Raspberry Pi können Sie Ihren Raspberry Pi auf magische Weise in eine Überwachungskamera verwandeln. Es wird verwendet, um Live-Video-Feeds abzurufen, Zeitraffervideos zu erstellen und in regelmäßigen Abständen Schnappschüsse zu machen. Es zeichnet das Video auf und speichert es, wenn es Bewegungen oder Störungen im Ansichtsbereich erkennt. Live-Video-Feeds können im Webbrowser angesehen werden, indem die IP-Adresse von Pi zusammen mit dem Port eingegeben wird.
Wir haben ein detailliertes Tutorial zur Verwendung von Bewegung mit Raspberry Pi und USB-Kamera erstellt. Hier erklären wir kurz die Installation auf Raspberry Pi, damit unser Roboter Live-Video-Streaming an die Webseite senden kann.
Hier müssen Sie nur wenige Befehle ausführen, um Ihren ersten Video-Feed über das Netzwerk zu erhalten. Überprüfen Sie zuvor ordnungsgemäß, ob Ihr Raspberry Pi über LAN oder Wi-Fi mit dem Internet verbunden ist, und führen Sie dann die folgenden Schritte aus:
Schritt 1: Führen Sie zuerst den folgenden Befehl aus, um das Raspbian-Betriebssystem auf Raspberry Pi zu aktualisieren:
sudo apt-get update
Schritt 2: Installieren Sie dann die 'Motion'-Bibliothek mit dem folgenden Befehl:
sudo apt-get install motion
Schritt 3: Setzen Sie nun den Motion-Daemon auf yes, indem Sie die Datei / etc / default / motion so bearbeiten, dass sie immer ausgeführt wird. Bearbeiten Sie diese Datei mit dem 'nano'-Editor mit' sudo 'wie unten angegeben:
sudo nano / etc / default / motion
Speichern Sie dann die Datei, indem Sie 'STRG + X', dann 'Y' und die Eingabetaste drücken.
Schritt 4: Jetzt müssen wir die Berechtigung für das Zielverzeichnis (/ var / lib / motion /) festlegen , in dem Motion alle Videoaufnahmen und Bilddateien speichert. Wir müssen 'Motion' als Eigentümer dieses Verzeichnisses festlegen, indem wir den folgenden Befehl eingeben:
sudo chown motion: bewegung / var / lib / bewegung /
Diese Berechtigung ist erforderlich, andernfalls wird eine Fehlermeldung angezeigt, wenn Sie den Status des Bewegungsdienstes überprüfen.
Sie können den Servicestatus mit dem folgenden Befehl überprüfen: sudo service motion status
Schritt 5: Jetzt sind wir fast fertig, nur müssen wir eine Konfigurationsoption in der Motion-Konfigurationsdatei (/etc/motion/motion.conf ) ändern, die stream_localhost deaktiviert ist. Wir müssen dieses lokale Host-Streaming deaktivieren, da wir sonst nicht auf den Video-Feed in unserem Netzwerk zugreifen können und nur über den Raspberry Pi selbst darauf zugreifen können. Bearbeiten Sie dazu die Motion Configuration-Datei mit dem 'Nano'-Editor und deaktivieren Sie sie wie unten gezeigt:
sudo nano /etc/motion/motion.conf
Jetzt sind wir fertig und bereit, unseren Live-Feed von der an Pi angeschlossenen USB-Webkamera abzurufen. Starten Sie einfach den Motion-Dienst (oder starten Sie ihn neu), indem Sie den folgenden Befehl verwenden, und öffnen Sie die IP Ihres Raspberry Pi mit Port 8081 in Ihrem Browser (z. B. 192.168.43.199:8081). In diesem Projekt haben wir diese IP in unseren HTML-Code im Tag img src eingebettet.
sudo /etc/init.d/motion Neustart
Und Sie sehen den Live-Feed von Ihrer Webkamera. Hier haben wir eine kostengünstige USB-Webkamera verwendet, die reibungslos mit unserem Raspberry Pi funktioniert. Sie können jedoch auch eine qualitativ hochwertige Kamera für eine bessere Auflösung verwenden. Wie im Browser angezeigt, können Sie mit jedem Gerät den Feed anzeigen, der Webbrowser wie Mobile, Tablet usw. unterstützt.
Versuchen Sie, den Raspberry Pi bei Bedarf neu zu starten, um Fehler zu beheben:
sudo neu starten
Hier geht es darum , Motion für unseren Überwachungsroboter zu verwenden. Abgesehen davon gibt es mehrere Konfigurationsoptionen, die wir bereits in unserem vorherigen Tutorial besprochen haben.
Hinweis: Wenn Sie ein Raspberry Pi-Modell unter Version 3 sind, benötigen Sie möglicherweise einen Wi-Fi-Dongle, um Raspberry Pi drahtlos mit dem Router zu verbinden.
Kolben-Setup in Raspberry Pi zur Steuerung des Roboters über die Webseite:
Hier haben wir mit Flask einen Webserver erstellt, mit dem die Befehle von der Webseite an Raspberry Pi gesendet werden können, um den Roboter über das Netzwerk zu steuern. Mit Flask können wir unsere Python-Skripte über eine Webseite ausführen und Daten von Raspberry Pi an den Webbrowser senden und empfangen und umgekehrt. Flask ist ein Mikroframework für Python. Dieses Tool basiert auf Unicode und verfügt über einen integrierten Entwicklungsserver und Debugger, integrierte Unterstützung für Komponententests, Unterstützung für sichere Cookies und ist einfach zu bedienen. Diese Dinge machen es für den Bastler nützlich.
Installieren Sie ein Kolbenunterstützungspaket mit dem folgenden Befehl im Raspberry Pi:
$ pip install Flask
Dann können wir die Flasche verwenden, indem wir sie einfach in unser Programm importieren, so wie wir folgende Flaschenpakete für dieses Projekt importiert haben:
aus flaschenimport flaschen aus flaschenimport flask, render_template, request
Weitere Informationen zur Programmierung mit Flask finden Sie hier. Überprüfen Sie auch unsere vorherigen Projekte, in denen wir Flask verwendet haben, um die Nachricht von der Webseite an Raspberry Pi zu senden und den Gewichtswert in Smart Container an Raspberry Pi zu senden.
HTML-Code für die Webseite:
Wir haben eine Webseite in HTML-Sprache zum Anzeigen von Steuerungslinks (links, rechts, vorwärts, rückwärts) erstellt, um den Roboter aus dem Webbrowser zu verschieben. Wir haben das jQuery-Skript verwendet, um die Funktionen in unserem Python-Programm aufzurufen. In Python Code gibt es fünf Funktionen, um den Roboter nach links, rechts, vorwärts, rückwärts zu bewegen und anzuhalten. Der vollständige Python-Code wurde am Ende angegeben. Diese Funktionen werden durch Klicken auf die Kontrolllinks auf der Webseite ausgeführt, und die Motoren bewegen sich je nach dem Link, auf den geklickt wird. Hier haben wir den Code so geschrieben, dass sich der Roboter beim Klicken und Halten des Links in eine bestimmte Richtung bewegt. Sobald wir die Maustaste loslassen, stoppt der Roboter. Unten finden Sie den HTML-Code für die Webseite einschließlich der jQuery:
Hier können Sie sehen, dass wir die IP-Adresse, auf der das Video gestreamt wird, mithilfe des img src- Tags in die Webseite eingebettet haben. Ändern Sie die IP-Adresse entsprechend Ihrem Raspberry Pi, aber behalten Sie den Port bei.
Der Benutzer muss den oben angegebenen HTML-Code in einen Texteditor (Editor) kopieren und einfügen und die Datei mit der Erweiterung.HTML (robot.html) speichern. Dann setzen Sie diese HTML - Datei in dem Verzeichnis / Ordner Vorlagen in Bezug auf Ihre Python - Skript Lage. Das heißt, Sie müssen einen Ordner mit dem Namen templates erstellen, in dem Sie Ihre Python-Code-Datei für diesen Raspberry Surveillance Robot abgelegt haben, und dann die Datei robot.html in diesen Vorlagenordner legen. Dieser Schritt ist wichtig, sonst funktioniert unser Projekt nicht. Sie können die Datei robot.html direkt öffnen, indem Sie darauf doppelklicken, um zu sehen, wie Ihre Steuerungslinks aussehen. Überprüfen Sie den gesamten Vorgang in Demonstrationsvideo Am Ende. Nachdem wir mit der Programmierung fertig sind, können wir einfach den Python-Code in Raspberry Pi ausführen und die IP_Adresse_des_Pi: 5010 im Webbrowser öffnen (wie
Sie können die IP-Adresse Ihres Raspberry Pi mit dem Befehl ifconfig überprüfen:
ifconfig
Schaltplan und Setup:
Nach dem Testen des Live-Video-Feeds und des HTML-Codes müssen wir einen Roboter mit handgefertigten oder vorgefertigten Roboterchassis, Rädern und Mutternschrauben bauen. Platzieren Sie dann die Power Bank darüber, um den Raspberry Pi mit Strom zu versorgen, und platzieren Sie dann den Raspberry Pi und die Webkamera über der Power Bank. Befestigen Sie das Setup mit Celloband oder Gummistreifen. Verbinden Sie die USB-Kamera mit dem Raspberry Pi.
In diesem IoT-Projekt müssen wir nicht viele Verbindungen herstellen, sondern nur einige Kabel für den Motortreiber-IC L293D und Gleichstrommotoren anschließen. Die Anschlüsse sind im folgenden Schaltplan dargestellt. Hier haben wir eine Universalplatine für die Montage des L293D-IC verwendet, um den Platzbedarf zu verringern. Sie können jedoch auch ein kleines Steckbrett zum Anschließen von Gleichstrommotoren mit L293D verwenden.
Bedienung:
Die Bedienung und Bedienung dieses Überwachungsroboters ist sehr einfach. Erstellen Sie eine Python-Datei (Erweiterung.py), kopieren Sie den folgenden Code hinein und speichern Sie ihn auf Ihrem Raspberry Pi. Legen Sie dann die HTML-Datei wie oben erläutert in den Vorlagenordner . Vergessen Sie nicht, die IP-Adresse in der HTML-Datei zu ändern.
Führen Sie dann den Python-Code aus, indem Sie den folgenden Befehl eingeben:
python name_of_file.py
Öffnen Sie dann Ihre Raspberry Pi IP-Adresse mit Port 5010 wie http://192.168.43.199:5010 (ersetzen Sie die IP-Adresse erneut durch Ihre Adresse). Jetzt sehen Sie die Webseite mit vier Robotersteuerungslinks und Live-Streaming-Videos. Der Benutzer kann den Roboter steuern, indem er auf die Links klickt und diese hält. Wenn der Benutzer auf die Links klickt und diese hält, bewegt sich der Roboter entsprechend dem angeklickten Link. Wenn der Benutzer den Link freigibt, stoppt der Roboter automatisch.
Der vollständige Python-Code ist unten angegeben. Dort haben wir verschiedene Funktionen zur Steuerung des Roboters beim Klicken auf die Links auf der Webseite geschrieben. Sie können sie leicht verstehen oder wenn Sie ein Anfänger sind, lesen Sie unsere vorherigen Raspberry Pi Tutorials. Besuchen Sie auch unsere Rubrik Robotik, um weitere interessante und einfach zu bauende Roboter zu erhalten.