def __init__(self): # 获取第一条设备配置信息 device = db.devices.find_one({}) self.opticalVal = 0 self.soundSensorValues = {} self.threshold = device['threshold'] self.lights = [] self.getSensorVal() # 获取所有灯配置信息 for item in db.lights.find({}): type = item['type'] if type == 0: print("常亮") light = Light({ 'id': item['id'], 'gpio': item['GPIO'], 'brightness': item['brightness'], }) light.switchOn() self.lights.append(light) elif type == 1: print("常暗") self.lights.append( Light({ 'id': item['id'], 'gpio': item['GPIO'], 'brightness': item['brightness'], })) elif type == 2: print("光控智能") self.lights.append( LightWithOpticalSensor({ 'id': item['id'], 'gpio': item['GPIO'], 'brightness': item['brightness'], })) elif type == 3: print("光控+声控智能") self.lights.append( LightWithOpticalSoundSensor({ 'id': item['id'], 'soundSensorValues': self.soundSensorValues, 'gpio': item['GPIO'], 'brightness': item['brightness'], 'duration': item['time'], 'sensitivity': sound_sensor_sensitivity_map[item['sensitivity']] })) elif type == 4: print("光控+声控调光") self.lights.append( LightWithAdjustLightness({ 'id': item['id'], 'soundSensorValues': self.soundSensorValues, 'gpio': item['GPIO'], 'brightness': item['brightness'], 'duration': item['time'], 'sensitivity': sound_sensor_sensitivity_map[item['sensitivity']] })) else: print("出错")