Project ShowcaseHave a project that you're dying to pimp? It doesn't matter if it involves robotics, RFID, HCI, or what, as long as you think it's cool, pimp it here! Need more space for pics/videos email us:)
I was inspired to do this project when I saw some of the other uses that an RFID passive reader has been used for. I noticed that many people have created a system whereby they install a reader on the outside of their front door and use an RFID tag to unlock it, and let themselves in. I wanted even more control over my front door, so I added the ability to remotely lock/unlock the door from any computer with internet acces, or as is shown in the video, a cell phone. Now I can control access to my house from anywhere. In addition, I found that the RFID key fob I used would charge even on the other side of the door and transmit back to the reader through the door. Now I don't have to worry about mounting something on the outside of my door, which makes it that less "interesting" for would be thieves or passerbys (and makes it much less aggravating for my land lord! ) Thanks for running these contests, they are a great way to expo projects.
Hi Alex, thanks for responding. I was hoping someone did!
As far as obstacles to overcome --
The biggest difficulty I had was wrapping the Phidget .NET API to allow for easier programming. For example, I wanted the ability for clients to add tags that it considers "interesting." That way, the client is only notified when an interesting tag comes or goes, with all others considered non-interesting. I found that I had to take the Event that is generated by the API and then asynchronously dispatch the event to all clients. Otherwise, I was getting all sorts of runtime errors. I'm sorry I can't be more specific about the errors, but they were resolved after making the wrapper class dispatch them asynchronously instead of synchronously.
Another challenge I faced was creating a web application that consumed the wrapper DLL I mentioned in the above paragraph. I ran into some issues with the development server included in Visual Studio 2005 not maintaining a valid reference to the Outputs[] array in the RFID class. That issue is not completely fixed and sometimes the web server has to be restarted. IIS doesn't seem to have this issue, and since you would normally only use IIS and not a development server, I didn't spend a lot of time on it.
As far as non-software-related obstacles -- soldering the wires onto the Kwikset was not much fun. I accidentally soldered two contacts together and had a heck of a time desoldering it! Oh yeah, I burnt my finger once on my soldering iron, too! I'm quite the noob when it comes to soldering. I would do it all over again, though, because it was fun.
I love the cell phone aspect of this. People pay thousands of dollars to pull this kind of thing off currently and you've just shown that it doesn't need to cost that much. Of course, the "real world" isn't populated with brilliant geeks that know how to do this, but one can imagine an off the shelf wifi enabled RFID door lock that has a little software program you run on your PC to allow people to use their phones to unlock their doors.
And then the world will freak out over peoples new ability to "hack" into your house pointing out all the potential weaknesses. The whole time forgetting that a crowbar is still much easier and faster choice of criminals RFID or none. LOL.
Well done my friend. I think this one will start to get quite popular in the RFID circles. Thanks for the killer demo video, BTW!
Thanks for the praise, Matt. I agree with you when you say that people will be quick to point out the weaknesses in that anyone can hack this if they know your server IP address. This was a concern of mine even though I agree that it's easier to kick the door in or use a crowbar. I was happy when I discovered that I could mount the RFID reader on the inside of the door instead of putting something on the outside that might attract unwanted attention. Also, a mechanism similar to that of Windows where multiple unsuccessful attempts to "login" would lock the user out for XX mins is easily implemented. Of course, someone could purposely lock you out, quite literally, by constantly failing the login challenge. Just more challenges to overcome.
I would like to ask the community if anyone has any ideas on how to evolve this project by adding wireless connectivity. This can either be through some standardized wireless protocol such as bluetooth, ZigBee, RF, wireless usb, or something else completely. I'm basically trying to remove the computer from being connected to the lock, but the computer could (and probably should) still be connected remotely. Also, I would like to keep a relatively small footprint, self-contained if possible. It might be asking a lot, but after looking around online, I'm not sure what do.
We'll be getting a new RFID product in hopefully in the next two months that might work perfectly with this. It doesn't have a high level API like the Phidget reader, but all of the serial commands are published so you can build your own wrapper with it. The really cool thing about this new system is that it is completely modular. Basically you have a base board that has a set of headers that you plug in different RFID reader/writer modules into it (125kHz & 13.56MHz). Here's a screenshot of the socket board itself:
I would look at using a more embedded solution - basically a single board computer (like a gumstix). You also need to think about what will happen when the power goes out.
That's the beauty of this new system we'll be getting. The company that we are getting these from said that most of the projects that come out of their products are embedded solutions. I'm not too sure if this is using a combo of the module and the socket board or just the modules themselves. I'll have to look into this more once we get them in.
I would look at using a more embedded solution - basically a single board computer (like a gumstix). You also need to think about what will happen when the power goes out.
- Jon
Thanks Jon. I've check out the gumstix offerings before and determined that they are probably too expensive for what I need. I love the robustness of the gumstix setups, but at close to $200 each, it's hard to justify the additional cost, although adding bluetooth could be just the wireless functionality I need. These would be a good last-ditch solution, assuming I could use a battery to power the device (something that's probably not viable).