Faut-il un tuto sur l'interface Arduino ⇄ Python?

J'ai vu passer pas mal de questions (en différentes langues) sur l'interface par le port série d'un Arduino avec un programme tournant sur Python sur le Mac/PC

Il y a déjà des solutions mais je me demande si un petit exemple de code / mini tuto serait utile.

Des avis ?

  • J'ai besoin de discuter entre Python et Arduino et c'est compliqué. Ce serait utile
  • Je sais faire quand j'ai besoin, pas besoin d'infos
  • ça sert à rien, de nos jours tout passe par TCP-IP et sans fil
  • mais de quoi parle-t-il ??

0 voters

niveau de réponse limité (10 réponses) même si 70% pensent que ça pourrait aider...

je posterai plutôt un projet fini avec un exemple de code mais ça ne vaut peut-être pas le temps d'écrire un tuto détaillé

merci aux votants

Je n'ai pas vu passer ce sondage, j'y aurai répondu.

Pour moi :
Oui pour voir.

Et pour voir il faut bien expliquer comment démarrer.
Le plus dur ce sont les habitudes qui changent, les mots qui n'ont pas tout à fait la même signification, après en général, avec du travail et de la persévérence c'est plus simple.

Il m'a toujours semblé que python était un langage interprété et donc selon toute logique, il faudrait charger un interpréteur dans le microcontrôleur.
Avant d'écrire cette phrase j'ai fais une recherche avec "duckduckgo" et dans la recherche "python est un langage interprété ou compilé".

La première réponse me laisse pantois......
" Ainsi, on peut dire sans mentir que Python est à la fois un langage interprété et un langage compilé. Ce n'est pas le langage en lui-même qui est interprété ou compilé, mais la façon dont on l'utilise."

Je ne parlais pas de micro python qui est possible d'embarquer dans certaines cartes mais plus du besoin de faire tourner un programme écrit en Python sur le Mac/PC qui discute avec un Arduino par le biais du port série.


oui ce qu'ils veulent dire est sans doute à plusieurs sens
1/ nombre de fonctions que vous appelez sont codées en C et donc précompilée, vous avez un interpréteur de la commande, mais la commande elle même est déjà en langage machine.
2/ l'utilisation d'un langage pivot en byte code (les fichiers .pyc) sont une sorte de première compilation de votre code textuel. C'est cela qui est utilisé par le runtime, pas le fichier ASCII
3/ il existe aussi (comme pour Java) des versions de Python avec JIT (just in time compiler) qui vont compiler le code et le faire tourner dans une machine virtuelle (ou pas). Voir par exemple Numba qui utilise LLVM ou sur PC Pyjion (pour CPython).

J'avais lu parcouru trop vite.
C'était aussi le signe d'un esprit occupé par : comment prépare-t-on un RP2040 pour le commander en python ?

C'est probablement très simple, puisque je n'ai pas trouvé d'article qui en parle.
Le RP2040 est-il livré sortie usine "prêt pour python" ?
Si oui et qu'on l'a programmé en C++ la "préparation" disparait-elle ?
S'il faut le re-préparer pour python comment fait-on l'opération inverse ?
Ce sont ces petits détails, passés sous silence, qui bloquent.

Mais c'est effectivement un autre sujet.
Je ferme la parenthèse ouverte par erreur.

il y a des articles mais en anglais sans doute et faut peut être utiliser google...

ce n'est pas compliqué:

  • vous téléchargez le .UF2 ici
  • vous tenez le bouton BOOTSEL de la carte appuyé pendant que vous branchez votre carte par USB . ça va faire apparaître la carte comme un disque externe qui s'appelle RPI-RP2
  • vous copiez le ficher UF2 sur la carte. une fois la copie du bootloader / firmware réalisée, le device se reset et est prêt

vous pouvez utiliser l'IDE Thonny, il faut alors choisir dans le menu Exécuter / Configurer l'interpréteur le MicroPython Raspberry Pi Pico

et vous pouvez ensuite choisir le port

une fois que vous avez écrit votre code python (ou micro python) vous faites "play", ça vous demande où sauver le fichier, vous choisissez sur la carte et le programme est chargé

j'ai trouvé un article où ils en parlent

(scroller pour aller vers la fin - Micropython ## Installation de CircuitPython)

Merci.

Bonjour

Le RP2040 est-il livré sortie usine "prêt pour python" ?

Non , le microcontrolleur RP2040 est livré avec son bootloader UF2 gravé en ROM, assurance de pouvoir reprendre la main sur en toutes circonstances.........

Certains vendurs de cartes à base du puce RP2040 peuvent livrer leur carte après préparation, c'est au cas par cas

mes cartes Raspberry Pico et Raspberry Pico W n'avaient pas de RP2040 'préparés'
A la mise sous tension la mémoire de masse RPI-RP2 est apparue contennant deux petits fichiers : index.htm et info_uf2.txt... tout se joue ensuite en fonction du fichier .uf2 qui y est déposé

Hors sujet : dans les cas des ESP32, ESP32-C3, ESP32-S2..... il est recommandé de faire un effacement total de la mémoire Flash avant d'installer micropython ou circuit python pour eliminer toute trace d'utilisation autre antérieure. effacement et installatio se faisant bien entendu avec esptool pour exploiter le bootloader en ROM des ESP32

Bonjour,

Peut être un hasard? Cet article vient de sortir :

Bonne lecture.
A+

coincidence en effet

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.