How to detect user proxmity to lock PC.

avrproximity-sensorrfid

I can use one of the many open source usb keyboard projects that will run on an atmel avr to send Win+L to the computer when the user leaves. The question is: What sort of technique can I use to detect proxmity?

  1. Some sort of pair of wireless transceivers like this product: http://www.vupointsolutions.com/browse.php?cat=security&page=SK-MT01-VP
  2. Could I use an RFID? I think there exist the kind that allow for ~4ft detection?

I would prefer option 2 if thats possible.

I'm mostly look for a starting point. What sort of ICs can I use to do this? and/or if there is any example software/library that might interface with one of these IC? I'm a software developer not an EE, but I've dabbled in atmel avr and analog electronics.

(Side note: the reason I don't just use the a pre-made product is because our company will not let us install our own software. Any device that acts has a usb keyboard would be necessary. If there is an affordable premade solution for this, I'd be happy to use it.)

Best Answer

RFID sounds a good solution. My cat flap uses it and despite my reservations, it's still going 3 months down the line on the same pair of AA batteries.

OK my cats are chipped of course BUT that is what RFID is. What powers it? A local magnetic field around where the cat enters or where the person sits. Range depends on the magnetic power that can be pushed to the RFID tag. More power means bigger transmission power means bigger distance.

Cat flaps or folk sitting/leaving their chair are about the same order of magnitude.

What do you need? A small micro with an RF transmitter that is powered from a locally generated magnetic field. The field induces voltage in a small coil in the tag. This coil is resonant tuned to the frequency and suddenly several volts of DC can be conjured out of the air. Enough to power a small micro and transmitter. The transmitter transmits an ID every second or maybe every ten seconds and a local receiver tied to the USB port will send the appropriate commands should the user go out of range or come back into range.

Perfectly feasible and sounds a cool idea.