Taula de continguts:
- Pas 1: el maquinari
- Pas 2: Configuració del Raspberry Pi
- Pas 3: Gestió de moviments (servidor Bluetooth)
- Pas 4: l'aplicació d'Android (client Bluetooth)
- Pas 5: Connexió del maquinari
- Pas 6: reproducció en temps real
- Pas 7: conduïu
Vídeo: Drone amb tecnologia Raspberry Pi, Android, IoT i Bluetooth: 7 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:13
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
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
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)
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)
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
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
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:
Pantalla de jocs LED de fusta amb tecnologia Raspberry Pi Zero: 11 passos (amb imatges)
Pantalla de jocs LED de fusta amb tecnologia Raspberry Pi Zero: aquest projecte realitza una pantalla LED basada en WS2812 de 20x10 píxels amb una mida de 78x35 cm que es pot instal·lar fàcilment a la sala per jugar a jocs retro. La primera versió d’aquesta matriu es va construir el 2016 i va ser reconstruïda per moltes altres persones. Aquesta experiència
Drone Raspberry Pi controlat per veu amb IoT i AWS: 6 passos (amb imatges)
Drone Raspberry Pi controlat per veu amb IoT i AWS: Hola! Em dic Armaan. Sóc un noi de 13 anys de Massachusetts. Aquest tutorial mostra, com es pot deduir del títol, com construir un dron Raspberry Pi. Aquest prototip demostra com evolucionen els drons i també el gran paper que podrien tenir a
Llum solar de baixa tecnologia amb bateries reutilitzades: 9 passos (amb imatges)
Llum solar de baixa tecnologia amb bateries reutilitzades: aquest tutorial us permet fabricar una làmpada solar equipada amb un carregador USB. Utilitza cèl·lules de liti que es reutilitzen des d’un ordinador portàtil vell o malmès. Aquest sistema, amb un dia de llum solar, pot carregar completament un telèfon intel·ligent i tenir 4 hores de llum. Aquesta tècnica
Feu clic de text a veu sobre un UChip amb tecnologia ARMbasic i altres SBC amb tecnologia ARMbasic: 3 passos
Feu clic en text a veu sobre una UChip amb tecnologia ARMbasic i altres SBC amb tecnologia ARMbasic: Introducció: Bon dia. Em dic Tod. Sóc un professional de l’aeroespacial i de la defensa que també té una mica de friki. Inspiració: prové de l’era de BBS de marcatge, microcontroladors de 8 bits, ordinadors personals Kaypro / Commodore / Tandy / TI-994A, quan R
Rastrejador de pel·lícules: seguiment de llançaments teatrals amb tecnologia Raspberry Pi: 15 passos (amb imatges)
Rastrejador de pel·lícules: Rastrejador de llançaments teatralitzats amb tecnologia Raspberry Pi: Rastrejador de pel·lícules és un rastrejador de llançaments alimentat per Raspberry Pi en forma de claqueta. Utilitza l'API TMDb per imprimir el pòster, el títol, la data de llançament i la visió general de les properes pel·lícules de la vostra regió, en un interval de temps especificat (per exemple, estrenes de pel·lícules aquesta setmana) el