Ask HackADay: Network Security Camera

Today we received the question,

“How to control a web cam via internet,
i want to use it for security reasons, always out of the house and my PC connected want to open the cam from time to time to checkout if something wrong!!”

– [Mohamed Saleh]

What a fun project we thought! And so many different ways of tackling it. Find out what we suggested to [Mohamed] after the break.

Initially we wanted to create an extremely complicated setup, using a USB camera, server, webhosting, and a ton of scripts/programming to create a rather sweet camera setup.

But of course, complication breads problems, and while digging through our box of parts and supplies we stumbled upon an old Axis 206 IP Network Camera. What could be easier than all of the above built into one slick device!

The camera comes with an Ethernet cable, wall-wort for power, and a CD with instructions – we just threw the latter away and winged it, by finding out how to reset the device, then its default ip, we had view of the camera within our network in no time.

A simple port forward of 80 and we could view it outside of our network (so long as we typed in our IP). What we would recommend however, is setting up a DNS (DynDNS is great) service on a computer within the network that points to the cameras IP. That way the URL becomes, a lot easier than (Both are fake URLs sorry).

Taking it further, if you had a computer nearby you could setup a simple stepper motor and control the position of the camera.

This is of course our take on the matter and part of Ask HackADay is what our readers would do, so how would you setup a home security camera?

75 thoughts on “Ask HackADay: Network Security Camera

  1. @ pittom

    Do those cameras require internet exploder to run the pan tilt, or even view the stream? I had one of the older Cisco cams that was that way. Completely useless to me.

  2. The Axis camera uses an Axis ETRAX SoC, which has an OpenWRT build available. You could then run whatever software you want inside the camera itself, eliminating the need for a separate computer for performing tasks like motion sensing. The ETRAX SoC also has plenty of GPIOs, so if you poke around on the board you may be able to locate them and get the camera to control its own pan/tilt assembly. You could also use one of the serial ports I am sure are brought out to command a microcontroller to control the pan/tilt. If you got the Axis cam from an FRC kit of parts, you may as well use the pan/tilt assembly that comes in the kit as well.

  3. Thanks, Hack a Day, for making a few more home “surveillance” cameras publicly accessible! :D

    Anyways, a better way to setup remote access would be to restrict the camera to the LAN and SSH tunnel or use a VPN to access the entire lan, instead of relying on the camera’s built in “authentication” which fails horribly…

  4. I actually managed to program my G1 phone with some home automation stuff I did with an apache server. Anyways, I use a free program called YawCam which does several things. It can save a picture to FTP, send it to an HTML address(a preset port), or just save the file on a given time interval, if motion is detected, or on request.

    Thats a picture of how my program looks :-)

  5. Just use (a) small Linux-Server(s), Zoneminder ( and a bunch of cheap USB-Cams.

    Feature List
    Runs on any Linux distribution!
    Supports video, USB and network cameras.
    Support Pan/Tilt/Zoom cameras, extensible to add new control protocols.
    Built on standard tools, C++, perl and php.
    Uses high performance MySQL database.
    High performance independent video capture and analysis daemons allowing high failure redundancy.
    Multiple Zones (Regions Of Interest) can be defined per camera. Each can have a different sensitivity or be ignored altogether.
    Large number of configuration options allowing maximum performance on any hardware.
    User friendly web interface allowing full control of system or cameras as well as live views and event replays.
    Supports live video in mpeg video, multi-part jpeg and stills formats.
    Supports event replay in mpeg video, multi-part jpeg, stills formats, along with statistics detail.
    User defined filters allowing selection of any number of events by combination of characteristics in any order.
    Event notification by email or SMS including attached still images or video of specific events by filter.
    Automatic uploading of matching events to external FTP storage for archiving and data security.
    Includes bi-directional X.10 (home automation protocol) integration allowing X.10 signals to control when video is captured and for motion detection to trigger X.10 devices.
    Highly partitioned design allow other hardware interfacing protocols to be added easily for support of alarm panels etc.
    Multiple users and user access levels
    Multi-language support with many languages already included
    Full control script support allowing most tasks to be automated or added to other applications.
    Support external triggering by 3rd party applications or equipment.
    xHTML mobile/cellular phone access allowing access to common functions.


  6. To all those offended by HaD “advertising” a commercial product: stfu.

    Just because this is hackaday doesnt mean everyone wants to BUILD their own camera. Some things need to be bought sometimes. I salute HaD for actually finding a relatively cheap network camera in a sea of expensive ones.

    Im just chiming in to say that the D-Link DCS-900 (wired) and the DCS-910 (wireless) are also good network cam choices and can be found for well under $100 every few months when Amazon has a high inventory.

    Also, I agree with the several other commenters here who have recommended using the linuix package “motion”. Ive been using this for a long time and have been very pleased with it.

    The DCS-900 and motion have been running my Blender Defender setup for a while and I havent had any problems with it. (

  7. Zoneminder is great. I’ve got it doing a wonderful job with motion detector recording and passive monitoring.

    It does have a *small* learning curve, but I’ve been very pleased with it in it’s small use.

  8. Stop now, if you are looking to read a comment with redeeming qualities, because this most likely has no redeeming qualities. Suggestion to HaD, post the question, and let your readers come up with the suggestions. Because you can’t win no matter what you do.

  9. Ah this is always an interesting project to try.

    I bought a couple of those cheap USB cannons you see around. They support a huge pan range (Nearly 360*!) but sadly the tilt isn’t so great, around 45*.

    I combined that with a webcam (enter rubber band) and used a combination of .Net WCF and a simple C# forms page using Ajax to control the cannon. Then I went ahead and used Windows Media Encoder to stream the video to the page.

    I originally used peice of javascript to pull a snapshot from a custom peice of code on the host machine but it used so much processing power I decided to drop it. The disadvantage is the delay (buffering) makes the cannon hard to control accurately.

  10. About buying a premade ip camera not being a hack, neither is hooking up a usb cam and installing a app. Some of the cited ip cams are more hackable since it has an embedded unix that you can customize, update firmware, and script custom ftp jobs. I have mine ftp’ing motion captures to godaddy which has a cron using ImageMagick to convert the days image to a animated GIF, which allows me to pull and watch all the captured images in a easily viewed movie, but all the while having the full resolution image stored offsite from my residence securely. More hackery involved than plugging in a usb cam and installing software. Added bonus, fanless, and low powered ip cam humming along rather than a dedicated laptop/desktop just for the usb cam.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.