       update_gps();
       handle_report();
       handle_lock();
+      check_network();
       break;
     default:
       Serial.println("unknown status: " + g_status);
       break;
   }
+
+  if (g_buzzer_on && (millis() - g_buzzer_on_ms > g_buzzer_duration)) {
+    stop_buzzer();
+  }
   delay(20);
 }
 

  }
}

/* messageReceived and extMessageReceived must be defined with no 'static', because MQTTClient use them */
void messageReceived(String topic, String payload, char *bytes, unsigned int length) {
  Serial.println("msg: " + topic + ", " + payload);

  }
}

static void handle_report() {
  if (!g_need_report) {
    return;
  }
