class sound_activated(modes.standard.abstractMode):
    _ipcon = None
    _si = None

    def __init__(self):
        '''
        Constructor
        '''
        modes.standard.abstractMode.__init__(self)
        config = ConfigParser.ConfigParser()
        config.read("config.ini")

        if config.has_section("Tinkerforge") and config.has_option('Tinkerforge', 'HOST') and config.has_option('Tinkerforge', 'PORT') and config.has_option('Tinkerforge', 'UID'):
            HOST = config.get('Tinkerforge', 'HOST')
            PORT = config.getint('Tinkerforge', 'PORT')
            UID = config.get('Tinkerforge', 'UID')
        else:
            print "Can't load Tinkerforge Settings from config.ini"

        self._ipcon = IPConnection()  # Create IP connection
        self._si = SoundIntensity(UID, self._ipcon)  # Create device object

        self._ipcon.connect(HOST, PORT)  # Connect to brickd

    def __del__(self):
        self._ipcon.disconnect()

    def myround(self, x, base=5):
        return int(base * round(float(x) / base))

    def start(self):
        high = 0.0
        count = 0
        while True:
            intensity = self._si.get_intensity()
            # reset high_level after a Song
            if count > 100:
                high = intensity
                count = 0
            if intensity > high:
                high = intensity
            else:
                count += 1
            if high > 0:
                level = self.myround((100 / float(high)) * float(intensity))
            else:
                level = 0

            RED = BLUE = GREEN = 0
            if level <= 33:
                BLUE = 100
            elif level <= 66:
                GREEN = 100
            else:
                RED = 100
            self.setRGB([RED, GREEN, BLUE])
            time.sleep(self._DELAY)

    def getName(self):
        return "Sound Activated"
Exemplo n.º 2
0
        motion = motiondetect.get_motion_detected()
        print("Motion: " + str(motion))

        illuminance = ambientlight.get_illuminance() / 10.0
        print("Illuminance: " + str(illuminance))

        uv_light = uvlight.get_uv_light()
        print("UV Light: " + str(uv_light))

        # Get current CO2 concentration (unit is ppm)
        cur_co2_concentration = co2.get_co2_concentration()
        print("CO2: " + str(cur_co2_concentration))

        # Get current sound intensity level
        cur_si = sound_intensity.get_intensity()
        print("Sound intensity: " + str(cur_si))

        # Get current dust density
        cur_dd = dust_density.get_dust_density()
        print("Dust density: " + str(cur_dd))

        # Get current humidity level
        cur_humidity = humidity.get_humidity() / 100.0
        print("Humidity: " + str(cur_humidity))

        # Get temperature from humidity sensor
        cur_humidity = humidity.get_temperature() / 100.0
        print("Temperature (Humidity sensor): " + str(cur_humidity))

        # Temperature