Low-Power Video Transmission Protocol for IoT -
i developing apparatus feeding , monitoring dog remotely. basic idea make using 2 main components:
the first component composed of camera pointing dog's plate , microcontroller servomotor open , close food door food container. in place there no wifi access nor power outlets, run on batteries. hope computing in component low possible, if can done without running on linux or other os great.
the second component communicate first 1 , router can access remotely via internet. 1 can plugged power outlet.
the usage of consist on me being able log on phone (with app create) second component show me live video , send signal through open food container door set amount of time. have 1 beaglebone black can use project, think apply on second component.
my questions:
1) protocol suitable communication between both components (bluetooth, zigbee, 6lowpan, etc)? camera 640*480 or higher , there no problem on delays (~ 15s - 20s) long can watch relatively continuous live video check dog eating , well. should low-power consuming possible batteries run long time.
2) there way make first component able stream video without running os?
i know there more logical solutions (extend wifi network, buy on market solution, etc) wishing use project learning instance iot well. have done research, have not been able land on convincing conclusions. hope guys can me on or @ least point me on right direction. (and dog) grateful.
thank much.
video
the first thing need know video? summary video byte stream containing images taken camera interval. each image named after frame. video stream has resolution , colour profile , applies frames. example rgb image 24 bits means each channel (red, green, blue) has 8 bits color indication.
as query states resolution 640x480, rgb raw image contains:
640 * 480 * 3 = 921600 bytes video without compression 24 fps (frames per second) produce 921600 * 24 = 22.118.400 bytes per second. require bandwidth of (ideally): 22.118.400 * 8 = 176.947.200 bits 168,75 mbits but don't worry. there compression formats (like jpeg) , reduce total number of image bytes. compression depends on conditions light, resolution, detail, etc. needs tested calculate total byte count calculate required bandwidth. there ttl camera modules (ask google serial camera module arduino or ttl serial jpeg camera). these modules can output video or still images , can configured. these modules has ttl serial interface. important part.
transfer
the xbee (which popular) or nrf*** based wireless transmission protocols and/or modules have ttl serial interfaces. according datasheets can transfer baud rates 3mbits per second. go video byte size calculation. need module (xbee or similar) can support data camera.
at basic level first component can contain these components:
ttl_camera -> xbee + battery + regulators and second component
xbee -> beaglebone -> internet connection but question states on first component there servo motor connected needs mcu present on first component side. (xbee has gpio ports i'm not sure if can control them remotely drive servo) first component can modified this:
ttl_camera -> arduino pro mini -> xbee + battery + regulators communication
between first component , second component there must communication protocol enable beaglebone control first component. opinion need switch on , off camera, video stream. need control servo motor. protocol schema can this:
site_2 --> site_1 (control commands) site_1 --> site_2 ( *only* video stream ) so connection schema can this:
cam_tx --> xbee_rx arduino_rx --> xbee_tx arduino_tx --> cam_rx conclusion
with config, able achieve video stream site_1 , control site_1 site_2 on internet. think start learning project.
Comments
Post a Comment