Project. Developer MUST have experience on Raspberry Pi B , arduino, or similar hardware. Must have knowledge of working with 3G USB modem sticks.
Short version. Link an IP camera to the mini computer, to store locally and FTP photos via 3G when network becomes available, request flat txt configuration file from server.
I like the Raspberry Pi due to its size and power requirements.
I know cameras can FTP to server, this particular one I'm using does not, and, i need local storage in case the network fails; plus configuration changes.
We will use an 720P IP camera that can output a jpg snapshot with example http://192.168.2.147/snapshot.cgi?chan=0 chan=1 to 3 produce smaller snapshots
each snapshot is about 80kb
The camera's ethernet port will be connected to the raspberry pi board.
The Pi board will have a USB 3G modem on it. use it for network access and share it with the camera, so that the camera can access NTP .
The board will boot on power up, try to connect to my server and pull its config file based on its serial or mac address or ID etc, if the config file is not reachable, it will default to the on board config.
This simple config file will tell the board whats the frequency for the snapshots, which resolution to use (chan=0), and where to dump them when network is available .
The board will http query the camera every N minutes (defined by the config file) and save the image on the on board SD card with a timestamped filename.
Check for network connection and upload via FTP to the config file provided URL. Log the fact that that file was successfully uploaded. Check for delayed uploads (see next line)
If no network connection was available, log the fact that that particular file was NOT uploaded.
If network connection is available later, try to upload not uploaded files, log acordingly.
If storage runs to 90% capacity start deleting old files (snapshots/logs)
It should try to reconnect if network connection is dropped. Saving bandwidth is important, but so is having up to date photos. Cell signal coverage might be shaky, so this part is important.
Possible live streaming.
We had a previous version of this device built with/on openWRT, it created a VPN to my server, and the server had firewall rules that allowed us to see a live stream of the webcam on demand from any PC/Mac/phone etc. Each user would connect to a camera with the same sever IP, but different port. ex 184.108.40.206:8081 :8082 etc
If you can pull that too, it would be great.
Dont quote this work on this project, but keep it in mind for version 2. (upgrade).
You deliverables will be software and instructions for me to build several of this units.
You have to prove you have raspberry pi or arduino hardware experience, i can mail one board for you, that you will ship when project is finished. I will have a board here to test your progress.
I will provide an FTP server to test the photo uploads, and a URL of the camera in question for you to test. I will not provide you with your own camera, you will have to test that the board shares its internet connection with your hardware.
Once I have a semi working version i will provide remote access to a local board with the camera and 3G modem. ( advice how, I'm unfamiliar with this on raspberry), for you to finish testing
I need a developer who is responsible, has good communication, has good sense of humor, is a born tinkerer, likes challenges, and provides suggestions. I also sometimes can't answer emails fast enough,
so bare with me on this. Im a good employer, do check my reviews. All drawer/copy/paste responses will be deleted immediately, show you did read the project and understand it.