コード例 #1
0
        mqttmanager.status = 0

    elif mqttmanager.status==status.getStatusCode("OPEN"): #open state
        lock.calibrate_open()
        mqttmanager.publish("esys/dadada/status", status.getStatusCode("OPEN")) #2
        mqttmanager.status = 0

        currentStatus = status.getStatusCode("OPEN") #OPEN
    utime.sleep_ms(300)

    mqttmanager.client.check_msg()

alarm = Alarm()
alarm_on = False

while(True):
    if mqttmanager.alarm_status==1 and (currentStatus==status.getStatusCode("OPEN") or currentStatus==status.getStatusCode("CLOSED")):
        alarm.beep()

    if not wifi_conn.station.active():
        wifi_conn.connect()

    # update MQTT broker when door changes state
    nextState = lock.get_status()

    if currentStatus != nextState:
        currentStatus = nextState    # save the current door state
        mqttmanager.publish("esys/dadada/status", currentStatus)   #update mqtt

    mqttmanager.client.check_msg()
    utime.sleep_ms(300)