Exemplo n.º 1
0
	def __init__(self,frecuencia, pins):
		GPIOSensor.__init__(self, frecuencia, pins)
		self.tipo = "LINUX"
Exemplo n.º 2
0
import abc
from GPIOSensor import GPIOSensor
from Data import Data
# Sensor de prueba para Linux

class LinuxSensor(GPIOSensor):
	
	def __init__(self,frecuencia, pins):
		GPIOSensor.__init__(self, frecuencia, pins)
		self.tipo = "LINUX"
		
	def setGPIOpins(self):
		pass

	def getData(self):
		return Data(self.tipo, self.sense(), "cm")
		
	def clearSensor(self):
		pass
		
	def getType(self):
		return self.tipo

	def sense(self):
		self.setSense(False)
		return 'LINUX_DATA'

GPIOSensor.register(LinuxSensor)
		GPIO.setup(self.ECHO,GPIO.IN)

	def getData(self, receiver, priority, timeout, device):
		return Data(receiver, self.tipo, priority, timeout, device, self.sense(), "cm")

	def sense(self):
		GPIO.output(self.TRIG,False)
	#	print "Waiting for sensor to settle"
		time.sleep(0.5)

		GPIO.output(self.TRIG,True)
		time.sleep(0.00001)
		GPIO.output(self.TRIG,False)

		while GPIO.input(self.ECHO)==0:
			pulse_start = time.time()
	
		while GPIO.input(self.ECHO)==1:
			pulse_end = time.time()
	
		pulse_duration = pulse_end - pulse_start
		distance = pulse_duration * 17000
		distance = round(distance,2)

		return distance

	def getType(self):
		return self.tipo
		
GPIOSensor.register(Ultrasonic)
	def __init__(self, frecuencia, pins):
		GPIOSensor.__init__(self, frecuencia, pins)
		self.tipo = "ULTRASONIC"
		GPIO.setmode(GPIO.BCM) # Usa el sistema de nombramiento BCM - la otra alternativa es BOARD
		self.setGPIOpins()
                while data[count] == 1:  # Unos de la transmision
                    bit_count = bit_count + 1
                    count = count + 1

                if bit_count >= 3:
                    if i >= 0 and i < 8:
                        HumidityBit = HumidityBit + "1"
                    if i >= 16 and i < 24:
                        TemperatureBit = TemperatureBit + "1"
                else:
                    if i >= 0 and i < 8:
                        HumidityBit = HumidityBit + "0"
                    if i >= 16 and i < 24:
                        TemperatureBit = TemperatureBit + "0"

            Temperature = self.bin2dec(TemperatureBit)
            time.sleep(2)
            return Temperature
        except:
            return "ERR_RANGE"

    def bin2dec(self, string_num):
        return str(int(string_num, 2))

    def getType(self):
        print self.tipo


GPIOSensor.register(HumidityTemperature)