We had originally planned to create a notification system that would work with our corporate instant messaging system to show the 2 restrooms as contacts that were either Available or Busy. When we heard about the Adafruit Make It Tweet Challenge, we switched gears and the Tweeting Attendant was born!
It is a basic system with a magnetic switch connected to a battery powered XBee module on one end and a Netduino Plus and XBee shield on the other.
The battery powered XBee module is an endpoint that is set up for one second polling of digital pin 3 which is connected to the magnetic switch and configured for cyclic sleep to conserve battery power.
The Netduino Plus and XBee shield monitors the incoming data from the endpoint and sends a tweet when the pin state changes (i.e. the door is opened or closed). In order to prevent unwanted tweets due to the switch bouncing, there is a minimum delay of 15 seconds between change notifications.
XBee x 2 (we're using Series 2 modules) and some method for programming them
SparkFun XBee Explorer Regulated
SparkFun XBee Shield
Arduino Stackable Header Kit
Adafruit Magnetic Contact Switch
Battery holder (ours is from our local electronic parts shop)
Project box of your choice (also from our local electronic parts shop)
Headphone jack and plug (or some other type of connector to connect the switch to the box)
Magnets, Velcro, or some other method of attaching the finished project box within reach of the door sensor
You will also need the Attendant software for the Netduino Plus which can be found at http://TweetingAttendant.codeplex.com.
You can see the current activity at http://twitter.com/#!/RoomAttendant. Later we'll be adding another endpoint for the other restroom.