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

Scientists have finally figured out how to charge an EV in less than 10 minutes

It may take only five minutes to fill the gas tanks. In contrast, electric vehicles connected to an EV charger can take anywhere from 15 to 30 minutes to

Apple’s car is favored by consumers before it even exists – 26% would consider buying one from an iPhone maker – as firm hires former VP of Hyundai’s autonomous vehicle lab

Apple's non-existent self-driving car is already being adopted by consumers as a new survey shows that 26 percent of drivers would 'definitely consider'

The great paradox of the gas cap: why we have come out ahead despite having to pay more than ever

What we save on one side, we pay for on the other. The cap on gas has helped lower the price of a megawatt hour of energy, but the additional compensation to

AMD Ryzen 5 7600X Stock and 5.6 GHz OC CPU Benchmark Leaked Out, Equivalent to Core i9-12900K in Single-Threaded Test

More benchmarks of AMD's Ryzen 5 7600X CPUs in stock and overclocked configurations have leaked to Bilibili.

Google Drive: the steps to share a file as a link from the app

google drive It is one of the most feasible options to store and send any type of file, photos, videos, among others. This because the apps It features