Indholdsfortegnelse:

Raspberry Pi, Android, IoT og Bluetooth -drevet drone: 7 trin (med billeder)
Raspberry Pi, Android, IoT og Bluetooth -drevet drone: 7 trin (med billeder)

Video: Raspberry Pi, Android, IoT og Bluetooth -drevet drone: 7 trin (med billeder)

Video: Raspberry Pi, Android, IoT og Bluetooth -drevet drone: 7 trin (med billeder)
Video: Building a HACKER DRONE! Real Experiment #shorts 2024, Juli
Anonim
Raspberry Pi, Android, IoT og Bluetooth -drevet drone
Raspberry Pi, Android, IoT og Bluetooth -drevet drone
Raspberry Pi, Android, IoT og Bluetooth -drevet drone
Raspberry Pi, Android, IoT og Bluetooth -drevet drone
Raspberry Pi, Android, IoT og Bluetooth -drevet drone
Raspberry Pi, Android, IoT og Bluetooth -drevet drone
Raspberry Pi, Android, IoT og Bluetooth -drevet drone
Raspberry Pi, Android, IoT og Bluetooth -drevet drone

Ved hjælp af en Raspberry Pi til den indbyggede logik, vil denne kompakte, mobile computer oprette en lokal port, der streamer en video i realtid, samtidig med at den opretter Bluetooth-stik til at læse værdier sendt af en brugerdefineret Android-app. Appen synkroniseres med dronen og bruger brugerinput til at sende instruktioner til dronen med det samme.

Dette projekt er ret svært at lave fra bunden. Forhåbentlig vil følgende oplysninger give indsigt i flere drone -applikationer. Al software og kredsløbsdesign vedrørende dette projekt leveres. Du er velkommen til at ændre og dele koden efter din smag. Brug venligst de oplyste oplysninger ansvarligt og efterlad en kommentar herunder.

Trin 1: Hardware

Hardwareen
Hardwareen
Hardwareen
Hardwareen
Hardwareen
Hardwareen
Hardwareen
Hardwareen

Nedenfor er listen over hardware, jeg brugte.

  • Raspberry Pi 3 Model B
  • Hindbær PI kameramodul
  • L298N motor driver
  • 2, DC -motorer
  • Et tastatur, enhver skærm, mus, Ethernet -kabel og HDMI -kabel (til pi)
  • 8 GB MicroSD -kort
  • Skruer, tape, ect.
  • 2 hjul
  • En Android Bluetooth -enhed (min telefon)
  • 2, 18650 Celler
  • En 5 volt regulator
  • En computer til at programmere appen på

En Raspberry Pi: For højere strømopløsninger (eller for begyndere) vil jeg anbefale den nyeste version af B -modellen, mens mere kompakte versioner enten kan bruge den nyeste Model A+ eller Pi Zero (kameraversion). Husk, at hvis du bruger en hindbær pi zero, skal du bruge en Bluetooth og/eller WiFi dongle til det. Denne vejledning antager, at du bruger en Raspberry Pi 3 B.

En motordriver: Jeg brugte en L298N, selvom enhver motordriver burde arbejde. Bare sørg for, at den kan håndtere din motors spænding og strøm.

2 DC -motorer: Sørg for, at de kan klare vægten af din drone.

Et karosseri: Brugt også holde alle komponenterne i. Normalt er hård plast eller aluminium et slidstærkt, let materiale at bruge. For optimale resultater kan selv en 3D -printer bruges.

En strømkilde: Det er næsten altid den hårdeste beslutning, når du vælger dele. Det nødvendige batteri afhænger af den aktuelle trækning. Til applikationer med lav effekt (f.eks. 1 eller 2 ampere) bør et 9v batteri være tilstrækkeligt. For højere strømstyrke anbefaler jeg enten en 18650 litiumioncelle eller et litiumpolymerbatteri, da de er lette, kan holde meget strøm til deres størrelse og er genopladelige.

2 hjul: Bare sørg for at dine hjul har samme hulstørrelse som akslen på din motor. Sørg også for, at hjulens diametre er store nok til din drone. Da det er flere mulige variationer og designs til dette projekt, er det flere forskellige hjultyper og størrelser, der skal bruges.

Spændingsregulatorer: En 5 volt regulator er påkrævet for at drive pi'en via et batteri. Jeg brugte en LM2596 DC-DC buck converter.

De fleste af produkterne i linkene blev brugt i dette projekt og var de bedste tilbud, jeg kunne finde på det tidspunkt.

Nu hvor du har alt, hvad du har brug for, kan du konfigurere pi.

Trin 2: Opsætning af Raspberry Pi

Opsætning af Raspberry Pi
Opsætning af Raspberry Pi
Opsætning af Raspberry Pi
Opsætning af Raspberry Pi
Opsætning af Raspberry Pi
Opsætning af Raspberry Pi

