class gpiohandle(httphandle): def __init__(self, name='gpio', interval=0.1, hostname=""): httphandle.__init__(self, name, interval, hostname) self.gpio = GPIO(self) def execute(self): #重写 self.gpio.stop() #停止之前的命令 cmd = self.gethttpdata(self.name) #print cmd if cmd <> None and cmd.has_key('cmdname'): cmdname = cmd['cmdname'] #print cmdname if cmdname == 'setgpio': self.setgpio(cmd) elif cmdname == 'replygpio': self.replygpio(cmd) elif cmdname == 'getgpio': self.getgpio(cmd) elif cmdname == 'getgpios': self.getgpios() def checkGPIO(self, gpio): i = int(gpio) if not self.gpio.isAvailable(i): print "GPIO " + gpio + " Not Available" return False if not self.gpio.isEnabled(i): print "GPIO " + gpio + " Disabled" return False return True def getgpios(self): data = self.gpio.writeJSON() self.posthttpdata(self.name, data) def getgpio(self, cmd): if cmd.has_key('pins'): pins = cmd["pins"] self.gpio.reply(pins) def setgpio(self, cmd): if cmd.has_key('setup') and cmd.has_key('loop'): setup = cmd['setup'] loop = cmd['loop'] self.gpio.setdata(setup, loop, []) if not self.gpio.isAlive(): self.gpio.setDaemon(True) #守护线程 self.gpio.start() def replygpio(self, cmd): if cmd.has_key('setup') and cmd.has_key('loop') and cmd.has_key( 'reply'): setup = cmd['setup'] loop = cmd['loop'] reply = cmd['reply'] self.gpio.setdata(setup, loop, reply) if not self.gpio.isAlive(): self.gpio.setDaemon(True) #守护线程 self.gpio.start()
class gpiohandle(httphandle): def __init__(self, name="gpio", interval=0.1, hostname=""): httphandle.__init__(self, name, interval, hostname) self.gpio = GPIO(self) def execute(self): # 重写 self.gpio.stop() # 停止之前的命令 cmd = self.gethttpdata(self.name) # print cmd if cmd <> None and cmd.has_key("cmdname"): cmdname = cmd["cmdname"] # print cmdname if cmdname == "setgpio": self.setgpio(cmd) elif cmdname == "replygpio": self.replygpio(cmd) elif cmdname == "getgpio": self.getgpio(cmd) elif cmdname == "getgpios": self.getgpios() def checkGPIO(self, gpio): i = int(gpio) if not self.gpio.isAvailable(i): print "GPIO " + gpio + " Not Available" return False if not self.gpio.isEnabled(i): print "GPIO " + gpio + " Disabled" return False return True def getgpios(self): data = self.gpio.writeJSON() self.posthttpdata(self.name, data) def getgpio(self, cmd): if cmd.has_key("pins"): pins = cmd["pins"] self.gpio.reply(pins) def setgpio(self, cmd): if cmd.has_key("setup") and cmd.has_key("loop"): setup = cmd["setup"] loop = cmd["loop"] self.gpio.setdata(setup, loop, []) if not self.gpio.isAlive(): self.gpio.setDaemon(True) # 守护线程 self.gpio.start() def replygpio(self, cmd): if cmd.has_key("setup") and cmd.has_key("loop") and cmd.has_key("reply"): setup = cmd["setup"] loop = cmd["loop"] reply = cmd["reply"] self.gpio.setdata(setup, loop, reply) if not self.gpio.isAlive(): self.gpio.setDaemon(True) # 守护线程 self.gpio.start()
class gpiohandle(httphandle): def __init__(self,name='gpio',interval=0.1,hostname=""): httphandle.__init__(self,name,interval,hostname) self.gpio=GPIO() def execute(self):#重写 self.gpio.stop()#停止之前的命令 cmd= self.gethttpdata(self.name) if cmd<>None: cmdname=cmd['cmdname'] if cmdname=='setgpio': self.setgpio(cmd) elif cmdname=='replygpio': self.replygpio(cmd) elif cmdname=='getgpio': self.getgpio(cmd) elif cmdname=='getgpios': self.getgpios() def checkGPIO(self, gpio): i = int(gpio) if not self.gpio.isAvailable(i): print "GPIO " + gpio + " Not Available" return False if not self.gpio.isEnabled(i): print "GPIO " + gpio + " Disabled" return False return True def getgpios(self): data=self.gpio.writeJSON() self.posthttpdata(self.name,data) def getgpio(self,cmd): pins=cmd["pins"] self.gpio.reply(pins) def setgpio(self,cmd): setup=cmd['setup'] loop=cmd['loop'] self.gpio.setdata(setup,loop) self.gpio.setDaemon(True)#守护线程 self.gpio.start()#开始执行命令 def replygpio(self,cmd): setup=cmd['setup'] loop=cmd['loop'] reply=cmd['reply'] self.gpio.setdata(setup,loop,reply,self.posthttpdata) self.gpio.setDaemon(True)#守护线程 self.gpio.start()#开始执行命令