Taula de continguts:

Drone amb tecnologia Raspberry Pi, Android, IoT i Bluetooth: 7 passos (amb imatges)
Drone amb tecnologia Raspberry Pi, Android, IoT i Bluetooth: 7 passos (amb imatges)

Vídeo: Drone amb tecnologia Raspberry Pi, Android, IoT i Bluetooth: 7 passos (amb imatges)

Vídeo: Drone amb tecnologia Raspberry Pi, Android, IoT i Bluetooth: 7 passos (amb imatges)
Vídeo: 10 самых АТМОСФЕРНЫХ мест Дагестана. БОЛЬШОЙ ВЫПУСК #Дагестан #ПутешествиеПоДагестану 2024, De novembre
Anonim
Drone amb tecnologia Raspberry Pi, Android, IoT i Bluetooth
Drone amb tecnologia Raspberry Pi, Android, IoT i Bluetooth
Drone amb tecnologia Raspberry Pi, Android, IoT i Bluetooth
Drone amb tecnologia Raspberry Pi, Android, IoT i Bluetooth
Drone amb tecnologia Raspberry Pi, Android, IoT i Bluetooth
Drone amb tecnologia Raspberry Pi, Android, IoT i Bluetooth
Drone amb tecnologia Raspberry Pi, Android, IoT i Bluetooth
Drone amb tecnologia Raspberry Pi, Android, IoT i Bluetooth

Utilitzant un Raspberry Pi per a la lògica integrada, aquest ordinador compacte i mòbil crearà un port local que transmetrà un vídeo en temps real alhora que crea sockets Bluetooth per llegir els valors enviats per una aplicació per a Android personalitzada. L'aplicació se sincronitza amb el dron i utilitza l'entrada de l'usuari per enviar instruccions al drone a l'instant.

Aquest projecte és bastant difícil de fer des de zero. Amb sort, la informació següent proporcionarà informació sobre diverses aplicacions de drons. Es proporcionen tots els dissenys de programari i circuit relacionats amb aquest projecte. No dubteu a modificar i compartir el codi al vostre gust. Utilitzeu la informació proporcionada de manera responsable i no dubteu a deixar un comentari a continuació.

Pas 1: el maquinari

El maquinari
El maquinari
El maquinari
El maquinari
El maquinari
El maquinari
El maquinari
El maquinari

A continuació es mostra la llista de maquinari que he utilitzat.

  • Raspberry Pi 3 Model B.
  • Mòdul de càmera Raspberry PI
  • Controlador de motor L298N
  • 2, motors DC
  • Un teclat, qualsevol monitor, ratolí, cable Ethernet i cable HDMI (per al pi)
  • Targeta MicroSD de 8 GB
  • Cargols, cinta adhesiva, etc.
  • 2 rodes
  • Un dispositiu Bluetooth per a Android (el meu telèfon)
  • 2, 18650 Cèl·lules
  • Un regulador de 5 volts
  • Un ordinador per programar l'aplicació

A Raspberry Pi: per a resolucions de flux més altes (o per a principiants), recomanaria la versió més recent del model B, mentre que les versions més compactes poden utilitzar el model més recent A + o el Pi Zero (versió de càmera). Recordeu que si utilitzeu un raspberry pi zero, necessitareu un dongle Bluetooth i / o WiFi. Aquest tutorial suposarà que utilitzeu un Raspberry Pi 3 B.

Un controlador de motor: he utilitzat un L298N, tot i que qualsevol conductor de motor hauria de funcionar. Només assegureu-vos que pot controlar la tensió i el corrent dels vostres motors.

2 motors DC: assegureu-vos que puguin suportar el pes del vostre dron.

Un cos: també s'utilitza per contenir tots els components. Normalment, el plàstic dur o l'alumini és un material lleuger i durador. Per obtenir resultats òptims, fins i tot es pot utilitzar una impressora 3D.

