Ejemplo n.º 1
0
 def get(self):
     lat = self.get_argument("lat")
     lng = self.get_argument("lng")
     alarmOn = self.get_argument("alarmOn")
     alarmHour = self.get_argument("alarmHour")
     alarmMin = self.get_argument("alarmMin")
     data = {"lat" : lat, "lng" : lng, "alarmOn" : alarmOn ,"alarmHour" : alarmHour , "alarmMin" : alarmMin }
     storage.writedata(data)
     self.write(lat + " " + lng)
Ejemplo n.º 2
0
def run():
    while(True):
        lat = 40.7143528
        lng = -74.0059731
        alarmOn = 'on'
        alarmHour = 1
        alarmMin = 0
        try:
            data = storage.readdata()
            lat = data['lat']
            lng = data['lng']
            alarmOn = str(data['alarmOn'])
            alarmHour = int(data['alarmHour'])
            alarmMin = int(data['alarmMin'])
        except  Exception as e:
            print e
            print "error while reading data"

        alarmMode = False
        if alarmOn == 'on':
            now = datetime.time(datetime.now())
            hour = now.hour
            minute = now.minute
            if alarmHour == hour:
                alarmMode = True
                print "in alarm mode"

        stateCity = json.loads(getCurrentTempreture.getStateCityByLatLng(lat,lng))
        print stateCity['state'].decode('utf-8'), stateCity['city'].decode('utf-8')
        temperature = 59
        weather = 'Clear'
        try:
            weatherResult = getCurrentTempreture.getCurrentTempretureByStateCity(stateCity['state'].decode('utf-8'), stateCity['city'].decode('utf-8'))
            temperature = float(json.loads(weatherResult)['temperature'])
            weather = json.loads(weatherResult)['weather']
            print temperature, weather
        except Exception as e:
            print "error when getting temperature.", e
        sat = storage.weatherTable()[weather]
        flashWeather = ['rain', 'storm', 'drizzle', 'mist', 'overcast', 'fog', 'smoke', 'volcanic ash', 'dust', 'sand', 'haze', 'spray', 'unknown']
        flashMode = False
        for item in flashWeather:
            if item in weather.lower():
                flashMode = True
                break
        hue = 46000 - (math.pow(temperature, 2) * 5)
        if hue < 0:
            hue = 0

        if alarmMode == False : 
            if flashMode == False:
                controller.setLight("true", hue, 125, sat)
                #sleep 10s
                time.sleep(3)
            else:
                for i in range(30):
                    if i % 2 == 0:
                        controller.setLight("true",hue,125,sat)
                    else:
                        controller.setLight("true",hue,0,sat)    
                    time.sleep(0.5)
        else :
            bri = 0
            i = 0
            bri = 1
            controller.setLight("true", hue, 0 , sat)
            time.sleep(1)
            for i in range(100000):
                if bri > 125 :
                    bri = 125
                    data['alarmOn'] = 'off'
                    storage.writedata(data)
                    break
                bri = bri * 1.55
                controller.setLight("true", hue, int(bri), sat)
                time.sleep(0.2)