コード例 #1
0
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()
コード例 #2
0
ファイル: gpiohandle.py プロジェクト: kakake/IotPlatform
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()
コード例 #3
0
ファイル: gpiohandle.py プロジェクト: Fred-Lee/IotPlatform
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()#开始执行命令