Una font d'alimentació: gairebé sempre és la decisió més difícil a l'hora de triar peces. La bateria necessària depèn del consum actual. Per a aplicacions de poca potència (com ara 1 o 2 amperes), n’hi hauria prou amb una bateria de 9 V. Per a un amperatge superior, recomano una cèl·lula de ions de liti 18650 o una bateria de polímer de liti, ja que són lleugeres, poden contenir molta energia per la seva mida i són recarregables.

2 rodes: assegureu-vos que les rodes tinguin la mateixa mida de forat que l'eix del motor. Assegureu-vos també que els diàmetres de les rodes siguin prou grans per al vostre dron. Com que hi ha múltiples variants i dissenys possibles per a aquest projecte, es poden utilitzar diversos tipus i mides de rodes diferents.

Reguladors de tensió: es necessita un regulador de 5 volts per alimentar el pi mitjançant una bateria. He utilitzat un convertidor de dòlars LM2596 DC-DC.

La majoria dels productes dels enllaços es van utilitzar en aquest projecte i van ser les millors ofertes que vaig poder trobar en aquell moment.

Ara que teniu tot el que necessiteu, permeteu configurar el pi.

Pas 2: Configuració del Raspberry Pi

Configuració del Raspberry Pi
Configuració del Raspberry Pi
Configuració del Raspberry Pi
Configuració del Raspberry Pi
Configuració del Raspberry Pi
Configuració del Raspberry Pi

Aquest pas us mostrarà com configurar el Raspberry Pi perquè pugueu començar a codificar. Si ja teniu una configuració pi amb Raspbian, no dubteu a passar al següent pas.

En primer lloc, heu de descarregar un sistema operatiu per al gerd. Aconsegueix NOOBS si ets principiant. Si ja teniu una experiència notable amb un raspberry pi, potser us interessa Raspbian. Suposaré que utilitzeu NOOBS per a aquest tutorial.

Mentre es descarrega, formateu la targeta SD amb SD Formatter.

Ara extreu i copieu el contingut de la descàrrega a l'arrel de la vostra targeta SD. Arrel significa simplement que no es troba dins de cap carpeta. Si es va crear una carpeta nova per contenir tots els fitxers extrets, copieu-lo.

A continuació, connecteu la targeta SD al pi. En inserir-lo, hauria de fer "clic" o simplement situar-se a la part inferior del pi.

Connecteu el ratolí i el teclat al pi. A continuació, connecteu un cable HDMI al pi des d’un monitor. Finalment, introduïu un adaptador de presa de paret micro USB de 3 amperis al pi. Tot i que es recomana un endoll de paret, he fet servir el meu ordinador portàtil com a font d’alimentació (USB del portàtil a micro USB al pi).

Deixeu que el pi faci les seves coses. Si se us demana, seleccioneu Raspbian i deixeu-lo instal·lar. Seguiu les instruccions de l’instal·lador. Pot trigar una estona a completar-se. Si tot va bé, hauríeu de veure una pantalla d'escriptori similar a la de més amunt.

Connecteu un cable Ethernet del vostre enrutador al pi. A continuació, obriu la línia d'ordres (la icona de "quadre" negre a la part superior de la pantalla). Haureu d’actualitzar el pi mitjançant una xarxa amb cable per connectar-lo a una xarxa sense fils.

A continuació, feu clic a la icona de Cable a la part superior de la pantalla. Escriviu els detalls de la xarxa on se us demani.

Escriviu el text a la línia següent exactament com es mostra i premeu Retorn. Això actualitzarà el pi. Pot trigar una estona. Només cal que faci el que fa.

sudo apt-get update

A continuació, escriviu el codi a la línia següent. Això també trigarà una mica. No facis res fins que acabi.

sudo apt-get dist-upgrade

Ara hauríeu de poder desconnectar el cable Ethernet, fer clic a la icona sense fils que hi ha a la part superior de la pantalla, introduir la informació de les vostres xarxes i, finalment, connectar-vos a la vostra xarxa sense fils.

Ara permet codificar la part del dron que gestiona els moviments.

