Innholdsfortegnelse:

Raspberry Pi, Android, IoT og Bluetooth -drevet drone: 7 trinn (med bilder)
Raspberry Pi, Android, IoT og Bluetooth -drevet drone: 7 trinn (med bilder)

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

Video: Raspberry Pi, Android, IoT og Bluetooth -drevet drone: 7 trinn (med bilder)
Video: Штукатурка стен - самое полное видео! Переделка хрущевки от А до Я. #5 2024, November
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 å bruke en Raspberry Pi for innebygd logikk, vil denne kompakte, mobile datamaskinen opprette en lokal port som streamer en video i sanntid samtidig som den oppretter Bluetooth-kontakter for å lese verdier sendt av en tilpasset Android-app. Appen synkroniseres med dronen og bruker brukerinngang for å sende instruksjoner til dronen umiddelbart.

Dette prosjektet er ganske vanskelig å lage fra bunnen av. Forhåpentligvis vil følgende informasjon gi innsikt for flere drone -applikasjoner. All programvare og kretsdesign knyttet til dette prosjektet er gitt. Du er velkommen til å endre og dele koden etter eget ønske. Bruk informasjonen som er gitt ansvarlig, og legg igjen en kommentar nedenfor.

Trinn 1: Maskinvaren

Maskinvaren
Maskinvaren
Maskinvaren
Maskinvaren
Maskinvaren
Maskinvaren
Maskinvaren
Maskinvaren

Nedenfor er listen over maskinvare som jeg brukte.

  • Raspberry Pi 3 Model B
  • Bringebær PI kameramodul
  • L298N motor driver
  • 2, DC -motorer
  • Et tastatur, hvilken som helst skjerm, mus, Ethernet -kabel og HDMI -kabel (for pi)
  • 8 GB MicroSD -kort
  • Skruer, tape, ect.
  • 2 hjul
  • En Android Bluetooth -enhet (telefonen min)
  • 2, 18650 celler
  • En 5 volt regulator
  • En datamaskin for å programmere appen på

En Raspberry Pi: For høyere strømoppløsninger (eller for nybegynnere), vil jeg anbefale den nyeste versjonen av B -modellen, mens mer kompakte versjoner kan bruke enten den nyeste modellen A+ eller Pi Zero (kameraversjon). Husk at hvis du bruker en bringebær pi zero, trenger du en Bluetooth og/eller WiFi dongle for det. Denne opplæringen vil anta at du bruker en Raspberry Pi 3 B.

En motordriver: Jeg brukte en L298N, selv om enhver motordriver burde fungere. Bare sørg for at den kan håndtere motorens spenning og strøm.

2 DC -motorer: Sørg for at de klarer vekten av dronen din.

Et karosseri: Brukes også. Hold alle komponentene i. Vanligvis er hard plast eller aluminium et slitesterkt, lett materiale å bruke. For optimale resultater kan til og med en 3D -skriver brukes.

En strømkilde: Det er nesten alltid den tøffeste avgjørelsen når du skal velge deler. Batteriet som kreves avhenger av gjeldende trekning. For applikasjoner med lite strøm (som 1 eller 2 ampere), bør et 9v batteri være tilstrekkelig. For høyere strømstyrke anbefaler jeg enten en 18650 litiumioncelle eller et litiumpolymerbatteri siden de er lette, kan holde mye strøm for størrelsen og er oppladbare.

2 hjul: Bare sørg for at hjulene har samme hullstørrelse som akselen på motoren din. Sørg også for at diametrene til hjulene er store nok til din drone. Siden det er flere mulige varianter og design for dette prosjektet, er det flere forskjellige hjultyper og størrelser som skal brukes.

Spenningsregulatorer: En 5 volt regulator er nødvendig for å drive pi via et batteri. Jeg brukte en LM2596 DC-DC buck converter.

De fleste produktene i koblingene ble brukt i dette prosjektet og var de beste tilbudene jeg kunne finne den gangen.

Nå som du har alt du trenger, lar vi konfigurere pi.

Trinn 2: Konfigurere Raspberry Pi

Sette opp Raspberry Pi
Sette opp Raspberry Pi
Sette opp Raspberry Pi
Sette opp Raspberry Pi
Sette opp Raspberry Pi
Sette opp Raspberry Pi

Dette trinnet viser deg hvordan du konfigurerer Raspberry Pi, slik at du kan begynne å kode. Hvis du allerede har et pi -oppsett med Raspbian, kan du gjerne gå videre til neste trinn.

Først må du laste ned et operativsystem for bringebæret. Få NOOBS hvis du er nybegynner. Hvis du allerede har bemerkelsesverdig erfaring med en bringebærpi, kan du være interessert i Raspbian. Jeg antar at du bruker NOOBS for denne opplæringen.

Mens det lastes ned, formater du SD -kortet med SD -formatering.

Trekk nå ut og kopier innholdet i nedlastingen til roten til SD -kortet. Root betyr ganske enkelt at den ikke er inne i noen mapper. Hvis det ble opprettet en ny mappe for alle de utpakkede filene, kopierer du over den filen.

Fest deretter SD -kortet til pi. Mens du setter den inn, skal den enten "klikke" inn eller bare sitte inne i bunnen av pien.

Koble musen og tastaturet til pi. Koble deretter en HDMI -kabel til pi -en fra en skjerm. Til slutt kobler du en 3 ampere mikro -USB -veggkontaktadapter til pi. Selv om en veggkontakt anbefales, brukte jeg min bærbare som strømkilde (USB fra min bærbare til Micro USB i pi).

La pi gjøre sitt. Velg Raspbian hvis du blir bedt om det, og la det installere. Følg instruksjonene i installasjonsprogrammet. Det kan ta en stund å fullføre. Hvis alt går som det skal, bør du se en stasjonær skjerm som ligner den ovenfor.

Koble en Ethernet -kabel fra ruteren til pi -en. Åpne deretter kommandolinjen (Det svarte "boksen" -ikonet øverst på skjermen). Du må oppdatere pi -en via et kablet nettverk for å koble den til et trådløst nettverk.

Klikk deretter på kabelikonet øverst på skjermen. Skriv inn nettverksdetaljene der du blir bedt om det.

Skriv inn teksten i neste linje nøyaktig som vist, og trykk enter. Dette vil oppdatere pi. Det kan ta en stund. Bare la det gjøre sitt.

sudo apt-get oppdatering

Skriv deretter inn koden på neste linje. Dette vil også ta litt tid. Ikke gjør noe før det er ferdig.

sudo apt-get dist-upgrade

Nå skal du kunne koble fra Ethernet -kabelen, klikke på ikonet for trådløshet øverst på skjermen, skrive inn nettverksinformasjonen din og til slutt koble til nettverket via trådløst.

La oss nå kode delen av dronen som håndterer bevegelser.

Trinn 3: Håndtere bevegelser (Bluetooth -server)

Håndtering av bevegelser (Bluetooth -server)
Håndtering av bevegelser (Bluetooth -server)

For håndtering av bevegelser brukes programmeringsspråket "Python 3". Meldingene som forteller roboten om å bevege seg, blir sendt via Bluetooth fra appen.

Først må du installere Bluetooth -biblioteket. Skriv inn følgende kommandoer for å gjøre det.

sudo apt-get oppdatering

sudo apt-get install bluetooth

sudo apt-get install bluez

sudo apt-get install python-bluez

Nå fra skrivebordet klikker du på startmenyikonet, deretter Programmering, deretter Python 3. Klikk deretter på Fil, ny fra verktøylinjen. Et nytt vindu skal vises.

Kopier innholdet i vedlegget "bluetoothpi.rtf" inn i vinduet.

Klikk på Fil, Lagre som på verktøylinjen. Lagre den i/home/pi/Desktop/katalogen som moves.py.

Nå for å teste koden, klikk på Bluetooth-ikonet øverst til høyre på skjermen. Koble bringebær pi med Android -enheten din. Last ned en app som heter BlueTerm på din Android -enhet. Skriv inn følgende kode med fet skrift på kommandolinjen. Dette vil utføre pythonkoden.

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

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

Start BlueTerm og klikk på alternativikonet og deretter på "se etter tilkoblinger" -knappen.

I appen skal navnet på bringebærpien din vises. Klikk på knappen med pi -navnet. Teksten "Godtatt tilkobling fra" skal vises på pi etterfulgt av adressen. Uansett hva du skriver i telefonen, skal vises i pi.

Du har vellykket kodet din egen Bluetooth -serverkontakt!

Trinn 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)

Last ned Android Studio her. Installer den og følg instruksjonene i installasjonsprogrammet.

Start et nytt prosjekt. Lag en tom aktivitet kalt MainActivity.

Kopier innholdet i vedlegget "Logic.txt" i filen "MainActivity.java" (fane). Dette inneholder all logikken bak appen. Du må kanskje endre navnet på enheten din nederst i filen.

