0
\$\begingroup\$

I'm trying to design a camera system for use in my bike shed. The bikeshed is in range of wifi but has no power.

First I thought I could use a Raspberry Pi with a Picam, and have video streamed to an endpoint I have set up in Azure.

I quickly realised it consumes a lot of power and after less than a day the battery would be empty.

A few things to note:

  • I could maybe change the microcontroller, but from what I've heard the Arduino isn't powerful enough to record and stream video.
  • I can't use solar power or wind power as I don't have access to the roof and I feel this would give away the camera too.
  • I have no power sockets available so I'm relying on a power pack. Ideally, I don't want to be charging it more than once a week.
  • I considered using an Arduino to "wake" the raspberry pi. But with a boot time of around 20 seconds, it could miss crucial footage.

Using a raspberry pi seems like overkill to me. But as mentioned my lower power microcontrollers don't seem to be powerful enough to operate the camera.

\$\endgroup\$
  • 1
    \$\begingroup\$ rPi.SE has a question on how to reduce power consumption of the rPi. Did you try those options? \$\endgroup\$ – ratchet freak Oct 30 '18 at 16:06
  • \$\begingroup\$ Unless you can drastically constrain the problem or are willing to change out large batteries daily, this is basic unsolvable with commercial technology. A viable constraint might be using something like a door switch to activate the camera but then you would need something that starts up from a low power state in notime - a task at which a pi doubly fails. Perhaps a phone SoC, but more likely a fixed-function recorder like a keychain camera chip that doesn't have to boot a large operating system. \$\endgroup\$ – Chris Stratton Oct 30 '18 at 16:07
  • 1
    \$\begingroup\$ I was under the impression the chip on the pi had no low power (sleep) options. \$\endgroup\$ – Festivejelly Oct 30 '18 at 16:07
1
\$\begingroup\$

Long story short: There's no free lunch. For every bit you transmit wirelessly, you have to spend energy. The amount of power spent in the CPU is probably lower than what you have to spend to transfer the data.

Not to mention that the camera uses power too.

So: Use the camera and the wifi as little as possible. You probably have enough nice photographs of your bike shed. You don't need to know what it looks like when there's nothing moving in there.

Have a cheap PIR movement sensor, maybe attached to an actual low-power device (not an arduino board, typically these come with a lot of static power consumption, and also, Arduino is terrible at allowing you to actually put the MCU to sleep while you don't need it). With that, power up the camera and the pi only when needed. Suspend the Pi (or completely shut it down) when not in use.

I considered using an arduino to "wake" the raspberry pi. But with a boot time of around 20 seconds, it could miss crucial footage.

Get a different OS for your Pi. Boot time should not take more than 5 seconds. Also, have you ever heard of someone entering a bike shed and leaving with a bike within 20s? You could easily solve that issue with a low-tech solution like a 3-digit lock attached to a pole or something.

\$\endgroup\$
  • \$\begingroup\$ Actually an Arduino is fine for putting the MCU to sleep; it's the other stuff that takes some attention. The bigger problem is that an Arduino is far from capable of the task, and most hobbyist boards which are have too long a boot time and/or too high a sleep power consumption (or both in the case of a pi or most WiFi router chips). \$\endgroup\$ – Chris Stratton Oct 30 '18 at 16:10
  • \$\begingroup\$ So the camera wouldnt be used unless the arduino which is using a motion detector triggers it on one of the GPIO pins. My problem isnt the cost of the transmission, as that will only happen if someone goes into the shed. The issue is having the pi running constantly eating up valuable power. But waking up the pi takes 20 - 30 seconds which is too slow. \$\endgroup\$ – Festivejelly Oct 30 '18 at 16:13
  • \$\begingroup\$ I addressed the boot issue. I can't claim I've tried with the Pi, but really, a Linux system on such a SoC board shouldn't take 20s to boot. You don't need to boot a full graphical desktop Linux! \$\endgroup\$ – Marcus Müller Oct 30 '18 at 16:14
  • \$\begingroup\$ Oh I have a giant lock in there. It would take them at least 30 minutes to get it off. Maybe my requirements are a bit strict come to think of it. I shall look into maybe running a cut down version \$\endgroup\$ – Festivejelly Oct 30 '18 at 16:18
  • 1
    \$\begingroup\$ Sure, but an angle grinder makes quite a bit of noise. I have a new york kryptonite lock on there. Even with an angle grinder thats going to take longer than 30 seconds as you would need to make 2 cuts. But yeah if they have an angle grinder it would be a lot quicker than 30 minutes but also make a hell of a lot of noise. \$\endgroup\$ – Festivejelly Oct 31 '18 at 12:38
1
\$\begingroup\$

An Arduino is more than powerful enough to take high resolution images and send them via wireless to a base station.

  1. You need to look at serially controlled JPEG cameras based on the OV2640 which are easily driven from a basic ATMega328 based Arduino. You can get cameras with IR LEDs around them too. (here is an example from Ebay)
  2. Use an IR (or even better a Microwave) motion detector.
  3. Use something like an NRF24L01 wireless module with LNA/Power amplifier that can be quickly initialized (here is an Ebay example)
  4. Put the Arduino to sleep, and wake on motion detection or at a regular interval. The Arduino takes about 1-2 seconds to boot (but you can replace the bootloader and get this down to well under 1 second) so you could simply wake every 10 seconds for example and send an image ...or use a motion detector to boot the Arduino (though now you have to power the motion detector continuously of course)

Look for projects with the serial cameras, there are lots of them with already written libraries and code. You should have no problem getting a reasonable sized module that runs on batteries for a week.

\$\endgroup\$
  • \$\begingroup\$ Interesting, I guess all the processing can be done server side then. So its a serial camera is the thing that im interested in then. Thanks for the links they were helpful. I suppose I was overcomplicating the issue thinking I needed a device that did it all. \$\endgroup\$ – Festivejelly Oct 31 '18 at 12:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.