Electronic – Low-Power Video Transmission for IoT

beaglebonecamerainternetvideovideo-transmitter

I am currently developing an apparatus for feeding and monitoring my dog remotely. The basic idea is to make this using 2 main components:

  • The first component will be composed of a camera pointing to my dog's plate and a microcontroller with a servomotor which will open and close the food door from the food container. In this place there is no WIFI access nor power outlets, so it will run on batteries. I hope the computing in this component to be as low as possible, so if it can be done without it running on linux or other OS it would be great.

  • The second component will communicate with the first one and with my router so I can access it remotely via Internet. This one can be plugged to a power outlet.

The usage of this would consist on me being able to log on my phone (with an app I create) to the second component for it to show me the live video and send a signal through it to open the food container door for a set amount of time. I have one BeagleBone Black I can use for this project, which I think I will apply on the second component.

My questions:

1) What protocol would be suitable for the communication between both components (bluetooth, zigbee, 6lowpan, etc)? The camera will probably be 640*480 or higher and there is no problem on delays (~ 15s – 20s) as long as I can watch relatively continuous live video to check my dog is eating and well. It should be as low-power consuming as possible for batteries to run a long time.

2) Is there any way to make the first component be able to stream the video without it running an OS?

I know there are some more logical solutions (extend the wifi network, buy an already on market solution, etc) but I am wishing to use this project as a learning instance for IoT as well. I have done research, but have not been able to land on any convincing conclusions. I hope you guys can help me on this or at least point me on the right direction. I (and my dog) will be very grateful.

Thank you very much.

Best Answer

Sending streaming video tends to use some resources. I have streamed video on an intel galileo and that used about 0.5 amps. There is a way to stream without using an OS, but integrating that into your digital system wouldn't be very cohesive. I have one of these wireless video for my backup camera eBay backup cam, but the range is not very good. I think you'll need processing on that end with a raspberry pi or something.

But running this off battery power, you'll want a small solar setup with it. You could have that device on the local network where it feeds the video. I know you said it won't have WIFI, but let's be honest. You're not sending live video over bluetooth. You might be able to send an image or two, but a stream would take some intense coding skills (it is possible but very slow).

As far as the beaglebone goes, look into setting it up as a server. It's pretty simple with raspi, intel galileos but I've never used a beaglebone as a server. From there is where you'll want to send those bluetooth commands to the servo.