Dette trin viser dig, hvordan du konfigurerer Raspberry Pi, så du kan begynde at kode. Hvis du allerede har en pi -opsætning med Raspbian, er du velkommen til at gå videre til det næste trin.

Først skal du downloade et operativsystem til hindbær. Få NOOBS, hvis du er nybegynder. Hvis du allerede har en bemærkelsesværdig erfaring med en hindbærpi, kan du være interesseret i Raspbian. Jeg antager, at du bruger NOOBS til denne vejledning.

Mens det downloades, skal du formatere dit SD -kort med SD -formatter.

Udtræk og kopier nu indholdet af overførslen til roden af dit SD -kort. Root betyder ganske enkelt, at den ikke er inde i nogen mapper. Hvis der blev oprettet en ny mappe til at indeholde alle de udpakkede filer, skal du kopiere på tværs af den fil.

Sæt derefter SD -kortet på pi'en. Mens den indsættes, skal den enten "klikke" ind eller bare sidde inde i bunden af pi'et.

Tilslut musen og tastaturet til pi'en. Tilslut derefter et HDMI -kabel til pi'en fra en skærm. Tilslut til sidst en 3 amp mikro USB -vægstikadapter i stikket. Selvom der anbefales en stikkontakt, brugte jeg min bærbare som strømkilde (USB fra min bærbare til Micro USB i pi).

Lad pi gøre sit. Hvis du bliver bedt om det, skal du vælge Raspbian og lade det installere. Følg instruktionerne i installationsprogrammet. Det kan tage et stykke tid at fuldføre. Hvis alt går rigtigt, skal du se en skrivebordsskærm, der ligner den ovenfor.

Tilslut et Ethernet -kabel fra din router til pi. Åbn derefter kommandolinjen (Det sorte "boks" -ikon øverst på skærmen). Du skal opdatere pi'en via et kablet netværk for at forbinde det til et trådløst netværk.

Klik derefter på ikonet Kabel øverst på skærmen. Indtast dine netværksoplysninger, hvor du bliver bedt om det.

Skriv teksten i den næste linje nøjagtigt som vist, og tryk på enter. Dette vil opdatere pi. Det kan tage et stykke tid. Bare lad det gøre sit.

sudo apt-get opdatering

Indtast derefter koden i den næste linje. Dette vil også tage noget tid. Gør ikke noget, før det er færdigt.

sudo apt-get dist-upgrade

Nu skal du kunne afbryde Ethernet -kablet, klikke på ikonet for trådløs i toppen af skærmen, indtaste dine netværksoplysninger og tilslutte til dit netværk via trådløst.

Lad os nu kode den del af dronen, der håndterer bevægelser.

Trin 3: Håndtering af bevægelser (Bluetooth -server)

Håndtering af bevægelser (Bluetooth -server)
Håndtering af bevægelser (Bluetooth -server)

Til håndtering af bevægelser bruges programmeringssproget "Python 3". Meddelelserne, der fortæller robotten om at flytte, sendes via Bluetooth fra appen.

Først skal du installere Bluetooth -biblioteket. Indtast følgende kommandoer for at gøre det.

sudo apt-get opdatering

sudo apt-get install bluetooth

sudo apt-get installer bluez

sudo apt-get install python-bluez

Klik nu på skrivebordet på startmenuikonet, derefter på Programmering, derefter Python 3. Klik derefter på Filer, ny fra værktøjslinjen. Et nyt vindue skal vises.

Kopier indholdet af vedhæftede filer "bluetoothpi.rtf" ind i vinduet.

Klik på Filer, Gem som på værktøjslinjen. Gem det i/home/pi/Desktop/biblioteket som moves.py.

Nu for at teste koden skal du klikke på Bluetooth-ikonet i øverste højre hjørne af skærmen. Par hindbær pi med din Android -enhed. Download en app kaldet BlueTerm på din Android -enhed. Indtast derefter følgende kode med fed skrift på kommandolinjen. Dette vil udføre python -koden.

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

Teksten "Venter på forbindelser" skal vises på pi.

Start BlueTerm, og klik på ikonet for indstillinger og derefter på knappen "søg efter forbindelser".

I appen skal navnet på din hindbær pi vises. Klik på knappen med pi -navnet. Teksten "Accepteret forbindelse fra" skal vises på pi efterfulgt af dens adresse. Uanset hvad du skriver i telefonen, skal det vises i pi.

Du har med succes kodet dit eget Bluetooth -serverstik!

Trin 4: Android -appen (Bluetooth -klient)

Android -appen (Bluetooth -klient)
Android -appen (Bluetooth -klient)
Android -appen (Bluetooth -klient)
Android -appen (Bluetooth -klient)
Android -appen (Bluetooth -klient)
Android -appen (Bluetooth -klient)
Android -appen (Bluetooth -klient)
Android -appen (Bluetooth -klient)

Download Android Studio her. Installer det, og følg instruktionerne i installationsprogrammet.

