Выполняем подпрограммы в течении заданного времени с помощью асинхронного программирования на языке microPython используя микроконтроллер ESP8266.

страница на этапе разработке.

В данном уроке мы создадим два действия которые будут выполняться «одновременно» на протяжении определенного времени. Это может быть полезно, например когда вы включаете некое устройство и у него должна произойти инициализация — проверка датчиков, проверка значений неких величин, после чего устройство должно перейти к другому алгоритму работы и данные действия одновременно нам более не нужны. 

Программный код:

from machine import Pin
import uasyncio
led5 = Pin(5, Pin.OUT) #D1
led4 = Pin(4, Pin.OUT) #D2

async def blink(led, pause_on, pause_off):
  while True:
    led.on()
    await uasyncio.sleep_ms(pause_on)
    led.off()
    await uasyncio.sleep_ms(pause_off)
    print('ok')

async def main (led1, led2):
uasyncio.create_task(blink(led1, 1000, 1000))
uasyncio.create_task(blink(led2, 500, 500))
await uasyncio.sleep_ms(20_000)

uasyncio.run(main(led5, led4))

Разберем наш программный код: