Inhaltsverzeichnis:

Raspberry Pi, Android, IoT und Bluetooth-betriebene Drohne - Gunook
Raspberry Pi, Android, IoT und Bluetooth-betriebene Drohne - Gunook

Video: Raspberry Pi, Android, IoT und Bluetooth-betriebene Drohne - Gunook

Video: Raspberry Pi, Android, IoT und Bluetooth-betriebene Drohne - Gunook
Video: Используйте свой телефон или планшет Android в качестве экрана Raspberry Pi 400! 2024, Juli
Anonim
Raspberry Pi, Android, IoT und Bluetooth-betriebene Drohne
Raspberry Pi, Android, IoT und Bluetooth-betriebene Drohne
Raspberry Pi, Android, IoT und Bluetooth-betriebene Drohne
Raspberry Pi, Android, IoT und Bluetooth-betriebene Drohne
Raspberry Pi, Android, IoT und Bluetooth-betriebene Drohne
Raspberry Pi, Android, IoT und Bluetooth-betriebene Drohne
Raspberry Pi, Android, IoT und Bluetooth-betriebene Drohne
Raspberry Pi, Android, IoT und Bluetooth-betriebene Drohne

Mit einem Raspberry Pi für die On-Board-Logik erstellt dieser kompakte, mobile Computer einen lokalen Port, der ein Video in Echtzeit streamt und gleichzeitig Bluetooth-Sockets zum Lesen von Werten erstellt, die von einer benutzerdefinierten Android-App gesendet werden. Die App synchronisiert sich mit der Drohne und verwendet Benutzereingaben, um sofort Anweisungen an die Drohne zu senden.

Dieses Projekt ist ziemlich schwierig von Grund auf neu zu machen. Hoffentlich geben die folgenden Informationen einen Einblick für mehrere Drohnenanwendungen. Alle zu diesem Projekt gehörenden Software- und Schaltungsdesigns werden bereitgestellt. Fühlen Sie sich frei, den Code nach Ihren Wünschen zu ändern und zu teilen. Bitte verwenden Sie die bereitgestellten Informationen verantwortungsbewusst und hinterlassen Sie unten einen Kommentar.

Schritt 1: Die Hardware

Die Hardware
Die Hardware
Die Hardware
Die Hardware
Die Hardware
Die Hardware
Die Hardware
Die Hardware

Unten ist die Liste der Hardware, die ich verwendet habe.

  • Raspberry Pi 3 Modell B
  • Raspberry PI Kameramodul
  • L298N Motortreiber
  • 2, Gleichstrommotoren
  • Eine Tastatur, ein beliebiger Monitor, eine Maus, ein Ethernet-Kabel und ein HDMI-Kabel (für den Pi)
  • 8GB MicroSD-Karte
  • Schrauben, Klebeband usw.
  • 2 Räder
  • Ein Android-Bluetooth-Gerät (Mein Telefon)
  • 2, 18650 Zellen
  • Ein 5-Volt-Regler
  • Ein Computer zum Programmieren der App

Ein Raspberry Pi: Für höhere Stream-Auflösungen (oder für Anfänger) würde ich die neueste Version des B-Modells empfehlen, während kompaktere Versionen entweder das neueste Modell A+ oder den Pi Zero (Kameraversion) verwenden können. Denken Sie daran, dass Sie, wenn Sie einen Raspberry Pi Zero verwenden, einen Bluetooth- und / oder WiFi-Dongle dafür benötigen. In diesem Tutorial wird davon ausgegangen, dass Sie einen Raspberry Pi 3 B verwenden.

Ein Motortreiber: Ich habe einen L298N verwendet, obwohl jeder Motortreiber funktionieren sollte. Stellen Sie einfach sicher, dass es die Spannung und den Strom Ihrer Motoren verarbeiten kann.

2 DC-Motoren: Stellen Sie sicher, dass sie das Gewicht Ihrer Drohne tragen können.

Ein Körper: Wird verwendet, um alle Komponenten aufzunehmen. Normalerweise ist Hartplastik oder Aluminium ein haltbares, leichtes Material. Für optimale Ergebnisse kann sogar ein 3D-Drucker verwendet werden.

Eine Stromquelle: Es ist fast immer die schwierigste Entscheidung bei der Auswahl von Teilen. Die benötigte Batterie hängt von der Stromaufnahme ab. Für Anwendungen mit geringer Leistung (wie 1 oder 2 Ampere) sollte eine 9-V-Batterie ausreichen. Für eine höhere Stromstärke empfehle ich entweder eine 18650 Lithium-Ionen-Zelle oder eine Lithium-Polymer-Batterie, da sie leicht sind, für ihre Größe viel Leistung halten können und wiederaufladbar sind.