Start et nyt projekt. Opret en tom aktivitet kaldet MainActivity.

Kopier indholdet af vedhæftede filer "Logic.txt" i filen "MainActivity.java" (fane). Dette indeholder al logik bag appen. Du skal muligvis ændre navnet på din enhed i bunden af filen.

Kopier derefter indholdet af filen "GUI" i filen "activity_main.xml" (fane). Dette indeholder en meget enkel GUI til appen.

Nu skal du importere piletasterne (billeder) til appen. Udpak vedhæftede filer Arrows.zip. Til venstre for android studio skal du åbne filstrukturen for at se app, res, minimap. Kopiér pilebillederne-p.webp

Endelig kopierer indholdet af filen "Manifest" til din "AndroidManifest.xml" -fil (fane).

For at teste appen skal du køre den på din enhed. For at gøre dette skal du indstille enheden til udviklertilstand og aktivere USB -fejlfinding. For de fleste enheder skal du gå til "Indstillinger", "Om telefon", rulle til bunden og klikke på "Byg nummer" syv gange, indtil du ser meddelelsen "Du er nu en udvikler!" Gå tilbage, og du skulle nu se fanen "Udviklerindstillinger". Klik på det, og aktiver USB -fejlfinding.

Tilslut din Android -enhed til din computer via USB, klik på ikonet Kør i Android Studio, og vælg din enhed.

På pi skal du starte pythonkoden, der blev oprettet i trin 3, ved at indtaste kommandoen med fed skrift:

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

Klik derefter på forbindelsesknappen i appen. Når der er forbindelse, skal nogle pile nu vises på appen. Når du klikker på en, vil den opdatere pi's "flytte" -tilstand.

Det er ok, hvis baggrunden for appen giver en fejl. Dette vil blive rettet senere.

Du har lige oprettet din egen app og Bluetooth -klient.

Trin 5: Tilslutning af hardwaren

Tilslutning af hardware
Tilslutning af hardware
Tilslutning af hardware
Tilslutning af hardware
Tilslutning af hardware
Tilslutning af hardware

Lod lodforbindelserne i diagrammet ovenfor. Sæt også kameramodulet på pi'et.

Kør appen, og udfør filen moves.py. Hvis motorerne bevæger sig korrekt, når du bruger appen, er du velkommen til at lægge alle komponenterne i en færdigbehandlet skal til dronen. Du skal muligvis ændre koderne "HIGH" og "LOW" værdier, så den bevæger sig korrekt.

I det næste trin tilføjer vi streamingfunktionen i dronen.

Trin 6: Streaming

Streaming
Streaming
Streaming
Streaming
Streaming
Streaming

Der er flere måder at streame en video ved hjælp af en Pi, men brug af uv4l er langt den nemmeste måde uden stort set forsinkelse.

Bare en sidebemærkning, hvis du allerede har sat din drone sammen og ikke kan slutte den til din skærm og tastatur, skal du SSH ind i din drone. For at gøre dette skal du downloade Putty på din computer. Åbn den, og indtast din hindbærs IP -adresse (find IP -adressen ved at skrive kommandoen ifconfig). Det vil bede dig om et brugernavn og en adgangskode. Standardbrugernavnet og adgangskoden er henholdsvis pi og hindbær. Uanset hvad du skriver i kommandofeltet, vil det være som at indtaste kommandoer direkte i dronen.

opsætning af uv4l

Indtast denne kommando:

sudo nano /etc/apt/sources.list

Tilføj følgende linje i den sidste linje i filen.

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

Afslut og gem filen ved at trykke på Ctrl-X og derefter skrive Ja.

Indtast derefter følgende linje, og tryk på enter.

sudo apt-get opdatering

så dette:

sudo apt-get install uv4l uv4l-raspicam

Indtast følgende kommandoer linje for linje. Vent på, at det er færdigt, hvad det gør, før du skriver i den næste linje.

sudo apt-get install uv4l-raspicam-extras

sudo service uv4l_raspicam genstart

sudo rpi-opdatering

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

Derefter skal du bare indtaste følgende kommando for at starte streaming (udskift "raspberrypi" med hindbærens IP -adresse/ værtsnavn i dit netværk)

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

Dette vil begynde at streame video i realtid på port 8080. Strømmen skal ses i baggrunden af din app nu. For at se strømmen i enhver browser skal du indtaste denne webadresse (hvor "raspberrypi" er din drones IP -adresse).

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

Tillykke, du har fuldført din spiondrone.

Trin 7: Kør

Vend afbryderen og begynd at undersøge.

Hvis du vil vide, hvordan du laver noget andet, så spørg mig, så ser jeg, hvad jeg kan gøre.

Hvis du har spørgsmål, bedes du kommentere herunder, og jeg vil gøre mit bedste for at besvare dem.

Tak fordi du læste!

Anbefalede: