TECH4GEEKS-LOGO-HEADER
Oxary Magazine
$10 – $15 / Week

Cómo crear un disparador de cámara Bluetooth Raspberry Pi

El nuevo Raspberry Pi Camera Module 3 ofrece una calidad de imagen excepcional y la posibilidad de elegir entre una lente estándar (75 grados) y una lente ancha (120 grados). Aún mejor, ahora tenemos enfoque automático. Tomar fotos con la Picamera2 es fácil, pero a veces solo queremos presionar un botón y tomar una foto, ¡y aparecer en la foto!

En este proyecto, usaremos Blue Dot, un módulo de Python y una aplicación de Android para crear un disparador de cámara controlado por Bluetooth. Gracias a la biblioteca fácil de usar de Blue Dot y la estructura detallada de Picamera2, capturaremos fotos de 1080p con una pequeña cantidad de código.

Contenido del sitio

Para este proyecto necesitarás

  • Una Raspberry Pi 3 o 4
  • Una cámara Raspberry Pi
  • Un dispositivo Android

Instalación del módulo de cámara Raspberry Pi

1. Abra el puerto de la cámara levantando suavemente el cierre de plástico hacia arriba.

Módulo de cámara Raspberry Pi

(Crédito de la imagen: Hardware de Tom)

2. Inserte el conector del cable con la pestaña azul hacia los puertos USB/Ethernet. Los usuarios de Raspberry Pi Zero deberán usar un adaptador y conectar la cámara al puerto en el lado derecho de la placa.

Módulo de cámara Raspberry Pi

(Crédito de la imagen: Hardware de Tom)

3. Cierre el bloqueo del conector y tire de él muy suavemente para asegurarse de que esté en su lugar.

4. Encienda la Raspberry Pi en el escritorio. Abra una terminal e instale las últimas actualizaciones de Picamera.

sudo apt update && sudo apt upgrade -y

5. Desde el terminal, verifica que tu cámara esté funcionando correctamente. El comando libcamera es útil para verificar rápidamente que nuestra cámara está conectada y funciona como se esperaba.

libcamera-hello

Instalación del punto azul

Blue Dot es la creación de Martin O’Hanlon y proporciona una manera realmente fácil de controlar de forma remota una Raspberry Pi. El nombre «Blue Dot» significa el gran punto azul que domina la pantalla del dispositivo Android. Vamos a usar Blue Dot como un gran botón azul para activar la cámara y tomar una foto.

  El teclado Raspberry Pi Pico tiene teclas OLED

1. En su dispositivo Android, abra Google Play Store y busque Blue Dot. Alternativamente Siga este enlace.

2. Instale Blue Dot en su dispositivo Android.

3. En tu Raspberry Pi, abra una terminal e instale la biblioteca Blue Dot Python.

sudo pip3 install bluedot

4. Vaya al menú de Bluetooth, haga clic derecho y seleccione «Hacer reconocible».

Disparador de cámara Bluetooth Raspberry Pi

(Crédito de la imagen: Hardware de Tom)

5. En su dispositivo Android, vaya a Configuración >> Dispositivos conectados y seleccione Emparejar nuevo dispositivo.

6. Seleccione «raspberrypi» y siga las instrucciones de emparejamiento. Si su Raspberry Pi tiene un nombre de host diferente, entonces «raspberrypi» no aparecerá, busque su nombre de host.

Disparador de cámara Bluetooth Raspberry Pi

(Crédito de la imagen: Hardware de Tom)

Con nuestro dispositivo Android y Raspberry Pi ahora conectados, escribiremos un script de Python rápido para verificar que Blue Dot pueda comunicarse entre los dos dispositivos.

1. abierto thonyque se encuentra en el menú principal en Programación.

2. Cree un nuevo archivo e importe la biblioteca Blue Dot Python.

from bluedot import BlueDot

3. Crear un objeto, cómic, que usaremos para trabajar con la biblioteca.

sudo pip3 install bluedot

4. Espere a que el usuario presione el botón azul. Esta línea de Python es un bloqueador. Esperará a que el usuario interactúe. Cuando esto sucede, el código salta a la siguiente línea.

bd.wait_for_press()

5. Imprime un mensaje en el shell de Python.

print("You pressed the blue dot!")

6. Guarde el código como bd-test.py y haga clic en Ejecutar. El código esperará una conexión desde nuestro dispositivo Android.

7. En su dispositivo Android, abra Blue Dot.

8. Seleccione el nombre de host de su Raspberry Pi. Esto suele ser «raspberrypi».

Disparador de cámara Bluetooth Raspberry Pi

(Crédito de la imagen: Hardware de Tom)

  Microsoft corrige Windows zero-day explotado en ataques de ransomware

9. Haga clic en el punto azul para activar la acción del código de Python. Debería ver un mensaje en el shell de Python.

Disparador de cámara Bluetooth Raspberry Pi

