Пример #1
0
 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("出错")