2 Räder: Stellen Sie einfach sicher, dass Ihre Räder die gleiche Lochgröße wie die Welle Ihres Motors haben. Stellen Sie außerdem sicher, dass die Durchmesser der Räder groß genug für Ihre Drohne sind. Da es für dieses Projekt mehrere mögliche Variationen und Designs gibt, können mehrere verschiedene Radtypen und -größen verwendet werden.

Spannungsregler: Ein 5-Volt-Regler wird benötigt, um den Pi über eine Batterie zu versorgen. Ich habe einen LM2596 DC-DC-Abwärtswandler verwendet.

Die meisten Produkte in den Links wurden in diesem Projekt verwendet und waren die besten Angebote, die ich zu dieser Zeit finden konnte.

Nun, da Sie alles haben, was Sie brauchen, können Sie das Pi einrichten.

Schritt 2: Einrichten des Raspberry Pi

Einrichten des Raspberry Pi
Einrichten des Raspberry Pi
Einrichten des Raspberry Pi
Einrichten des Raspberry Pi
Einrichten des Raspberry Pi
Einrichten des Raspberry Pi

Dieser Schritt zeigt Ihnen, wie Sie den Raspberry Pi einrichten, damit Sie mit der Codierung beginnen können. Wenn Sie bereits ein Pi-Setup mit Raspbian haben, können Sie gerne mit dem nächsten Schritt fortfahren.

Zuerst müssen Sie ein Betriebssystem für die Himbeere herunterladen. Holen Sie sich NOOBS, wenn Sie ein Anfänger sind. Wenn Sie bereits bemerkenswerte Erfahrungen mit einem Himbeer-Pi haben, dann könnte Sie Raspbian interessieren. Ich gehe davon aus, dass Sie NOOBS für dieses Tutorial verwenden.

Formatieren Sie während des Downloads Ihre SD-Karte mit SD Formatter.

Entpacken und kopieren Sie nun den Inhalt des Downloads in das Stammverzeichnis Ihrer SD-Karte. Root bedeutet einfach, dass es sich nicht in einem Ordner befindet. Wenn ein neuer Ordner für alle extrahierten Dateien erstellt wurde, kopieren Sie ihn über diese Datei.

Als nächstes befestigen Sie die SD-Karte am pi. Beim Einfügen sollte es entweder "einklicken" oder einfach unten im Pi sitzen.

Schließen Sie Ihre Maus und Tastatur an den Pi an. Schließen Sie dann ein HDMI-Kabel an den Pi von einem Monitor an. Schließen Sie schließlich einen 3-Ampere-Micro-USB-Wandsteckdosenadapter an den Pi an. Obwohl eine Wandsteckdose empfohlen wird, habe ich meinen Laptop als Stromquelle verwendet (USB von meinem Laptop auf Micro-USB im Pi).

Lass den Pi sein Ding machen. Wenn Sie dazu aufgefordert werden, wählen Sie Raspbian aus und lassen Sie es installieren. Folgen Sie den Anweisungen im Installationsprogramm. Es kann eine Weile dauern, bis es abgeschlossen ist. Wenn alles richtig läuft, sollten Sie einen Desktop-Bildschirm ähnlich dem obigen sehen.

Stecken Sie ein Ethernet-Kabel von Ihrem Router in den pi. Öffnen Sie dann die Befehlszeile (das schwarze "Box"-Symbol oben auf dem Bildschirm). Sie müssen den Pi über ein kabelgebundenes Netzwerk aktualisieren, um ihn mit einem drahtlosen Netzwerk zu verbinden.

Klicken Sie dann oben auf dem Bildschirm auf das Kabelsymbol. Geben Sie Ihre Netzwerkdetails ein, wenn Sie dazu aufgefordert werden.

Geben Sie den Text in der nächsten Zeile genau wie angezeigt ein und drücken Sie die Eingabetaste. Dadurch wird der Pi aktualisiert. Es kann eine Weile dauern. Lass es einfach sein Ding machen.

sudo apt-get update

Geben Sie dann den Code in die nächste Zeile ein. Dies wird auch einige Zeit dauern. Tun Sie nichts, bis es fertig ist.

sudo apt-get dist-upgrade

Jetzt sollten Sie in der Lage sein, das Ethernet-Kabel zu trennen, auf das Wireless-Symbol oben auf dem Bildschirm zu klicken, Ihre Netzwerkinformationen einzugeben und sich schließlich über Wireless mit Ihrem Netzwerk zu verbinden.

Lassen Sie uns nun den Teil der Drohne codieren, der Bewegungen verarbeitet.

Schritt 3: Handhabung von Bewegungen (Bluetooth-Server)

Handhabung von Bewegungen (Bluetooth-Server)
Handhabung von Bewegungen (Bluetooth-Server)

