MicroPython et Pyboard

Le langage de programmation MicroPython est une réécriture complète du langage Python à destination des microcontrôleurs. Cela signifie que la syntaxe et les instructions sont les mêmes, mais que le langage a été créé spécialement pour fonctionner sur des machines dont la puissance et les capacités de stockage sont beaucoup plus faibles (par rapport à un ordinateur).

Le langage et la carte Pyboard (Py -> Python, board -> carte) sont nés en même temps en 2014 à l’occasion d’un financement participatif sur Kickstarter.

Je vous ai déjà parlé du langage MicroPython, dans mes articles consacrés au Micro:bit. Mais historiquement la Pyboard était la première carte fonctionnant sous MicroPython.

Dominique Meurisse, blogueur, auteur aux Editions ENI et qui gère (avec Françoise, son épouse) la boutique MCHobby a rapidement été séduit par le langage MicroPython et sa carte officielle. Il a écrit de nombreux articles et tutos consacrés à la Pyboard et depuis quelques années il parcours les salons de France et de Belgique afin d’évangéliser les Makers (et même les vilains « arduinistes« , comme moi).

Dominique Meurisse sur le stand MCHobby à la Maker Faire de Paris 2019

Nous nous sommes rencontré pour la première fois en 2018, à la Maker Faire de Paris et depuis nous sommes devenu amis. Il m’a apporté son soutien dans l’écriture de mon prochain livre.

Le nouveau livre de Dominique

Mais c’est parce que le sujet de son livre m’intéresse que j’ai décidé de vous en parler (je consacrerai d’ailleurs un chapitre dans mon futur livre à la Pyboard).

Par soucis de transparence, je précise que le livre m’a été envoyé gratuitement par les Editions ENI (à ma demande). Cependant, je ne suis pas payé pour en parler (ou en faire la promo). Je n’ai pas non plus de lien d’affiliation (si vous cliquez sur un lien pour l’acheter, je ne toucherai aucune commission).
Bien sûr, ce livre bénéficie d’un à priori positif (l’auteur est un collègue et ami). Cependant, je conserve une totale liberté de parole et si je n’aime pas quelque chose, je vous le dirai.

Le livre est plutôt épais. C’est toujours un peu intimidant pour le lecteur que je suis de se plonger dans un tel « pavé » avec ses 785 pages et 1,173 kg sur la balance.

Le livre "MicroPython et Pyboard" de Dominique Meurisse sur la balance

Mais, il est très agréable à lire. Les 2 premiers chapitres présentent le langage MicroPython. Ils constituent une bonne introduction pour les débutants, mais le lecteur plus averti (ou plus pressé) les lira certainement en diagonale.

Dominique présente ensuite les 2 principales cartes :

La Pyboard

Caractéristiques de la Pyboard

Et Pyboard-D (plus puissante et plus compacte).

Caractéristiques de la Pyboard D

Les chapitres suivants sont consacrés au choix de l’environnement de travail, aux différentes méthodes permettant de communiquer et donc de contrôler la carte (éditeur de texte, REPL, RShell) par USB, Bluetooth, Wifi.

Le 7ème chapitre étudie en détail la séquence de démarrage de la Pyboard. Après quelques chapitres théoriques, j’ai particulièrement apprécié la petite expérience avec 4 LED proposée par Dominique.

Extrait du livre "MicroPython et Pyboard" de Dominique Meurisse

L’utilisation de la carte commence au chapitre suivant (Chapitre 8 – Programmer), après avoir abordé les bibliothèques, nous sommes enfin invité à relier différents composants électroniques à la carte. Dominique, tout à fait conscient de notre impatience, nous invite même à lire en diagonale le début de ce chapitre (quitte à y revenir plus tard, en cas de besoin). Le code et les schémas sont clairs et bien expliqués. Les erreurs que l’on pourrait commettre sont anticipées avec un réel souci du détail. Le chapitre 9 (Capteurs et interfaces) continue l’utilisation concrète de la carte en parlant des modules les plus courants.

Ces 2 chapitres possèdent environ 200 pages chacun. C’est à dire qu’à eux deux, ils constituent presque la moitié du livre. Personnellement, je trouve que c’est une très bonne chose, car c’est la partie la plus intéressante. Bien sûr, la théorie est essentielle pour comprendre ce que l’on fait et éviter certaines erreurs. Mais pour un Maker, le plaisir commence au moment où l’on peut enfin bidouiller sa carte (surtout quand le code fonctionne comme prévu).

Je n’ai évidement pas testé tous les montages proposés par Dominique, mais ce n’est pas le but d’un tel livre. Lorsque j’aurais besoin de piloter un relais, un moteur ou de relier un capteur à la carte, il me suffira de consulter les pages traitant du sujet pour adapter le code et les branchements à mon projet.

Le chapitre 10 permet d’aller encore plus loin. Dominique aborde l’adaptation d’un pilote (utilisant le bus I2C) en MicroPython. Le sujet ne s’adresse clairement pas aux néophytes, mais il est traité avec ce mélange d’humour et de pédagogie que l’on retrouve tout au long du livre et qui permet de faire passer les infos les plus sérieuses sans trop se prendre au sérieux (comme sur cette photo tirée de son blog).

Le 11ème (et dernier) chapitre est un aide mémoire, il fourni un résumé des instructions les plus courantes. Quand on a besoin de vérifier un petit détail afin d’écrire un bout de code, c’est en effet beaucoup plus pratique de retrouver les informations les plus utiles à la fin du livre (au lieu de parcourir 800 pages).

Mais ce n’est pas fini, après cet ultime chapitre, il y a encore les annexes qui contiennent des informations indispensables à l’utilisation et la maintenance de la carte (mise à jour du firmware, Save Mode, Reset Factory…).

Conclusion

Si vous possédez (ou envisagez d’acquérir) une Pyboard, sachez que ce livre est actuellement l’un des plus complet. Il convient parfaitement aux débutants, mais s’adresse également aux utilisateurs plus avancés. L’auteur maîtrise parfaitement son sujet et même s’il va parfois assez loin, ses explications sont toujours très claires et abordables.

De plus il a été écrit par un auteur francophone que vous pouvez facilement rencontrer à la Maker Faire de Paris, Lille ou Bruxelles. Il sera d’ailleurs à Mulhouse les 21 et 22 mars 2020 pour la Maker Fight (moi aussi, mais ce n’est pas le sujet). Alors si, vous habitez l’Est de la France n’hésitez pas vous déplacer et faire dédicacer votre exemplaire.

Livre "MicroPython et Pyboard" de Dominique Meurisse

Si vous souhaitez plus détails sur le contenu du livre, vous pouvez télécharger la table des matières.

Si cela vous intéresse, vous pouvez l’acheter :

  • Sur le site des Editions ENI
  • Chez MCHobby
  • Dans toutes les bonnes librairies…
  • Et aussi dans les mauvaises qui exploitent les salariés pour enrichir les actionnaires, mais je ne vais pas leur faire de pub, alors je vous laisse trouver le lien vous-même.
Publicité

3 réflexions sur “MicroPython et Pyboard

  1. Bonjour Jean-Christophe,
    Merci pour ce retour très instructif. C’est qu’a écrire un ouvrage de cette taille on a parfois peur de rater l’essentiel ou de devenir pesant. Ton regard en tant qu’Arduiniste convaincu est aussi très pertinent car il confirme l’un des objectifs de l’ouvrage… bâtir des ponts entre les domaines du savoir.
    A tout bientôt à Mulhouse
    Dominique

    Aimé par 1 personne

    1. Bonjour Dominique,
      Oui, c’était juste une petite blague, je trouvais rigolo de te décrire comme un évangéliste du MicroPython, mais tu as tout à fait raison de préciser qu’il n’y a pas de guerre de religion entre Arduiniste et MicroPythonistes. L’important c’est de s’amuser à fabriquer, à programmer des objets (avec des LED, des moteurs, des capteurs etc..) et bien sûr de partager ensuite ses idées avec les autres.
      A bientôt
      JC
      PS : Encore toutes mes félicitations pour ce gros bébé 😉

      J’aime

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s