コード例 #1
0
def check_belt():
    v_signal = get_signal_data(simulator_ip, 'ESP_v_Signal')
    v = v_signal['value']
    belt_signal = get_signal_data(simulator_ip, 'AB_Gurtschloss_FA')
    belt = belt_signal['value']
    if (v > 0 and belt == 2):
        s = "The driver seat belt is not fastened."
        return s
コード例 #2
0
def weather_message():
    from constants import weather_key
    lat = get_signal_data(simulator_ip, 'NP_LatDegree')
    lon = get_signal_data(simulator_ip, 'NP_LongDegree')
    w = requests.get('http://api.openweathermap.org/data/2.5/weather?lat=' +
                     str(lat['value']) + '&lon=' + str(lon['value']) +
                     '&APPID={}'.format(weather_key)).json()
    s = "This is a " + w['weather'][0]['description'] + " outside. " + '\n'
    s += "The temperature is " + str(int(w['main']['temp']) -
                                     273) + " Celsius." + '\n'
    s += "The roads are slippery." + "\n"
    s += "The recommended speed is 60 km per hour." + "\n"
    s += "Don't forget to turn on your low-beam headlights. " + '\n'
    return s
コード例 #3
0
def check_gas():
    gas_percent = get_signal_data(simulator_ip,
                                  'KBI_Tankfuellstand_Prozent')['value']
    if (gas_percent < 6):
        return "Caution! Critical gas level" + str(gas_percent) + "left"
    if (gas_percent < 20):
        return "Low gas level." + str(gas_percent) + "left"
コード例 #4
0
def check_blinkers():
    angle = get_signal_data(simulator_ip, 'LWI_Lenkradwinkel')['value']
    left_blinker = get_signal_data(simulator_ip, 'BH_Blinker_li')['value']
    right_blinker = get_signal_data(simulator_ip, 'BH_Blinker_re')['value']
    direction = get_signal_data(simulator_ip, 'LWI_VZ_Lenkradwinkel')['value']
    cur_speed = get_signal_data(simulator_ip, 'ESP_v_Signal')['value']
    if (cur_speed > 1 and angle > 90):
        if (direction):
            if (not left_blinker and right_blinker):
                return "You turned on the wrong blinker."
            if (not left_blinker and not right_blinker):
                return "You forgot turn on left blinker."
        else:
            if (left_blinker and not right_blinker):
                return "You turned on the wrong blinker."
            if (not left_blinker and not right_blinker):
                return "You forgot turn on right blinker."
コード例 #5
0
def check_lights():
    from datetime import datetime
    import pytz
    part_of_day = 'night'
    tz_ZR = pytz.timezone('Europe/Zurich')
    datetime_ZR = datetime.now(tz_ZR)
    a = ()
    a = datetime_ZR.strftime("%H%M%S")
    h, m, s, = (a[0] + a[1]), (a[2] + a[3]), (a[4] + a[5])
    if (int(h) < 18 and int(h) > 6):
        part_of_day = 'day'
    dipped = get_signal_data(simulator_ip, "LV_Abblendlicht_Anzeige")
    high = get_signal_data(simulator_ip, "BH_Fernlicht")
    if (part_of_day == 'day'):
        if (high):
            return "Turn off high beam"
    if (not dipped):
        return "Put dipped beam on"
コード例 #6
0
def check_speed():
    cur_speed = get_signal_data(simulator_ip, 'ESP_v_Signal')['value']
    limit_speed = 30
    if (cur_speed > limit_speed):
        return "You have exceeded the speed limit."
コード例 #7
0
def get_coordinates():
    lat = get_signal_data(simulator_ip, 'NP_LatDegree')['value']
    lon = get_signal_data(simulator_ip, 'NP_LongDegree')['value']
    # print(lat, lon)
    return lat, lon