Open Security System

From Woozle Writes Code
Jump to navigation Jump to search

Originally written in 2005 and posted to the HypertWiki, with updates to 2011 or so. This document is now obsolete, and is kept here mainly for historical reference.

Introduction

This is a system which I[1] thought of in 1999 or so. Nobody's building it yet. The software was available but perhaps a bit expensive, back then (especially things like drivers and video codecs); as of the original writing of this page (c.2011), it was probably all available as free/open-source modules which just need to be knitted together in order to do the job. As of 2021, there are probably places selling complete system based on hackable hardware and software, so this page is now largely obsolete as a conceptual document.

Summary

The basic idea is to use inexpensive web cams, an inexpensive internet connection, and an inexpensive shared hosting account to provide home security, monitored at no cost by multiple pairs of eyes over the internet.

Key Features (see #Features for more details):

  • online storage of all video feeds, accessible by date/time index for as long as the feed is stored
  • server-side detection of internet failure, in case a clever thief "cuts the lines" before entering, with escalating alerts if the connection is not restored after a set time -- these should be fully configurable, but here's the general idea:
    • First warning to all users via IM and email
    • Second warnings via automated phone calls to various friendly phone numbers
    • Third warning to emergency neighbor number(s)
    • Fourth warning to local police department
  • all software should be free/open-source
  • all hardware should be off-the-shelf and (where possible) inexpensive

Details

Software

The basic structure is more or less client-server, with the user's computer providing a data feed to the offsite server. Monitoring of the data received is via the internet. The quick, universally-accessible way to do this would be via web browser; later, maybe a custom app could be written to do more interactive monitoring (e.g. realtime displays of data aside from video feeds)

  • Components:
    • Client (i.e. computer at the site): data collector & streamer -- collects data from whatever feeds are available
    • Server (i.e. somewhere off-site): data receiver, data storage, user interface (either just for data retrieval or
  • Feeds -- depends on hardware, but here are the obvious possibilities:
    • Video (web cams) -- the heart of the system, really. You could do something useful without a webcam, but you'd lose most of the advantages of this system
    • Contact sensors -- showing if any doors or windows have been opened (as used in traditional security systems)
    • Sound sensors -- cheap microphones to record any sounds in the room
    • Impact sensors -- (actually a specialized sound sensor) contact microphones capable of sensing a finger touching glass or wood are about $2 at Radio Shack, though a bit of modification is needed (take apart a piezo buzzer; what you find inside is a contact mic). These could be used to detect door or window tampering, footfalls (especially on non-carpeted floor), etc.
    • Motion detectors -- commonly used in traditional security systems; probably computer-linkable units are available using x10 or some such.

Hardware required

  • Client Computer, at least 450 MHz / 128 MB or so, at a rough guess; a slower computer might be capable of supporting a single video feed, or a single audio feed, but obviously the more feeds you have, the more CPU power will be needed.
  • Host Computer, offsite. This could be either just a regular computer with a broadband connection or a dedicated server. Possibly a standard web-hosting account (costing as little as $5/month) could be used; it all depends on how the processing work is split between client and server.
  • Sensors for each of the feeds: Web cam(s), microphone(s), contact sensors.
  • I/O Cards for some feeds: anything that doesn't work via USB, e.g. microphones will need extra sound cards; contact sensors might be accessed via parallel ports, but at least some sort of adapter will be needed. Better yet might be a box designed specifically for this application, taking in any non-USB feeds and sending them all to the computer via USB. The software should not, however, depend on dedicated hardware.

Services required

  • Internet Connection, preferably broadband. A dial-up would work for a small number of feeds, but the video would have to be greatly reduced (fewer frames per second, or very low-quality compression) and audio would have to be selective or very low quality.
  • Watchers -- with this system, the user could employ either or both of the following:
    • Paid Service: This is the traditional method. The advantage of a paid service is that they are guaranteed to be monitoring 24/7. The disadvantages are (1) that they may take a significant amount of time to drive out to the monitored location, and of course (2) they charge for the service, anything from $20/month on up.
    • Friends and Neighbors: One of the key features of the Open Security System is that you may allow anyone you choose (which doesn't have to be just one person) to monitor the security feeds, as their schedule permits; see the #Open Monitoring section below.

Features

  • Main Features
    • Client:
      • lets the user define each security feed, including sampling rates and compression quality where applicable
      • lets the user define server locations for storage of feed data (web accounts only have so much storage; some people may have a friend who is willing to act as a security server, and some people may have "basement servers" unlikely to be stolen, where full archives could be stored), as well as defining which server(s) will take action in the event of a connection failure (burglar cuts the internet cable)
      • helps manage stored data, including downloading all data for archiving to data CD/DVD or for burning selected portions to video CD/DVD (or printing frames) for use as evidence
      • allows the master user to control access by others
    • Server:
      • Stores all feeds, deleting older feed data as specified by the user
      • Allows authorized users access to feed data
      • Allows all authorized users to view notes made by any user (e.g. "thought I heard suspicious noises on mic 2 at 21:13:17 -- anybody else notice anything?")
      • Should duplicate all client functions as appropriate (if the user's main computer is stolen, s/he may need to quickly access some functions in order to produce evidence to catch the criminal and/or identify what property was stolen)
      • Should provide the client software in easily-installable form, for quick rebuilding of the client side of the security system (e.g. if the client computer is stolen)
  • Optional Features
    • Part of the impetus to get working on this project was that a neighbor of someone I know had their computer stolen, along with all their backup disks. It would make sense to include some kind of offsite backup ability in the software, since the rest of the infrastructure (internet connection, storage server) would already be in place, and any break-in where there is a computer present might well include data loss.
    • it wouldn't hurt if the software could be aware of what was "normal" for a given feed and to make notes (or send warning alerts) if anything occurs which doesn't seem "normal" -- such as any motion at all in a room with no curtains, any motion in certain selected areas such as around doors or curtainless windows, any noise above a certain level, any activity on contact sensors, etc.

Open Monitoring

One of the key features of this system is that it allows you to give anyone access to the security feeds. This could be one or more friends, family, neighbors, and even yourself if you have internet access while you're away.

An attentive friend might spot something amiss which a paid security service, with dozens or hundreds of clients, would never notice. Said friend might call you just to ask casually about something they'd noticed, while a paid security service would only sound an alert if there were clear signals of a break-in.

There's no need to restrict the viewing to just one person, even; if you have several friends who are willing to check in on your security system, any break-in would be much more likely to be seen as it was happening. In the open source world, there's a saying: "Many eyes make shallow bugs." With the Open Security System, many eyes make better security.

Being able to monitor your own home while away from it (be that out of town, out of the country, or even just at work) could be a significant aid to peace of mind. Imagine your neighbor's house is broken into one night -- you make extra sure to lock everything you possibly can, and put your valuables out of sight, but still all the next day at work you are wondering if your house will be next. With the Open Security System, you can find out right away if anything has happened, and take appropriate action immediately.

One clear advantage of using friends and neighbors to monitor is that it is free, and even guilt-free if the neighbor also uses the system -- neighbors could trade surveillance ("I'll watch your house when you're gone if you'll watch mine when I'm gone"), and of course any neighbor wants to know immediately if someone's house is broken into or even just prowled. (I can easily imagine neighborhood coalitions setting up webcams to patrol the neighborhood at large -- thus giving some real meaning to the "Neighborhood Watch" signs you often see in suburbia.)

Related Articles

Links

(Removed some links to some specific items whose URLs have changed.)

  • 2009-01-05 Durham's dumbest downtown dumpers?: looks like existing software is slowly catching up -- although in this case there was only one pair of eyes, not many, so there wasn't any opportunity to do anything in real-time when the perps might have been caught.
  • Spy Emporium: potential surveillance parts/equipment
  • (2005-06-20) Alarm.com: just from reading the front page, this sounds like a high-end version of (most of) what I had in mind -- i.e. implement this in open source with maybe a few minor features added, make it compatible with off-the shelf hardware if it isn't already, and you might have more or less what I'm thinking of.
  • Network Pan/Tilt/Zoom Camera: streams over the internet without a computer, but probably does not record off-site; provides only a single video feed, at a cost of $350 (as of this writing) which would buy you several low-end webcams
  • Motorola Home Monitoring and Control review: a similar system, but overpriced
  • NerdMan: heavy webcam user. Livia gave me this link; not sure if it's applicable or not. Saving it to look at later.
  • SmartHome Home Automation Superstore:
  • GSM tracking:
    • Wherify: [ plans ], [ phones ]
      • Costco doesn't have them anymore, but Amazon does; most phones are $80.
      • Plans are minimum $20/mo. with a 1-year commitment. $150 cancellation fee.
      • You get a limited number of tracking requests per month; the number depends on your plan. Cheapest plan allows 60 requests.
      • This seems like a bit of a scam; having paid up front for the phone, can't you use it with some cheaper wireless service? Or is the price artificially low because of the service plan lock? (Most of the other GSM phones seem to be $200+, but they also seem to be much more sophisticated.)

Footnotes

  1. (2011 note) In retrospect, I think it was largely inspired by ideas in David Brin's The Transparent Society, perhaps directly; must re-read.