Pas 3: Gestió de moviments (servidor Bluetooth)

Gestió de moviments (servidor Bluetooth)
Gestió de moviments (servidor Bluetooth)

Per manipular moviments, s'utilitza el llenguatge de programació "Python 3". Els missatges que indiquen que el robot es mogui s’enviaran via Bluetooth des de l’aplicació.

En primer lloc, heu d’instal·lar la biblioteca Bluetooth. Escriviu les ordres següents per fer-ho.

sudo apt-get update

sudo apt-get install bluetooth

sudo apt-get install bluez

sudo apt-get install python-bluez

Ara, des de l'escriptori, feu clic a la icona del menú d'inici, després a Programació i després a Python 3. A la barra d'eines, feu clic a Fitxer, nou. Hauria d'aparèixer una finestra nova.

Copieu el contingut del fitxer adjunt "bluetoothpi.rtf" a la finestra.

A la barra d'eines, feu clic a Fitxer, Desa com. Deseu-lo al directori / home / pi / Desktop / com a moviments.py.

Ara per provar el codi, feu clic a la icona Bluetooth a l'extrem superior dret de la pantalla. Emparelleu el raspberry pi amb el vostre dispositiu Android. Baixeu-vos una aplicació anomenada BlueTerm al dispositiu Android. A continuació, a la línia d’ordres, escriviu el següent codi en negreta. Això executarà el codi python.

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

El text "Esperant connexions" hauria d'aparèixer al pi.

Inicieu BlueTerm i feu clic a la icona d'opcions i després al botó "cerca connexions".

A l'aplicació, hauria d'aparèixer el nom del raspberry pi. Feu clic al botó amb el nom del pi. El text "Connexió acceptada de" hauria d'aparèixer al pi seguit de la seva adreça. Ara, tot el que escriviu al telèfon, s'ha de mostrar al pi.

Heu codificat amb èxit el vostre propi sòcol de servidor Bluetooth.

Pas 4: l'aplicació d'Android (client Bluetooth)

L'aplicació Android (client Bluetooth)
L'aplicació Android (client Bluetooth)
L'aplicació Android (client Bluetooth)
L'aplicació Android (client Bluetooth)
L'aplicació Android (client Bluetooth)
L'aplicació Android (client Bluetooth)
L'aplicació Android (client Bluetooth)
L'aplicació Android (client Bluetooth)

Descarregueu Android Studio aquí. Instal·leu-lo i seguiu les instruccions de l'instal·lador.

Comenceu un nou projecte. Creeu una activitat en blanc anomenada MainActivity.

Copieu el contingut del fitxer adjunt "Logic.txt" al fitxer (pestanya) "MainActivity.java". Això conté tota la lògica que hi ha darrere de l'aplicació. És possible que hagueu de canviar el nom del dispositiu a la part inferior del fitxer.

A continuació, copieu el contingut del fitxer "GUI" al fitxer "activity_main.xml" (pestanya). Conté una GUI molt senzilla per a l'aplicació.

Ara haureu d’importar els botons de fletxa (imatges) a l’aplicació. Descomprimiu el fitxer adjunt Arrows.zip. A l’esquerra de Android Studio, obriu l’estructura de fitxers per veure l’aplicació, res, minimapa. Copieu les imatges de fletxa (fitxers PNG), feu clic amb el botó dret al minimapa del fitxer i enganxeu les imatges al fitxer, mantenint els noms de les fletxes iguals. Al finalitzar, hauria de semblar la imatge.

Finalment, copieu el contingut del fitxer "Manifest" al fitxer (pestanya) "AndroidManifest.xml".

Per provar l'aplicació, haureu d'executar-la al dispositiu. Per fer-ho, haureu d’establir el dispositiu en mode desenvolupador i habilitar la depuració USB. Per a la majoria de dispositius, haureu d'anar a "Configuració", "Quant al telèfon", desplaceu-vos fins a la part inferior i feu clic a "Número de compilació" set vegades fins que aparegui el missatge "Ara sou un desenvolupador". Torneu enrere i ara hauríeu de veure la pestanya "Opcions del desenvolupador". Feu-hi clic i activeu la depuració USB.

