from machine import Pin from urequests import get, post from time import sleep_ms from gc import collect from uConfigParser import ConfigParser config_obj = ConfigParser() config_obj.read('config.ini') config = config_obj.config_dict pin = Pin(2, Pin.IN) pin_value = pin.value() while True: current_value = pin.value() if pin_value != current_value: for section in config_obj.sections(): if config_obj.has_option(section, 'url'): try: url = config[section]['url'] method = config[section]['method'] except: print("error when read section %s in config file" % section) else: continue data = {option:config[section][option] for option in config_obj.options(section) if not 'url' in option or not "method" in option} if method == "POST": post(url, **data) elif method == "GET": get(url, **data) pin_value = current_value collect()