Beispiel #1
0
isDateUpdated = False  # Vérifie si la date de début est à jour
dateStart = 0  # Déclaration de la date de début du timer

# Envoi du status au serveur
print("Sending Has Pressed")
mqttMsg = '{'
mqttMsg = mqttMsg + '"active":' + str(active)
mqttMsg = mqttMsg + '}'
client.publish(topic="iot-2/evt/data/fmt/json", msg=mqttMsg)

# BOUCLE PRINCIPAL
while True:

    # Si on appuye sur le bouton
    if py.button_pressed() and not pressed:
        pressed = True
        # L'alarme s'active / se désactive
        active = not active

        # Envoi du status au serveur
        print("Sending Has Pressed")
        mqttMsg = '{'
        mqttMsg = mqttMsg + '"active":' + str(active)
        mqttMsg = mqttMsg + '}'
        client.publish(topic="iot-2/evt/data/fmt/json", msg=mqttMsg)
    elif not py.button_pressed() and pressed:
        # Quand le bouton est relaché
        pressed = False

    # Si l'alarme est active
    print('- ' * 20)
    n.py.setup_int_wake_up(rising=1,falling=0)                                  #Activa la interrupcion por Botón
    n.py.setup_sleep(sleep_time-ajuste)
    n.py.go_to_sleep(False)                                                          #Dispositivo enviado a Deepsleep

elif (py.get_wake_reason() == WAKE_REASON_PUSH_BUTTON):
    uart = UART(0, 115200)                                                      #Se activa la UART
    os.dupterm(uart)
    wlan = WLAN()
    wlan.init(mode=WLAN.AP, ssid='lopy-pysense', auth=(network.WLAN.WPA2,'lopy-pysense'), channel=7,antenna=WLAN.INT_ANT) #Init Wi-Fi
    server = network.Server()                                                   #Init FTP Server
    print("Device entered into debugging mode")
    print("Please do not connect to battery")
    pycom.heartbeat(True)                                                       #Se activa el Heartbeat
    while(1):
        if py.button_pressed():
            print("Resetting")
            machine.reset()

else:                                                                           #Si viene de Boot o Hard Reset
    print('Power on or hard reset')
    sleep_time = 100                                                            #Valor por defecto de sleep_time (Minimo segun Fair Acess Policy TTN)
    data_rate = 5
    pycom.wifi_on_boot(False)                                                   # disable WiFi on boot TODO: Intentar en versiones posteriores, da un Core Error.
    pycom.heartbeat_on_boot(False)
    try:
        pycom.nvs_set('sleep_time', sleep_time)                                 #Guarda el valor por defecto de sleep_time en NVRAM
        pycom.nvs_set('data_rate', data_rate)
    except (Exception):
        print("Error: Value could not be stored")
        pass