def shutdown(self): self.set_standby() log.info('shutdown ...') if self.wakeup_pin is not None: if isinstance(self.wakeup_pin, int): self.wakeup_pin=Pin(self.wakeup_pin) rtc=RTC() rtc.wake_on_ext0(self.wakeup_pin, 0) machine.deepsleep()
def do_deep_sleep(floater): print("Water level is OK. Going to sleep..") # Ref https://github.com/loboris/MicroPython_ESP32_psRAM_LoBo/wiki/rtc rtc = RTC() rtc.ntp_sync(server="hr.pool.ntp.org", tz="CET-1CEST") rtc.synced() rtc.wake_on_ext0(floater, 0) # ESP32 power reduction for battery powered # https://forum.micropython.org/viewtopic.php?t=3900 deepsleep(0)
else: offname = ICON_OFF tft.image(0, 0, offname) width, height = tft.screensize() tft.rect(1, 1, width - 1, height - 1, tft.WHITE) if not Backlight: backlight(True) sleep(2) backlight(False) tft.clear() tft.deinit() if WiFi_active: sta_if = network.WLAN(network.STA_IF) if sta_if.isconnected(): network.ftp.stop() sta_if.disconnect() sta_if.active(False) if AXP202_present: a.clearIRQ() # power-down TFT a.disablePower(AXP202_LDO2) # power-down GNSS a.disablePower(AXP202_LDO3) sleep_ms(20) if RTC_present: rtc.wake_on_ext0(PMU_PIN_IRQ, 0) deepsleep()
if floater.value() == 0: print("Water level warning!") if wifi(settings.WIFI_SSID, settings.WIFI_PWD): utime.sleep(2) print("Sending SMS") try: response = urequests.post(settings.SERIVET_URL, data=ujson.dumps(data), headers=headers) except: print("try again") response = urequests.post(settings.SERIVET_URL, data=ujson.dumps(data), headers=headers) print(response.json()) else: print("Failed to connect to WiFi") else: print("Water level is OK. Going to sleep..") # https://github.com/loboris/MicroPython_ESP32_psRAM_LoBo/wiki/rtc rtc = RTC() rtc.ntp_sync(server="hr.pool.ntp.org", tz="CET-1CEST") rtc.synced() rtc.wake_on_ext0(floater, 0) # https://forum.micropython.org/viewtopic.php?t=3900 deepsleep(0)