(Crédito de la imagen: Hardware de Tom)

Lista completa de códigos de prueba

from bluedot import BlueDot
bd = BlueDot()
bd.wait_for_press()
print("You pressed the blue dot!")

Crear un disparador de cámara con punto azul

Disparador de cámara Bluetooth Raspberry Pi

(Crédito de la imagen: Hardware de Tom)

El objetivo de este proyecto es crear un disparador de cámara con Blue Dot. Cuando se presiona el botón, se lanza una función en la Raspberry Pi que gestiona el disparo.

1. Cree un nuevo archivo e importe la biblioteca Blue Dot Python.

from bluedot import BlueDot

2. Importe Picamera2 y libcamera. La clase de vista previa se utiliza para generar ventanas de vista previa, útiles para encuadrar una toma. La clase de control libcamera nos permite usar el enfoque automático con el nuevo módulo de cámara 3.

from picamera2 import Picamera2, Preview
from libcamera import controls

3. Importe la función de pausa desde la señal, luego desde la biblioteca de tiempo. La pausa se utilizará para evitar que el código salga. El tiempo retrasará el código después de crear una ventana de vista previa, dándonos tiempo para enmarcar una toma.

from signal import pause
import time

4. Crear un objeto, cómic, que usaremos para trabajar con la biblioteca.

bd = BlueDot()

5. Crea un objeto, picam2, lo que nos permitirá utilizar fácilmente la librería Picamera2.

picam2 = Picamera2()

6. Defina una función, take_picture() que se usará para tomar una foto. Las funciones funcionan llamando a su nombre, lo que desencadena la ejecución de todos los pasos de la función.

7. Cree una configuración para que la cámara tome imágenes fijas. Esto establece el tamaño de la imagen en 1080p, mientras que las ventanas de vista previa serán de 720p.

   camera_config = picam2.create_still_configuration(main={"size": (1920, 1080)}, lores={"size": (1280, 720)}, display="lores")

8. Configure Picamera2 para usar la nueva configuración.

   picam2.configure(camera_config)

9. Inicie una ventana de vista previa con una resolución de 720p. Definimos la posición usando las coordenadas X e Y, de lo contrario, el valor predeterminado es 0.0. Ajuste esto para satisfacer sus necesidades.

   picam2.start_preview(Preview.QTGL, x=100, y=200, width=1280, height=720)

diez. Mostrar ventana de vista previa.

   picam2.start(show_preview=True)

11 Configure la cámara para usar el enfoque automático continuo. Tenga en cuenta que esto solo funciona con el módulo de cámara 3.

   picam2.set_controls({"AfMode": controls.AfModeEnum.Continuous})

12 Haga una pausa de dos segundos antes de capturar la imagen en un archivo llamado picam1.jpg.

   time.sleep(2)
   picam2.capture_file("picam1.jpg")

13 Cierre la ventana de vista previa y luego detenga Picamera2.

   picam2.stop_preview()
   picam2.stop()

14. Fuera de función, use la función «when_pressed» de Blue Dot para reaccionar a la entrada del usuario ejecutando la función take_picture.

bd.when_pressed = take_picture

15. Use pausa para detener la salida del código.

pause()

dieciséis. Guarde el código como bluedot_camera.py y haga clic en ejecutar para ejecutar el código. Verá que el código está esperando a que el dispositivo Android se conecte.

  Apple lleva las contraseñas de iCloud a Windows, Edge de Microsoft

17. En su dispositivo Android, punto azul abierto.

18 Seleccione el nombre de host de su Raspberry Pi. Esto suele ser «raspberrypi».

19 Haga clic en el punto azul para activar la cámara. Verá aparecer la ventana de vista previa y luego, dos segundos después, se guardará una imagen en la tarjeta micro SD. Las pulsaciones repetidas crearán una nueva imagen, pero dado que el nombre del archivo es el mismo, se sobrescribirá cada vez.

Lista completa de códigos.

from bluedot import BlueDot
from picamera2 import Picamera2, Preview
from libcamera import controls
from signal import pause
import time
bd = BlueDot()
picam2 = Picamera2()
def take_picture():
   camera_config = picam2.create_still_configuration(main={"size": (1920, 1080)}, lores={"size": (1280, 720)}, display="lores")
   picam2.configure(camera_config)
   picam2.start_preview(Preview.QTGL, x=100, y=200, width=1280, height=720)
   picam2.start(show_preview=True)
   picam2.set_controls({"AfMode": controls.AfModeEnum.Continuous})
   time.sleep(2)
   picam2.capture_file("picam1.jpg")
   picam2.stop_preview()
   picam2.stop()
bd.when_pressed = take_picture
pause()

Fuente

Etiquetas

Comparte en:

Ultimos Post

Categorias

Lorem ipsum dolor sit amet, consectetur adipiscing elit eiusmod tempor ncididunt ut labore et dolore magna

Deja una respuesta

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore