Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
💥 Les 22 & 23 novembre : Accès 100% GRATUIT
à la Bibliothèque Numérique ENI. Je m'inscris !
  1. Livres et vidéos
  2. Raspberry Pi Pico et Pico W
  3. Plateformes MicroPython
Extrait - Raspberry Pi Pico et Pico W La programmation Python sur microcontrôleur avec MicroPython
Extraits du livre
Raspberry Pi Pico et Pico W La programmation Python sur microcontrôleur avec MicroPython
4 avis
Revenir à la page d'achat du livre

Plateformes MicroPython

Préambule

Avant d’aborder MicroPython sur la plateforme Pico, il est intéressant de faire un petit tour des plateformes supportant MicroPython, y compris les autres plateformes à base de microcontrôleur Raspberry-Pi RP2040.

Le savoir acquis sur le Pico est immédiatement exploitable sur les autres plateformes RP2040. MicroPython étant transposable d’une plateforme à l’autre, le savoir acquis sur le Pico est aussi exploitable sur d’autres plateformes MicroPython.

En effet, le changement d’état d’une broche est identique sur un ESP8266 sous MicroPython, une Pyboard originale, un WiPy ou une plateforme STM32 d’Olimex. Seul le support matériel spécifique (Wi-Fi, Lora, etc.) de la plateforme cible apportera des fonctionnalités spécifiques.

Le restant de ce chapitre passe en revue différentes plateformes MicroPython RP2040, ce microcontrôleur ayant littéralement bouleversé le paysage de l’électronique DIY en l’espace de quelques semaines. Il paraît essentiel pour le lecteur d’avoir une idée, même grossière, des cartes disponibles et de ce qu’elles peuvent apporter.

Ces éléments étant principalement informatifs, la lecture de ce chapitre peut se poursuivre à un moment plus opportun.

À l’assaut du monde professionnel

La programmation Python sur microcontrôleur, MicroPython, n’est plus un phénomène isolé et atteint aujourd’hui un public beaucoup plus large, aussi bien dans le monde des Makers que dans le monde professionnel.

Ces dernières années, MicroPython a connu des portages sur de nombreuses plateformes microcontrôleurs réputées aussi bien dans le monde industriel, qu’en laboratoire ou lors de l’apprentissage scolaire. Ainsi, MicroPython est sorti depuis longtemps de sa niche pour envahir le monde professionnel.

En cette année 2021, la fondation Raspberry-Pi a concrétisé la création du microcontrôleur RP2040 (https://www.raspberrypi.com/documentation/microcontrollers/), le premier à offrir un double cœur permettant l’exécution de deux scripts MicroPython concurrents. Il est aussi l’un des microcontrôleurs disposant du plus de mémoire RAM embarquée. Le Raspberry-Pi Pico et plateformes dérivés sont d’ores et déjà prêts pour les marchés professionnels. Par ailleurs, le lecteur attentif aura remarqué le très faible encombrement des composants sur la carte Pico, ce qui n’est pas franchement dans les habitudes de la fondation Raspberry-Pi ! La plateforme a connu sa première évolution en juin 2022 en recevant un module Wi-Fi plus Bluetooth.

Adafruit Industries (www.adafruit.com) est mondialement réputé pour ses produits de prototypage Arduino et Raspberry-Pi. Offrant un support MicroPython pour les microcontrôleurs Atmel ATSAMD, Adafruit a fait évoluer MicroPython vers CircuitPython afin de faciliter la prise en main matérielle dans le monde des Makers et de l’enseignement. Plus récemment, Adafruit Industries a créé...

Critères de sélection

Plusieurs critères entrent en ligne de compte lors de la sélection d’une plateforme de développement MicroPython, certains d’entre eux étant prépondérants suivant le domaine d’application dans lequel la plateforme sera exploitée.

Les caractéristiques permettent de comparer les aptitudes des différentes plateformes. Parmi ces caractéristiques, voici celles qui doivent retenir l’attention durant le processus de sélection.

images/02RI02.png

Critères de sélection d’une plateforme MicroPython

1. La tension logique

Si une tension logique de 5 volts (V) était encore courante il y a une décennie, ce n’est plus vraiment le cas aujourd’hui. En effet, les nouvelles générations de microcontrôleurs adoptent une logique en 3,3 V comme nouveau standard de marché. À noter qu’il existe également des logiques en 2,5 V et 1,8 V, mais ces dernières restent cantonnées au monde professionnel.

De nombreux Makers issus du monde Arduino devront être particulièrement attentifs à la tension logique. En effet, Arduino Uno et Arduino Mega utilisent toujours une tension logique 5 V, ce qui plutôt une « exception » de nos jours.

Les plateformes actuelles, tout comme le RP2040 du Pico, utilisent une tension logique de 3,3 V, ce qui nécessite quelques ajustements dans les habitudes.

Il n’est pas recommandé d’utiliser des plateformes en logique inférieures à 3,3 V sans disposer d’une solide expérience en logique 3,3 V.

2. La fréquence CPU

Les microcontrôleurs supportant MicroPython ont généralement une fréquence d’horloge assez élevée (supérieure à...

Vue d’ensemble des plateformes disponibles

Le microcontrôleur Raspberry-Pi RP2040 (équipant la plateforme Pico) est également utilisé par d’autres plateformes de développement avec leurs avantages et inconvénients respectifs.

Jamais, jusqu’à présent, la sortie d’un microcontrôleur n’avait créé un tel engouement au point de voir débarquer autant de plateformes alternatives en l’espace de quelques semaines.

La bonne nouvelle est que toutes ces plateformes sont aussi capable d’exécuter nativement du code MicroPython.

Le savoir accumulé avec la plateforme Pico et cet ouvrage est, de facto, utilisable avec toutes les plateformes à base de RP2040. Sans oublier que le lecteur ne sera pas intimidé lors du passage vers un autre type de microcontrôleur (ex : RISC-V, Stm32, ESP32).

Cette section du chapitre reprend quelques plateformes RP2040 dignes d’intérêt. Celles-ci sont regroupées par fabricant.

1. Garatronic - France

Les sociétés Garatronic France et MC Hobby Belgique se sont associées il y a plusieurs années pour proposer des microcontrôleurs compacts, accessibles et supportant MicroPython.

La toute récente PYBStick RP2040 vient compléter la gamme PYBStick.

images/02RI10.png

PYBStick RP2040

La plateforme PYBStick RP2040 propose une solution très compacte orientée vers l’apprentissage et l’éducation. Elle supporte le même brochage que la PYBStick originale et son résistant port USB-A permet toujours de le brancher directement sur un ordinateur.

La PYBStick dispose d’une documentation en français (accessible via les liens ci-après) accompagnée de graphiques et d’exemples.

images/02RI11.png

Brochage du PYBStick-RP2040

Il est possible d’obtenir plus d’informations...

MicroPython et CircuitPython

Un point complémentaire doit être abordé avant de passer à la suite de cet ouvrage : la distinction entre MicroPython et CircuitPython.

La fondation Raspberry-Pi a sélectionné MicroPython comme langage par défaut pour sa plateforme Pico (et le microcontrôleur RP2040).

CircuitPython est un dérivé de MicroPython promu par la société Adafruit Industries USA.

Dérivé de MicroPython ne signifie pas pour autant compatible MicroPython. Seule la partie du langage Python est commune.

Bien que l’auteur, votre hôte, soit un fervent promoteur d’Adafruit Industries pour son approche open source, il déplore cependant l’approche adoptée lors de la création de CircuitPython.

MicroPython propose une API machine pour accéder aux éléments matériels du microcontrôleur (bus I2C, SPI, UART, Timers, etc.). Cette API est stable depuis des années et permet aujourd’hui de contrôler de nombreuses extensions électroniques. De son côté, CircuitPython propose une API alternative nommée digitalio qui, de fait, est totalement incompatible avec celle de MicroPython. Comme le stipule lui-même Adafruit Industries dans sa documentation : « maintenir la compatibilité avec MicroPython n’est pas une priorité ». Dans les faits, il n’y a aucun effort.

Il semble raisonnable pour une grande entreprise (50 millions de dollars) de s’appuyer sur une API stable, qu’elle contrôle elle-même, pour développer sa gamme de 3500 produits. De là à imaginer la création volontaire d’un écosystème presque fermé, il n’y a qu’un pas. Si CircuitPython reste un code ouvert, la communauté MicroPython...