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.
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.
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.