Why? Edit

I had a project possibly coming up that had to do with a plan for my partner to open a Day-care centre, and I was volunteered (not that I minded) to do the IT work. One of the things on the list was for a network of security cameras to keep an eye on the various rooms, and a side-plan to allow parents to log in and see what's going on.

I first thought of using USB cameras plugged directly into the CCTV server, but realised that I would most likely go beyond the limit of 5m for each run of cable. Using USB hubs would allow me to extend that run, but with the thought of hubs permeating the roof making me shudder, clearly this wasn't the solution either.

I started looking into IP cameras, and while they showed promise, they were prohibitively expensive. Thankfully, with the advent of the USB Video Device Class (UVC for short), you can use just about any operating system on an embedded computer to pull images off of a compliant USB web cam to be sent over Ethernet (which had cable runs of 100m (even up to 200m), a far cry better than the puny 5m offered by USB cable). With this in mind, I looked into creating my own IP camera using an ALIX board, OpenBSD and a UVC-compliant web cam.

Materials Edit

  • An ALIX 3D2 board
  • A box3c indoor enclosure
  • A CF card, at least 1 gigabyte
  • A container to hold the remainder in
  • An Ethernet cable
  • A power adapter
  • A UVC-compliant USB web cam.
  • A CF to IDE adapter (optional)

You can use a PPoE concentrator (also sold at PCEngines) to run PPoE if you wish. Compliant PPoE hardware (48 volts!) will actually destroy the board.

Instructions Edit

  1. Install OpenBSD on your ALIX system. You can plug the CF card into a CF to IDE adapter, but it's better to follow this guide. Be sure to enable SSH access.
  2. Assemble the board in the case with the CF card. Plug your webcam in.
  3. Plug the board into the network and give it power. Fire it up for the configuration:
    1. Look in the kernel output for your USB web cam. You should see something similar to the following:
      # dmesg | grep uvideo
uvideo0 at uhub1 port 4 configuration 1 interface 0 "Micron Built-in iSight" rev 2.00/1.88 addr 2
    2. To be continued...