Zur Handhabung von Bewegungen wird die Programmiersprache "Python 3" verwendet. Die Nachrichten, die den Roboter auffordern, sich zu bewegen, werden über Bluetooth von der App gesendet.

Zuerst müssen Sie die Bluetooth-Bibliothek installieren. Geben Sie dazu die folgenden Befehle ein.

sudo apt-get update

sudo apt-get install bluetooth

sudo apt-get install bluez

sudo apt-get install python-bluez

Klicken Sie nun auf dem Desktop auf das Startmenüsymbol, dann auf Programmierung, dann auf Python 3. Klicken Sie dann in der Symbolleiste auf Datei, neu. Ein neues Fenster sollte erscheinen.

Kopieren Sie den Inhalt des Anhangs "bluetoothpi.rtf" in das Fenster.

Klicken Sie in der Symbolleiste auf Datei, Speichern unter. Speichern Sie es im Verzeichnis /home/pi/Desktop/ als Bewegungen.py.

Um den Code zu testen, klicken Sie auf das Bluetooth-Symbol in der oberen rechten Ecke des Bildschirms. Koppeln Sie den Himbeer-Pi mit Ihrem Android-Gerät. Laden Sie eine App namens BlueTerm auf Ihr Android-Gerät herunter. Geben Sie dann in der Befehlszeile den folgenden Code in Fettdruck ein. Dadurch wird der Python-Code ausgeführt.

sudo python /home/pi/Desktop/movements.py

Auf dem Pi sollte der Text "Warten auf Verbindungen" erscheinen.

Starten Sie BlueTerm und klicken Sie auf das Optionssymbol und dann auf die Schaltfläche "Verbindungen suchen".

In der App sollte der Name Ihres Himbeer-Pi erscheinen. Klicken Sie auf die Schaltfläche mit dem Namen des Pi. Der Text "Akzeptierte Verbindung von" sollte auf dem Pi erscheinen, gefolgt von seiner Adresse. Jetzt sollte alles, was Sie in das Telefon eingeben, im Pi angezeigt werden.

Sie haben Ihre eigene Bluetooth-Serverbuchse erfolgreich codiert!

Schritt 4: Die Android-App (Bluetooth-Client)

Die Android-App (Bluetooth-Client)
Die Android-App (Bluetooth-Client)
Die Android-App (Bluetooth-Client)
Die Android-App (Bluetooth-Client)
Die Android-App (Bluetooth-Client)
Die Android-App (Bluetooth-Client)
Die Android-App (Bluetooth-Client)
Die Android-App (Bluetooth-Client)

Laden Sie hier Android Studio herunter. Installieren Sie es und befolgen Sie die Anweisungen des Installationsprogramms.

Starten Sie ein neues Projekt. Erstellen Sie eine leere Aktivität namens MainActivity.

Kopieren Sie den Inhalt des Anhangs „Logic.txt“in die Datei „MainActivity.java“(Registerkarte). Dies enthält die gesamte Logik hinter der App. Möglicherweise müssen Sie den Namen Ihres Geräts unten in der Datei ändern.

Kopieren Sie anschließend den Inhalt der Datei „GUI“in die Datei „activity_main.xml“(Tab). Diese enthält eine sehr einfache GUI für die App.

Jetzt müssen Sie die Pfeilschaltflächen (Bilder) in die App importieren. Entpacken Sie den Anhang Arrows.zip. Öffnen Sie auf der linken Seite von Android Studio die Dateistruktur, um App, Res, Minimap anzuzeigen. Kopieren Sie die Pfeilbilder (PNG-Dateien), klicken Sie mit der rechten Maustaste auf die Datei-Minikarte und fügen Sie die Bilder in die Datei ein, wobei die Namen der Pfeile gleich bleiben. Es sollte wie auf dem Bild aussehen, wenn es fertig ist.

Kopieren Sie abschließend den Inhalt der Datei „Manifest“in Ihre Datei „AndroidManifest.xml“(Tab).

Um die App zu testen, müssen Sie sie auf Ihrem Gerät ausführen. Dazu müssen Sie das Gerät in den Entwicklermodus versetzen und das USB-Debugging aktivieren. Bei den meisten Geräten müssen Sie zu "Einstellungen", "Über das Telefon" gehen, nach unten scrollen und sieben Mal auf "Build-Nummer" klicken, bis die Meldung "Sie sind jetzt ein Entwickler!" Gehen Sie zurück und Sie sollten jetzt eine Registerkarte "Entwickleroptionen" sehen. Klicken Sie darauf und aktivieren Sie das USB-Debugging.

Verbinden Sie Ihr Android-Gerät über USB mit Ihrem Computer, klicken Sie auf das Ausführen-Symbol in Android Studio und wählen Sie Ihr Gerät aus.

Starten Sie auf dem Pi den in Schritt 3 erstellten Python-Code, indem Sie den fett gedruckten Befehl eingeben:

