In this Instructables I will show you how to turn your static IP Camera into moving IP Camera, you can control the movement of the camera and live video streaming at once from your Android. Actually this project was my final year project for college, this project was seriously complicated in a whole completed project, but in this instructables I just want to tell about controlling the movement of the camera.
This system is really effective for monitoring your kids/baby's room, your pets, or other rooms in your house for home security system. With Wi-Fi technology allowing you to view remotely and control camera with a Android App on your Smartphone or Tablet (Android). Requires wireless connection to the internet, for this system I'm using Router for local Wi-Fi network.
Please vote for me for Remote Control Contest and Epilog Challenge. Thank you :)
Okay, let's get started!
Step 1: Plans
As seen in the figure above, motor servo implemented directly on Arduino with Ethernet Shield, and the IP camera (we will put the camera on the top of the servo) implemented through the router. And this is a big disadvantage - because without a router, all operations with the camera will not work, for example in the street or anywhere outside the city. In the future, I will try to make a direct interaction without a router.
The interaction between the Android and the IP camera using Wi-Fi channel. The project is built on the Arduino and Ethernet shield. As an IP camera I used DLink DCS930 (40-45$).
Step 2: Parts and tools
Here is all you will need:
(1) Arduino UNO R3
(1) Ethernet Shield (with Wiznet W5100 chip)
(1) Servo bracket
(1) IP Camera
(1) Adaptor 5 or 12 V (for Arduino)
(1) Male to Female jumper wires
(1) Ethernet/LAN Cable (for IP Camera)
(1) Ethernet/LAN Cable (for Ethernet Shield)
Step 3: The Circuit
We just need one servo for this project. But if you want to make a pan/tilt camera you need another servo.
The circuit is very easy, you just need to stacking the Arduino with Ethernet shield.
From Servo to Arduino
- white / yellow (data) = pin digital 4
- red = 5v
- black = Gnd
The circuit diagram was made with Fritzing.
Step 4: Set up
Do the setting as seen in the figure above (see Picture 1)
Connect the IP Camera to the LAN Ports of the 3G/4G Router with Ethernet cable. (Picture 2)
Connect the Ethernet shield to the LAN Ports of the 3G/4G Router with Ethernet cable. (Picture 2)
Connect the power adapter to the power socket on the Router, and the other end into an electrical outlet. The Router will start to work automatically. (Picture 1)
Step 5: Assemble
Connect the servo cables to Ethernet shield (see Picture 1)
Connect the Ethernet/LAN cable to the LAN port of the Ethernet shield, and the other end into the LAN port of the 3G/4G router. (see Picture 2)
Attach the IP Camera to the servo bracket. I'm using cable ties to attach it. (see Picture 3)
Don't forget to tighten the servo with a screw. (see Picture 4)
Green led indicator means the IP camera already connect with the router. (see Picture 5)
Step 6: The Code (Microcontroller)
Upload the code into your Arduino. And don't forget to change the IP Address and Port of your Ethernet Shield with your own setting. (see Picture 1)
Step 7: Software (Android)
Software written in the open-source IDE Eclipse.
Project contains 2 activity: control the servo and view the live streaming video. To work with MJPEG stream, there are 2 classes: MjpegInputStream and MjpegView. To control the servo, there is 1 class: connectivity.java
IP-camera DLink DCS-930L gives a video stream in a format MJPEG (Motion JPEG), in which each frame is compressed using the popular JPEG image compression algorithm. At a resolution of the video stream 320x240, FPS is 25-30. For Android on the Internet has been found MJPEG class for processing and display of data in activity.
Open the ArduinoActivity.java and change the IP address and Port like on your Ethernet Shield. It should be the same IP address and Port number so your devices can communicate with each other. (see Picture 1 & Picture 2)
Still on the ArduinoActivity.java, change the URL of your IP camera. (see picture 3)
You can get the code from this link
Android project (Github)
Step 8: The Box
Because this project was a part of my final year project for college, I made the box from Acrylic with strange shapes (for some reason). The box as seen in the figure above, I put the Arduino, Ethernet shield and the power adaptor (for Arduino) inside the box. The servo was also attached at the top of the box.
p.s: Don't mind the other objects in the box, because that's my complete project for my final year project.
Okay, that's it. We're ready to control it.
Step 9: Control it!
This is the video of my Camera Surveillance Controller System.
(change the quality for a better view)
p.s: that's my room, it's messy and cramped. so sorry you have to see that. hehehe..