Asynchronous programming with MicroPython using uasyncio

Along the lines of https://community.hiveeyes.org/t/micropython-quo-vadis/2357. Paul Sokolovsky is conceiving the fine uasyncio library and recently forked Vanilla MicroPython into Pycopy MicroPython.

Overview

Early days of MPY uasyncio

MPY uasyncio

Until June 2019.

Pycopy uasyncio

Beginning July 2019.

micropython-async module

By Peter Hinch.

Favorite candidates

https://pypi.org/project/pycopy-uasyncio

Using uasyncio on the ESP8266

How to install micropython-uasyncio on PyCom hardware





Lightweight threading

Weitere Möglichkeiten zur Abarbeitung quasi-nebenläufiger Ausführungsfäden bieten leichtgewichtige Microthreads.

Ein frühes Ding in diesem Bereich ist der
https://github.com/peterhinch/Micropython-scheduler

Diese Reise geht in die Richtung, wie man “asynchronous programming” auf der Basis von kooperativem Multitasking oftmals realisiert.

Hintergrundinformationen

Ein Scheduler, der ein solches Pseudomultitasking-Konzept auf Basis von Koroutinen realisiert, nennt sich häufig auch Trampoline Scheduler.

If you are interested in more details about these asynchronous techniques, how they might be implemented on the system level and how all of this eventually relates to addressing http://www.kegel.com/c10k.html, you might enjoy reading https://netfrag.org/~amo/documents/tech/lightweight-scaling.html.

Im MicroPython-Land ist die Reisegruppe gerade hier angekommen.

New uasyncio version

While the original uasyncio implementation for MicroPython has been contributed by Paul Sokolovsky, Damien George now has a complete rewrite in the pipeline, see