sudo python /home/pi/Desktop/movements.py

Klicken Sie dann in der App auf den Connect-Button. Wenn die Verbindung hergestellt ist, sollten jetzt einige Pfeile in der App erscheinen. Immer wenn Sie auf einen klicken, wird der "Move"-Status des Pi aktualisiert.

Es ist in Ordnung, wenn der Hintergrund der App einen Fehler anzeigt. Dies wird später behoben.

Sie haben gerade Ihre eigene App und Ihren Bluetooth-Client erstellt.

Schritt 5: Anschließen der Hardware

Anschließen der Hardware
Anschließen der Hardware
Anschließen der Hardware
Anschließen der Hardware
Anschließen der Hardware
Anschließen der Hardware

Löten Sie die Anschlüsse im obigen Diagramm. Befestigen Sie auch das Kameramodul am Pi.

Führen Sie die App aus und führen Sie die Datei movement.py aus. Wenn sich die Motoren bei der Verwendung der App richtig bewegen, können Sie alle Komponenten in eine fertige Hülle für die Drohne stecken. Möglicherweise müssen Sie die Werte der Codes "HIGH" und "LOW" ändern, damit sie sich richtig bewegt.

Im nächsten Schritt werden wir die Streaming-Funktion der Drohne hinzufügen.

Schritt 6: Streamen

Streaming
Streaming
Streaming
Streaming
Streaming
Streaming

Es gibt mehrere Möglichkeiten, ein Video mit einem Pi zu streamen, aber die Verwendung von uv4l ist bei weitem der einfachste Weg, praktisch ohne Verzögerung.

Nur eine Randnotiz, wenn Sie Ihre Drohne bereits zusammengestellt haben und sie nicht mit Ihrem Monitor und Ihrer Tastatur verbinden können, müssen Sie eine SSH-Verbindung zu Ihrer Drohne herstellen. Laden Sie dazu Putty auf Ihren Computer herunter. Öffnen Sie es und geben Sie die IP-Adresse Ihrer Himbeere ein (finden Sie die IP-Adresse, indem Sie den Befehl ifconfig eingeben). Es fordert Sie auf, einen Benutzernamen und ein Passwort einzugeben. Der Standardbenutzername und das Standardkennwort sind pi bzw. raspberry. Alles, was Sie jetzt in das Befehlsfeld eingeben, ist so, als würden Sie Befehle direkt in die Drohne eingeben.

uv4l einrichten

Geben Sie diesen Befehl ein:

sudo nano /etc/apt/sources.list

Fügen Sie die folgende Zeile in die letzte Zeile der Datei ein.

deb https://www.linux-projects.org/listing/uv4l_repo/raspbian/ jessie main

Beenden und speichern Sie die Datei, indem Sie Strg-X drücken und dann Ja eingeben.

Geben Sie dann die folgende Zeile ein und drücken Sie die Eingabetaste.

sudo apt-get update

dann das:

sudo apt-get install uv4l uv4l-raspicam

Geben Sie die folgenden Befehle Zeile für Zeile ein. Warten Sie, bis die Aktion beendet ist, bevor Sie die nächste Zeile eingeben.

sudo apt-get install uv4l-raspicam-extras

sudo service uv4l_raspicam Neustart

sudo rpi-update

sudo apt-get install uv4l-server uv4l-uvc uv4l-xscreen uv4l-mjpegstream uv4l-dummy uv4l-raspidisp

sudo apt-get install uv4l-webrtc

sudo apt-get install uv4l-xmpp-bridge

sudo apt-get install uv4l-raspidisp-extras

Danach müssen Sie nur noch den folgenden Befehl eingeben, um das Streaming zu starten (ersetzen Sie "raspberrypi" durch die IP-Adresse / den Hostnamen der Himbeere in Ihrem Netzwerk)

cvlc

Dadurch wird das Streaming von Videos in Echtzeit auf Port 8080 gestartet. Der Stream sollte jetzt im Hintergrund Ihrer App zu sehen sein. Um den Stream in einem beliebigen Browser anzuzeigen, geben Sie diese URL ein (wobei "raspberrypi" die IP-Adresse Ihrer Drohne ist).

https://raspberrypi:8080/stream/video.mjpeg

Herzlichen Glückwunsch, Sie haben Ihre Spionagedrohne fertiggestellt.

Schritt 7: Fahren Sie

Schalten Sie den Netzschalter um und beginnen Sie mit der Erkundung.

Wenn Sie wissen möchten, wie man etwas anderes macht, fragen Sie mich und ich werde sehen, was ich tun kann.

Wenn Sie Fragen haben, kommentieren Sie bitte unten und ich werde mein Bestes tun, um sie zu beantworten.

Danke fürs Lesen!

Empfohlen: