How to make bluetooth raspberry pi camera trigger


The new Raspberry Pi Camera Module 3 offers exceptional image quality and a choice between a standard (75) and wide (120) lens. Best of all, we now have autofocus. Taking pictures with PiCamera2 Simple, but sometimes we just want to press a button and take a picture, and be in the shot!

In this project we will be using Blue Dot, a Python module, and an Android app to create a Bluetooth controlled camera trigger. Thanks to Blue Dot’s easy-to-use libraries and piCamera2’s verbose structure, we’ll be able to capture 1080p photos through a small amount of code.

for this project you will need

  • a raspberry pi 3 or 4
  • a raspberry pi camera
  • an Android device

Installing the Raspberry Pi Camera Module

1. open camera port By gently lifting the plastic lock upwards.

(Image credit: Tom’s Hardware)


2. Insert the ribbon connectors with the blue tabs on the front of the USB/Ethernet ports. Raspberry Pi Zero users will need to use an adapter and connect the camera to the port on the right side of the board.

(Image credit: Tom’s Hardware)

3. lock on connector And give it a very gentle tug to make sure it’s in place.

4. Power up the Raspberry Pi to the desktop. Open a terminal and install the latest Picamera update.

sudo apt update && sudo apt upgrade -y

5. From Terminal, check that your camera is working properly. The libcamera command is handy for quickly checking that our camera is connected and working as expected.

libCamera-hello

set up blue dot

Blu Dot is the creation of Martin O’Hanlon and it provides a really simple means of controlling the Raspberry Pi remotely. The name “Blue Dot” represents the large, blue dot that dominates the screen of Android devices. We’re going to use the blue dot as a big, blue button to trigger the camera to take a picture.

1. Open the Google Play Store on your Android device and search for Blue Dot. Alternative follow this link.

2. Install Blue Dot on your Android device.

3. On your Raspberry Pi, Open a terminal and install Blue Dot’s Python library.

sudo pip3 install bluedot

4. Go to the bluetooth menu, right click and select “Make Discoverable”.

(Image credit: Tom’s Hardware)

5. On your Android device, go to Settings >> Connected devices and select Pair new device.

6. Select “RaspberryPi” and follow the pairing instructions. If your Raspberry Pi has a different hostname, “RaspberryPi” will not appear, look for your hostname.

(Image credit: Tom’s Hardware)

With our Android device and Raspberry Pi now connected we will write a quick Python script to test that the Blue Dot can communicate between the two devices.

1. open the walletFound in the main menu under programming.

2. Create a new file and import Blue Dot Python Library.

import bluetooth to bluetooth

3. create an object, bd, Which we will use to work with the library.

sudo pip3 install bluedot

4. Wait for the user to press the blue button. This line of python is blocking. It will wait until the user interacts. When this happens the code moves to the next line.

bd.wait_for_press()

5. Print a message to the Python shell.

print(“You hit the blue dot!”)

6. Save the code as bd-test.py and click Run. The code will wait for a connection to our Android device.

7. On your Android device, open Blue Dot.

8. Select the hostname of your Raspberry Pi. Usually it’s “RaspberryPi”.

(Image credit: Tom’s Hardware)

9. Click on the blue dot to trigger the Python code into action. You should see a message in the Python Shell.

(Image credit: Tom’s Hardware)

full test code list

from Bluedot import Bluedot bd = Bluedot() bd.wait_for_press() print(“You pressed Blue Dot!”)

Creating Camera Triggers with Blu Dot

(Image credit: Tom’s Hardware)

The goal of this project is to create a camera trigger with blue dot. When the button is pressed a function is launched on the Raspberry Pi which serves to take a picture.

1. Create a new file and import Blue Dot Python Library.

import bluetooth to bluetooth

2. Import picamera2 and libCamera. The Preview class is used to generate a preview window, which is useful for framing a shot. The Controls class from libcamera enables us to use autofocus with the new CameraModule 3.

picamera2 import from picamera2 preview from libcamera import controls

3. Import the pause function from the Signal and then Time libraries. pause will be used to prevent the code from exiting. will delay the time code after the preview window is created, giving us time to frame the shot.

stop import time from signal import

4. create an object, bd, Which we will use to work with the library.

bd = bluedot()

5. create an object, picam2, Which will enable us to use Picamera2 library easily.

picam2 = picamera2()

6. Define a function, take_picture() which will be used to take the picture. Functions work by calling their name, this triggers the function to run through all the steps within it.

7. Create a configuration for the camera to take still images. This sets the image size to 1080p, while the preview window will be 720p.

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

8. Set up Picamera2 to use the new configuration.

picam2.configure(camera_config)

9. Start the preview window with 720p resolution. We set the position using the X and Y coordinates, otherwise it defaults to 0,0. Tweak it to fit your needs.

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

10. show preview window,

picam2.start(show_preview=True)

1 1 Set the camera to use continuous autofocus. Note, this only works with Camera Module 3.

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

12. Wait for two seconds before capturing the image to a file called picam1.jpg.

time.sleep(2) picam2.capture_file(“picam1.jpg”)

13. Close the preview window and then close Picamera2.

picam2.stop_preview()

14. Out of function, Use Blue Dot’s “when_pressed” function to react to user input by running the take_picture function.

bd.when_pressed = take_picture

15. Use pause to stop the code from exiting.

stop()

16. save the code as bluedot_camera.py and click run to start the code. You will see that the code is waiting for the Android device to connect.

17. On your Android device, Open Blue Dot.

18. Select the hostname of your Raspberry Pi. Usually it’s “RaspberryPi”.

19. click on blue dot to trigger the camera. You’ll see a preview window and then, two seconds later, an image will be saved to the micro SD card. Pressing repeatedly will create a new image, but as the file name is the same it will be overwritten each time.

full code list

import bluedot from picamera2 from bluetooth import picamera2 preview from libcamera signal import pos import control time bd = bluedot() picam2 = picamera2() def take_picture(): camera_config = picam2.create_still_config(main = { “size” : (1920) , 1080)}, lore = {“size”: (1280, 720)}, display = “lores”) picam2. , height = 720) picam2.start(show_preview=True) picam2.set_controls({“AfMode”: control.AfModeEnum.Continuous}) time.sleep(2) picam2.capture_file(“picam1.jpg”) picam2.stop_preview() picam2.stop() bd.when_pressed = take_picture pause()

Source


Related News

Are you looking for the mobiles with the best sound quality of 2023? 5 recommended

Not many users give interest or priority to the sound quality that a smartphone can offer. However, if you are the type of user who does look for mobile

Using the air conditioning in winter to save electricity: when is it a good idea and how to set it up

Using the fan in winter is a good idea that allows us to save on heating, but it is not the only device that can give us joy during the cold months. Thus, our

We’ve been discussing the end of ‘Titanic’ for decades. James Cameron just solved it for good

"Based on what I know today, it would have made the board smaller": For both James Cameron and other moviegoers, the end of Titanic (more specifically the

Astronomers discover 12 new moons around Jupiter, taking the total to 92

Cape Canaveral, Fla. (AP) - Astronomers have discovered 12 new moons around Jupiter, bringing the total to a record-breaking 92.

Save $1,000 on Hisense’s 100L9G-CINE100A 4K UHD Laser TV

Get the ultimate Super Bowl experience with a new Hisense 100L9G-CINE100A 4K UHD Laser TV and other great products