我已经使用了GPIO接口。和在F中,为朋友提供了esp_sleepenable_gp_id我从夜间睡眠传输消息,进入睡眠状态。 import sleep位置
x127x,esp32 import cfg_lor as cfg from machine import Pin, deep idle from import sleep = 'Balkonas' Sensor ='Balkonas' Sensor = ' Balkonas ' Sensor =' OC def(Value): '{};{}:{}#Battery:3.82#Temp:23.2'.format(Device, Sensor, Value) payload = '{};{}:{}'.format(Device, Sensor, Value) lora = sx127x.SX127x(cfg.lora_spi, pin=cfg.lora_pins, parameters=cfg.lora_default) print("LoRa Started"); 打印(有效载荷) lora.println(payload) led1 = Pin(2, Pin.OUT) led1.on() wakeReason = wake_reason() print('Wake Reason =', wakeReason) btn1 = Pin(32, Pin.IN, Pin.PULL_DOWN) # 通常为低,按下时为高btn2 = Pin(33, Pin.IN, Pin.PULL_DOWN) # 通常为低,按下时为高if( btn1.value() == 1 and btn2.value() == 0 ): Pin (32, Pin.IN, 无) esp32.wake_on_ext0(pin = btn2, level = esp32.WAKEUP_ANY_HIGH) 传输("关闭") elif( btn1.value() == 0 and btn2.value() == 1): Pin(33,Pin.IN,无) esp32.wake_on_ext0(pin = btn1,level = esp32.WAKEUP_ANY_HIGH) 传输(“打开”)否则: esp32.wake_on_ext0(pin = btn1, level = esp32.WAKEUP_ANY_HIGH) esp32.wake_on_ext1(pins = (btn2, ), level = esp32.WAKEUP_ANY_HIGH) transmit("Unknown") idle() print("等待五秒") sleep( 5) #Do NOT remove this statement print("Going to sleep") led1.off() deepsle
但我尝试使用ext0和ext1启动p32,我想使用任何gpio,而使用任何gpio(连接到RTC的gpio)。我可以拥有更多的控制权,可以使用不同的监控。仅在 espressif 时。触发,而ext0或ext1则无法使用成功。