Tabla de contenido:

Drone con Raspberry Pi, Android, IoT y Bluetooth: 7 pasos (con imágenes)
Drone con Raspberry Pi, Android, IoT y Bluetooth: 7 pasos (con imágenes)

Video: Drone con Raspberry Pi, Android, IoT y Bluetooth: 7 pasos (con imágenes)

Video: Drone con Raspberry Pi, Android, IoT y Bluetooth: 7 pasos (con imágenes)
Video: Raspberry Pi IOT Con Firebase, Python y Android 2024, Mes de julio
Anonim
Drone con tecnología Raspberry Pi, Android, IoT y Bluetooth
Drone con tecnología Raspberry Pi, Android, IoT y Bluetooth
Drone con Raspberry Pi, Android, IoT y Bluetooth
Drone con Raspberry Pi, Android, IoT y Bluetooth
Drone con tecnología Raspberry Pi, Android, IoT y Bluetooth
Drone con tecnología Raspberry Pi, Android, IoT y Bluetooth
Drone con tecnología Raspberry Pi, Android, IoT y Bluetooth
Drone con tecnología Raspberry Pi, Android, IoT y Bluetooth

Usando una Raspberry Pi para la lógica a bordo, esta computadora móvil compacta, creará un puerto local que transmite un video en tiempo real mientras crea simultáneamente enchufes Bluetooth para leer los valores enviados por una aplicación personalizada de Android. La aplicación se sincroniza con el dron y utiliza la entrada del usuario para enviar instrucciones al dron al instante.

Este proyecto es bastante difícil de realizar desde cero. Con suerte, la siguiente información proporcionará información para múltiples aplicaciones de drones. Se proporciona todo el software y los diseños de circuitos pertenecientes a este proyecto. Siéntase libre de modificar y compartir el código a su gusto. Utilice la información proporcionada de manera responsable y no dude en dejar un comentario a continuación.

Paso 1: el hardware

El hardware
El hardware
El hardware
El hardware
El hardware
El hardware
El hardware
El hardware

A continuación se muestra la lista de hardware que utilicé.

  • Raspberry Pi 3 Modelo B
  • Módulo de cámara Raspberry PI
  • Controlador de motor L298N
  • 2, motores de CC
  • Un teclado, cualquier monitor, mouse, cable Ethernet y cable HDMI (para el pi)
  • Tarjeta MicroSD de 8GB
  • Tornillos, cinta, etc.
  • 2 ruedas
  • Un dispositivo Bluetooth Android (mi teléfono)
  • 2, 18650 celdas
  • Un regulador de 5 voltios
  • Una computadora para programar la aplicación

Una Raspberry Pi: para resoluciones de flujo más altas (o para principiantes), recomendaría la versión más nueva del modelo B, mientras que las versiones más compactas pueden usar el Modelo A + más nuevo o el Pi Zero (versión de cámara). Recuerda que si usas una raspberry pi zero, necesitarás un dongle Bluetooth y / o WiFi para ello. Este tutorial asumirá que estás usando una Raspberry Pi 3 B.

Un controlador de motor: utilicé un L298N, aunque cualquier controlador de motor debería funcionar. Solo asegúrese de que pueda manejar el voltaje y la corriente de su motor.

2 motores de CC: asegúrese de que puedan soportar el peso de su dron.

Un cuerpo: Se usa para contener todos los componentes. Por lo general, el plástico duro o el aluminio es un material duradero y liviano para usar. Para obtener resultados óptimos, incluso se puede utilizar una impresora 3D.

Una fuente de energía: casi siempre es la decisión más difícil a la hora de elegir piezas. La batería requerida depende del consumo de corriente. Para aplicaciones de baja potencia (como 1 o 2 amperios), una batería de 9 voltios debería ser suficiente. Para un amperaje más alto, recomiendo una celda de iones de litio 18650 o una batería de polímero de litio, ya que son livianas, pueden contener mucha energía para su tamaño y son recargables.

2 ruedas: solo asegúrese de que sus ruedas tengan el mismo tamaño de orificio que el eje de su motor. También asegúrese de que los diámetros de las ruedas sean lo suficientemente grandes para su dron. Dado que existen múltiples variaciones y diseños posibles para este proyecto, existen múltiples tipos y tamaños de ruedas diferentes para usar.

Reguladores de voltaje: se requiere un regulador de 5 voltios para alimentar el pi a través de una batería. Usé un convertidor reductor DC-DC LM2596.

La mayoría de los productos de los enlaces se utilizaron en este proyecto y fueron las mejores ofertas que pude encontrar en ese momento.

Ahora que tiene todo lo que necesita, configuremos el pi.

Paso 2: Configurar la Raspberry Pi

Configuración de la Raspberry Pi
Configuración de la Raspberry Pi
Configuración de la Raspberry Pi
Configuración de la Raspberry Pi
Configuración de la Raspberry Pi
Configuración de la Raspberry Pi

Este paso le mostrará cómo configurar la Raspberry Pi para que pueda comenzar a codificar. Si ya tiene una configuración de pi con Raspbian, no dude en pasar al siguiente paso.

Primero, necesitas descargar un sistema operativo para la frambuesa. Obtén NOOBS si eres principiante. Si ya tiene una experiencia notable con una Raspberry Pi, es posible que le interese Raspbian. Asumiré que está utilizando NOOBS para este tutorial.

Mientras se descarga, formatee su tarjeta SD con SD Formatter.

Ahora extraiga y copie el contenido de la descarga en la raíz de su tarjeta SD. Raíz simplemente significa que no está dentro de ninguna carpeta. Si se creó una nueva carpeta para contener todos los archivos extraídos, cópiela en ese archivo.

A continuación, conecte la tarjeta SD al pi. Mientras lo inserta, debe hacer "clic" o simplemente sentarse dentro de la parte inferior del pi.

Conecte su mouse y teclado a la pi. Luego, conecte un cable HDMI al pi desde un monitor. Finalmente, conecte un adaptador de enchufe de pared micro USB de 3 amperios en el pi. Aunque se recomienda un enchufe de pared, utilicé mi computadora portátil como fuente de alimentación (USB de mi computadora portátil a Micro USB en el pi).

Deja que el pi haga lo suyo. Si se le solicita, seleccione Raspbian y deje que se instale. Siga las instrucciones del instalador. Puede que tarde un poco en completarse. Si todo va bien, debería ver una pantalla de escritorio similar a la de arriba.

Conecte un cable Ethernet de su enrutador al pi. Luego abra la línea de comando (el icono de "cuadro" negro en la parte superior de la pantalla). Deberá actualizar el pi a través de una red cableada para conectarlo a una red inalámbrica.

Luego haga clic en el icono de Cable en la parte superior de la pantalla. Escriba los detalles de su red cuando se le solicite.

Escriba el texto en la siguiente línea exactamente como se muestra y presione enter. Esto actualizará el pi. Puede que tarde un poco. Deja que haga lo suyo.

sudo apt-get update

Luego escriba el código en la siguiente línea. Esto también llevará algún tiempo. No hagas nada hasta que haya terminado.

sudo apt-get dist-upgrade

Ahora debería poder desconectar el cable Ethernet, hacer clic en el ícono inalámbrico en la parte superior de la pantalla, ingresar la información de su red y finalmente conectarse a su red vía inalámbrica.

Ahora codifiquemos la parte del dron que maneja los movimientos.

Paso 3: Manejo de movimientos (servidor Bluetooth)

Manejo de movimientos (servidor Bluetooth)
Manejo de movimientos (servidor Bluetooth)

Para el manejo de movimientos se utiliza el lenguaje de programación "Python 3". Los mensajes que le dicen al robot que se mueva se enviarán a través de Bluetooth desde la aplicación.

Primero, necesita instalar la biblioteca de Bluetooth. Escriba los siguientes comandos para hacerlo.

sudo apt-get update

sudo apt-get instalar bluetooth

sudo apt-get install bluez

sudo apt-get install python-bluez

Ahora, desde el escritorio, haga clic en el ícono del menú de inicio, luego en Programación, luego en Python 3. Luego, en la barra de herramientas, haga clic en Archivo, nuevo. Debería aparecer una nueva ventana.

Copie el contenido del archivo adjunto "bluetoothpi.rtf" en la ventana.

En la barra de herramientas, haga clic en Archivo, Guardar como. Guárdelo en el directorio / home / pi / Desktop / como movimientos.py.

Ahora, para probar el código, haga clic en el icono de Bluetooth en la esquina superior derecha de la pantalla. Empareja la raspberry pi con tu dispositivo Android. Descargue una aplicación llamada BlueTerm en su dispositivo Android. Luego, en la línea de comando, escriba el siguiente código en negrita. Esto ejecutará el código de Python.

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

El texto "Esperando conexiones" debería aparecer en el pi.

Inicie BlueTerm y haga clic en el icono de opciones y luego en el botón "buscar conexiones".

En la aplicación, debería aparecer el nombre de tu raspberry pi. Haga clic en el botón con el nombre del pi. El texto "Conexión aceptada desde" debería aparecer en el pi seguido de su dirección. Ahora, lo que sea que escriba en el teléfono, debería mostrarse en el pi.

¡Ha codificado correctamente su propia toma de servidor Bluetooth!

Paso 4: la aplicación de Android (cliente Bluetooth)

La aplicación de Android (cliente Bluetooth)
La aplicación de Android (cliente Bluetooth)
La aplicación de Android (cliente Bluetooth)
La aplicación de Android (cliente Bluetooth)
La aplicación de Android (cliente Bluetooth)
La aplicación de Android (cliente Bluetooth)
La aplicación de Android (cliente Bluetooth)
La aplicación de Android (cliente Bluetooth)

Descarga Android Studio aquí. Instálelo y siga las instrucciones dadas en el instalador.

Empiece un nuevo proyecto. Cree una actividad en blanco llamada MainActivity.

Copie el contenido del archivo adjunto "Logic.txt" en el archivo (pestaña) "MainActivity.java". Esto contiene toda la lógica detrás de la aplicación. Es posible que deba cambiar el nombre de su dispositivo en la parte inferior del archivo.

Luego copie el contenido del archivo "GUI" en el archivo "activity_main.xml" (pestaña). Este contiene una GUI muy simple para la aplicación.

Ahora deberá importar los botones de flecha (imágenes) a la aplicación. Descomprima el archivo adjunto Arrows.zip. A la izquierda de Android Studio, abra la estructura de archivos para ver app, res, minimap. Copie las imágenes de las flechas (archivos PNG), haga clic derecho en el minimapa del archivo y pegue las imágenes en el archivo, manteniendo los nombres de las flechas iguales. Debería verse como la imagen cuando termine.

Finalmente copie el contenido del archivo "Manifest" a su archivo "AndroidManifest.xml" (pestaña).

Para probar la aplicación, deberá ejecutarla en su dispositivo. Para hacer esto, deberá configurar el dispositivo en modo desarrollador y habilitar la depuración USB. Para la mayoría de los dispositivos, deberá ir a "Configuración", "Acerca del teléfono", desplácese hasta la parte inferior y haga clic en "Número de compilación" siete veces hasta que vea el mensaje "¡Ahora es un desarrollador!" Regrese y ahora debería ver una pestaña "Opciones de desarrollador". Haga clic en él y habilite la depuración USB.

Conecte su dispositivo Android a su computadora a través de USB, haga clic en el icono de ejecución en Android Studio y seleccione su dispositivo.

En el pi, inicie el código de Python creado en el paso 3 escribiendo el comando en negrita:

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

Luego haga clic en el botón de conexión en la aplicación. Cuando esté conectado, ahora deberían aparecer algunas flechas en la aplicación. Siempre que haga clic en uno, actualizará el estado de "movimiento" del pi.

Está bien si el fondo de la aplicación da un error. Esto se solucionará más tarde.

Acaba de crear su propia aplicación y cliente Bluetooth.

Paso 5: Conexión del hardware

Conexión del hardware
Conexión del hardware
Conexión del hardware
Conexión del hardware
Conexión del hardware
Conexión del hardware

Suelde las conexiones en el diagrama de arriba. Conecte el módulo de la cámara al pi también.

Ejecute la aplicación y ejecute el archivo movement.py. Si los motores se mueven correctamente al usar la aplicación, no dude en colocar todos los componentes en una carcasa finalizada para el dron. Es posible que deba modificar los valores de los códigos "HIGH" y "LOW" para que se mueva correctamente.

En el siguiente paso, agregaremos la función de transmisión del dron.

Paso 6: Streaming

Transmisión
Transmisión
Transmisión
Transmisión
Transmisión
Transmisión

Hay varias formas de transmitir un video usando una Pi, pero usar uv4l es, con mucho, la forma más fácil y prácticamente sin demoras.

Solo una nota al margen, si ya ha armado su dron y no puede conectarlo a su monitor y teclado, necesitará SSH en su dron. Para hacer esto, descargue Putty en su computadora. Ábralo y escriba la dirección IP de su frambuesa (busque la dirección IP escribiendo el comando ifconfig). Le pedirá un nombre de usuario y una contraseña. El nombre de usuario y la contraseña predeterminados son pi y raspberry respectivamente. Ahora, cualquier cosa que escriba en el cuadro de comando será como ingresar comandos directamente en el dron.

configurando uv4l

Escriba este comando:

sudo nano /etc/apt/sources.list

Agregue la siguiente línea en la última línea del archivo.

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

Salga y guarde el archivo presionando Ctrl-X y luego escribiendo Sí.

Luego escriba la siguiente línea y presione enter.

sudo apt-get update

luego esto:

sudo apt-get install uv4l uv4l-raspicam

Escriba los siguientes comandos línea por línea. Espere a que termine lo que está haciendo antes de escribir en la siguiente línea.

sudo apt-get install uv4l-raspicam-extras

reinicio del servicio sudo uv4l_raspicam

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

Después de eso, todo lo que tiene que hacer es escribir el siguiente comando para comenzar a transmitir (reemplace "raspberrypi" con la dirección IP / nombre de host de la frambuesa en su red)

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

Esto comenzará a transmitir video en tiempo real en el puerto 8080. La transmisión debería verse ahora en el fondo de su aplicación. Para ver la transmisión en cualquier navegador, escriba esta URL (donde "raspberrypi" es la dirección IP de sus drones).

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

Felicidades, has completado tu dron espía.

Paso 7: ¡Conduce

Activa el interruptor de encendido y comienza a explorar.

Si quieres saber cómo hacer otra cosa, pregúntame y veré qué puedo hacer.

Si tiene alguna pregunta, comente a continuación y haré todo lo posible para responderla.

¡Gracias por leer!

Recomendado: