A remote monitoring system based on Raspberry Pi - this is an experimental project which may not be accomplished in a certain time period.
Project description: by this system you can use An Android App to control a Raspberry-Pi-based hardware to monitoring a place through the webcam connected to Pi, and you can control the webcam to rotate an angle to get a broader view.
The system is made of 2 parts:
pi-commander - An Android application(Coding work NOT started yet)
This is the UI for end users. It gives orders to Raspberry Pi, make it to execute some commands, receives result from it & display the result in the App.
pi-controller - A Raspberry-Pi-based hardware(Coding work ongoing but NOT done yet)
This is the backend monitoring part of the system. There is a webcam binded with a stepper motor, and the stepper motor is connected to Raspberry Pi, which can rotate according to the command from pi-commander, this will change the view angle of the system. The webcam can also take photos, and the photo will be sent to pi-commander, which means it will be displayed on the Android device.
I built this part with some Lego blocks, as the images shown below:
Before compiling the pi-controller project, you should have some software packages installed on your Arch Linux ARM(besides the basic development tools such as gcc, make, etc.):
git clone git://git.drogon.net/wiringPi && cd wiringPi && ./build
pacman -S opencv opencv-samples pkg-config
pacman -S google-glog
pacman -S libconfig
There is a JSON-RPC server runs on pi-controller, which accepts remote commands from pi-commander & executes them. So the pi-commander should send JSON format commands to pi-controller, when doing End-To-End test you should also use some tools(like curl) to do this. Description of the JSON data:
{"id":1442818183,"method":"rotateMotor","direction":1,"round":150,"validate":"38e4de9df62d7a7395340a22226a041944c1fdc570d05c356f9d9053b5271c4d1932d474a2bee342488a379058d96b4e5dcd13c15536566a242c5af70fa97ea7"}
in which,