Zaurus - dimmer
Here, I used the Zaurus to wirelessly dim the desk lamp. The PyQT program is below.
When I adjust a slider, the program sends messages over XMLRPC to a server on one of my desktop boxes. That box sends the levels to my K8000 IO card, which you can see in the background of the image. That card sends 0-10V control signals to 4 dimmers around the room.
#!/usr/bin/env python from __future__ import division import sys,xmlrpclib,socket from qt import * Vertical = 1 class Dimmer(QVBoxLayout): maxval = 300 def __init__(self,parent,name,serv): QVBoxLayout.__init__(self) self.serv,self.name = serv,name lab = QLabel(name,parent) lab.setFont(QFont("Sans", 10)) self.addWidget(lab) sli = QSlider(0,self.maxval,self.maxval//10,self.maxval, Vertical,parent) self.addWidget(sli) self.connect(sli, SIGNAL('valueChanged(int)'), self.changed) def changed(self,val): val = 1-val/self.maxval self.serv.setLight(self.name,val) class Dimmers(QWidget): def __init__(self, *args): QWidget.__init__(self, *args) self.serv = xmlrpclib.ServerProxy("http://dot.bigasterisk.com:%s" % socket.getservbyname("lights","tcp")) self.setCaption("Light dimmers") cols = QGridLayout(self, 2, 5) for pos,name in enumerate(self.serv.listLights()): dim = Dimmer(self, name, self.serv) cols.addLayout(dim, pos//5, pos%5) if __name__ == "__main__": app = QApplication(sys.argv) app.connect(app, SIGNAL('lastWindowClosed()'), app, SLOT('quit()')) d = Dimmers() d.show() app.setMainWidget(d) app.exec_loop()