Kopier deretter innholdet i filen "GUI" i filen "activity_main.xml" (kategorien). Dette inneholder en veldig enkel GUI for appen.

Nå må du importere pilknappene (bilder) til appen. Pakk ut vedlegget Arrows.zip. Til venstre for android studio, åpne filstrukturen for å se app, res, minimap. Kopier pilbildene-p.webp

Til slutt kopierer du innholdet i filen "Manifest" til "AndroidManifest.xml" -filen (fanen).

For å teste appen må du kjøre den på enheten din. For å gjøre dette må du sette enheten til utviklermodus og aktivere USB -feilsøking. For de fleste enheter må du gå til "Innstillinger", "Om telefon", bla til bunnen og klikke på "Byggenummer" syv ganger til du ser meldingen "Du er nå en utvikler!" Gå tilbake, og du bør nå se fanen "Utvikleralternativer". Klikk på den og aktiver USB -feilsøking.

Koble Android -enheten til datamaskinen din via USB, klikk på kjørikonet på Android Studio og velg enheten.

På pi, start pythonkoden som ble opprettet i trinn 3 ved å skrive inn kommandoen med fet skrift:

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

Klikk deretter på tilkoblingsknappen i appen. Når du er tilkoblet, skal noen piler nå vises på appen. Når du klikker på en, vil den oppdatere piens "flytte" -tilstand.

Det er greit hvis bakgrunnen til appen gir en feil. Dette vil bli fikset senere.

Du har nettopp opprettet din egen app og Bluetooth -klient.

Trinn 5: Koble til maskinvaren

Koble til maskinvaren
Koble til maskinvaren
Koble til maskinvaren
Koble til maskinvaren
Koble til maskinvaren
Koble til maskinvaren

Lodd tilkoblingene i diagrammet ovenfor. Fest kameramodulen til pi -en også.

Kjør appen og kjør filen moves.py. Hvis motorene beveger seg riktig når du bruker appen, kan du sette alle komponentene i et ferdig skall for dronen. Du må kanskje endre kodene "HIGH" og "LOW" slik at den beveger seg riktig.

I neste trinn vil vi legge til streamingfunksjonen til dronen.

Trinn 6: Streaming

Streaming
Streaming
Streaming
Streaming
Streaming
Streaming

Det er flere måter å streame en video på med en Pi, men å bruke uv4l er den desidert enkleste måten uten praktisk talt forsinkelse.

Bare et sidebemerkning, hvis du allerede har satt dronen sammen og ikke kan koble den til skjermen og tastaturet, må du SSH inn i dronen din. For å gjøre dette, last ned Putty på datamaskinen. Åpne den og skriv inn bringebærens IP -adresse (finn IP -adressen ved å skrive kommandoen ifconfig). Det vil be deg om et brukernavn og passord. Standard brukernavn og passord er henholdsvis pi og bringebær. Uansett hva du skriver i kommandofeltet vil være som å skrive inn kommandoer direkte i dronen.

sette opp uv4l

Skriv inn denne kommandoen:

sudo nano /etc/apt/sources.list

Legg til følgende linje på den siste linjen i filen.

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

Avslutt og lagre filen ved å trykke Ctrl-X og deretter skrive Ja.

Skriv deretter inn følgende linje og trykk enter.

sudo apt-get oppdatering

så dette:

sudo apt-get install uv4l uv4l-raspicam

Skriv inn følgende kommandoer linje for linje. Vent til den er ferdig med hva den gjør før du skriver inn neste linje.

sudo apt-get install uv4l-raspicam-extras

sudo service uv4l_raspicam starter på nytt

sudo rpi-oppdatering

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

Etter det er det bare å skrive inn følgende kommando for å starte streaming (erstatt "raspberrypi" med bringebærens IP -adresse/ vertsnavn i nettverket ditt)

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

Dette vil begynne å streame video i sanntid på port 8080. Strømmen bør sees i bakgrunnen av appen din nå. For å se strømmen i en hvilken som helst nettleser, skriver du inn denne nettadressen (der "raspberrypi" er din drones IP -adresse).

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

Gratulerer, du har fullført spiondronen din.

Trinn 7: Kjør

Snu på strømbryteren og begynn å utforske.

Hvis du vil vite hvordan du lager noe annet, kan du spørre meg så skal jeg se hva jeg kan gjøre.

Hvis du har spørsmål, vennligst kommenter nedenfor, så skal jeg gjøre mitt beste for å svare på dem.

Takk for at du leste!

Anbefalt: