Asyncio sur ESP MicroPython:Asyncio Asyncio

Un sous-ensemble de Asyncio est disponible dans le firmware MicroPython depuis la release 1.9.3 (cf. module uasynio). MicroPython a maintenant atteint la version 13.0 et c’est la version 3.0 d’Asyncio qui est aujourd’hui intégrée au firmware MicroPython.

Asyncio sera utilisé dans le présent projet pour réaliser un planificateur de tâches (scheduler) en vue d’exécuter des opérations à intervalles réguliers. Celles-ci sont aussi variées que :

  • publier des données sur le broker MQTT,

  • faire clignoter la LED heartbeat,

  • traiter les messages MQTT entrants.

1. Asyncio en quelques mots

Asyncio permet d’exécuter plusieurs sections de code (des fonctions, dites « coroutines ») de manière asynchrone. Quand une section de code termine (ou suspend) son exécution, alors Asyncio peut passer la main à une autre section de code à exécuter.

Attention, il ne s’agit pas de traitement multitâche en parallèle. La boucle d’exécution d’Asyncio utilise un seul et unique processus pour gérer l’exécution, l’une après l’autre, des sections de codes. Elle permet un traitement des sections de code sans blocage en utilisant un mode coopératif.

Étant donné que cette boucle d’exécution et les sections de codes fonctionnent dans un seul et même processus, cela implique...

couv_LF2PYRASPFL.png

Découvrez 

le livre :

Aussi inclus dans nos :

Précédent
MQTT sous ESP
Suivant
Abstraction matérielle ESP8266/ESP32