[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