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.