Internet-Enabled Doorbell

I wanted to play with electronics and home automation. This is what I came up with.

Doorbell DS

The following sequence of events is not just a dramatization. It happened yesterday.

  • The UPS delivery guy delivers a package and pushes my doorbell button.
  • The button rings my doorbell and switches a relay.
  • The relay drives a pin high on the GBA port on the Nintendo DS.
  • A homebrew app runs on the DS which reads from EEPROM every frame, effectively polling the relay state.
  • The DS connects to my wireless access point, sends an HTTP request to my server, and then goes offline again.
  • The HTTP request executes a CGI script which connects to a chat server I've been working on, sends a message, and then disconnects.
  • The chat server stores the message and sends it to any connected clients.
  • One of the clients, which was the result of an AJAX request, returns the new message to a web browser.
  • Cory, in his web browser, is notified that a package has arrived.

Notes:

  • My front and rear doors are monitored separately, hence the two relays.
  • There are two pulldown resistors on the GBA port pins. I think they're unnecessary if I cause the DS to drive them low before I start reading.
  • The DS app is a trivial modification of the httpget demo.
  • This isn't in fact useful, but it was fun, easy, and made almost entirely with stuff I already had.
  • The DS is a neat alternative to a microcontroller, if you happen to have a spare or two lying around. It doesn't draw much power, as an ARM chip or two running with the screens off, and it has its own battery back-up.
  • Posted: 2009-08-11 23:23
  • Categories: (none)

Comments

1. Dominic Dos Santos -- 2009-09-15 15:39

This is truly amazing.

2. anonymous -- 2019-02-13 04:53

The door bells that people are trying to achieve, they need to ask me more from ninjaessays and they will know what is about to happen. It's the best of all things and we will know what to do from here.

Add New Comment