Connecteu el dispositiu Android a l'ordinador mitjançant USB, feu clic a la icona d'execució d'Android Studio i seleccioneu el dispositiu.

Al pi, inicieu el codi python creat al pas 3 escrivint l'ordre en negreta:

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

A continuació, feu clic al botó de connexió de l'aplicació. Quan estigueu connectat, ara haurien d'aparèixer algunes fletxes a l'aplicació. Sempre que en feu clic, s'actualitzarà l'estat "move" del pi.

Està bé si el fons de l'aplicació provoca un error. Això es solucionarà més endavant.

Acabeu de crear la vostra pròpia aplicació i el client Bluetooth.

Pas 5: Connexió del maquinari

Connexió del maquinari
Connexió del maquinari
Connexió del maquinari
Connexió del maquinari
Connexió del maquinari
Connexió del maquinari

Soldeu les connexions del diagrama anterior. Connecteu també el mòdul de la càmera al pi.

Executeu l'aplicació i executeu el fitxer moviments.py. Si els motors es mouen correctament quan s’utilitza l’aplicació, no dubteu a posar tots els components en una carcassa finalitzada per al dron. Pot ser que hàgiu de modificar els valors dels codis "HIGH" i "LOW" perquè es mogui correctament.

Al següent pas, afegirem la funció de transmissió del dron.

Pas 6: reproducció en temps real

Transmissió en temps real
Transmissió en temps real
Transmissió en temps real
Transmissió en temps real
Transmissió en temps real
Transmissió en temps real

Són múltiples maneres de transmetre un vídeo mitjançant un Pi, però utilitzar uv4l és, amb diferència, la forma més senzilla, sense pràcticament cap retard.

Només una nota lateral, si ja heu ajuntat el vostre dron i no el podeu connectar al monitor i al teclat, haureu de connectar SSH al vostre dron. Per fer-ho, descarregueu Putty al vostre ordinador. Obriu-lo i escriviu l'adreça IP del vostre raspberry (cerqueu l'adreça IP escrivint l'ordre ifconfig). Us demanarà un nom d’usuari i una contrasenya. El nom d'usuari i la contrasenya per defecte són pi i raspberry respectivament. Ara el que escriviu al quadre de comandaments serà com introduir comandes directament al dron.

configuració uv4l

Escriviu aquesta ordre:

sudo nano /etc/apt/sources.list

Afegiu la línia següent a la darrera línia del fitxer.

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

Sortiu i deseu el fitxer prement Ctrl-X i després escriviu Sí.

A continuació, escriviu la línia següent i premeu Retorn.

sudo apt-get update

llavors això:

sudo apt-get install uv4l uv4l-raspicam

Escriviu les ordres següents línia per línia. Espereu que acabi el que fa abans d’escriure a la següent línia.

sudo apt-get install uv4l-raspicam-extras

servei sudo uv4l_raspicam reinici

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

Després, tot el que heu de fer és escriure l'ordre següent per iniciar la transmissió (substituïu "raspberrypi" per l'adreça IP / nom d'amfitrió del raspberry a la vostra xarxa)

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

Aquesta acció començarà a transmetre vídeo en temps real al port 8080. La transmissió s'hauria de veure ara al fons de la vostra aplicació. Per veure el flux en qualsevol navegador, escriviu aquest URL (on "raspberrypi" és l'adreça IP del vostre drone).

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

Enhorabona, heu completat el vostre dron espia.

Pas 7: conduïu

Gireu l’interruptor d’alimentació i comenceu a explorar.

Si voleu saber fer una altra cosa, pregunteu-me i veuré què puc fer.

Si teniu alguna pregunta, comenteu-ho a continuació i faré tot el possible per respondre-les.

Gràcies per llegir!

Recomanat: