[tech] Door sensor software rewritten

David Adam zanchey at ucc.gu.uwa.edu.au
Sun Oct 18 17:00:09 WST 2009


Instead of studying, I've rewritten all the door sensor software. 

The original software (after the blackbox broke) was written by [MTL], and 
has done the job really well, but it was difficult to adapt and extend - 
it was pretty tightly bound to providing notifications over XMPP, and also 
referred to the door as a coffee pot.

The new software is in Python, and consists of a server process which 
monitors the hardware interface over LAT, and a number of clients which 
communicate with the server using D-BUS. Long-running clients can hook into 
D-BUS signals to get event-driven notifications.

One client provides the XMPP interface, so you can still add 
'uccdoor at ucc.asn.au' to your chat client to get the door status. Writing 
new clients is pretty straightforward and can be done in any language that 
has D-BUS bindings.

There's no networking in D-BUS yet, so clients have to run on mussel.

Source including examples for new clients is in source control:
   http://git.ucc.asn.au/?p=uccdoor.git

There's a JSON interface to get the door status:
   http://door.ucc.asn.au/json.py
(perhaps some Web2.0 type could update the webcam page?)

and what really drove this project was restoring `finger door at ucc.asn.au`:
  http://ucc.asn.au/cgi-bin/finger?door
  http://www.emailman.com/finger/finger.cgi?user=door&host=ucc.asn.au

Patches welcomed for the existing code and for new clients that interact 
with IRC, twitter, or RRDtool/collectd.

David Adam
UCC Wheel Member
zanchey at ucc.gu.uwa.edu.au


More information about the tech mailing list