Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Discussion: Utiliser python ?

  1. #1
    Membre chevronné
    Homme Profil pro
    Inscrit en
    octobre 2011
    Messages
    1 801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : octobre 2011
    Messages : 1 801
    Points : 2 231
    Points
    2 231

    Par défaut Utiliser python ?

    Salut,

    J'ai cru comprendre (je précise que débute) qu'on pouvait utiliser le langage python avec l'arduino...

    Mais comment cela se passe au juste en interne ? Python étant un langage interprété je suppose qu'on ne peut pas programmer l'arduino directement avec ce langage, est-ce juste ?

    Si la réponse est oui alors comment cela se passe dans ce cas ?

    - J'ai vu un cas où on programme l'arduino en c++ pour envoyer régulièrement la tension sur le port série et alors on peut se servir d'un code en python pour lire le port série et traiter les données...

    - J'ai vu un autre cas où charge un code en c++ ensuite on peut via une librairie spécifique communiquer avec l'arduino via un code en python mais là je ne sais pas comment cela se passe...

    Bref, qu'en pensez-vous ? Y a-t-il d'autres moyens ? Quels sont les meilleurs ?

    Merci.

  2. #2
    Rédacteur/Modérateur

    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    janvier 2009
    Messages
    10 537
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : janvier 2009
    Messages : 10 537
    Points : 45 573
    Points
    45 573
    Billets dans le blog
    9

    Par défaut

    Salut,

    Citation Envoyé par Beginner. Voir le message
    Mais comment cela se passe au juste en interne ? Python étant un langage interprété je suppose qu'on ne peut pas programmer l'arduino directement avec ce langage, est-ce juste ?
    Les micros des Arduino ne sont pas assez costauds (les UNO ou similaires en tout cas) pour faire tourner un interpréteur Python.
    Il y a bien le protocole firmata. On téléverse un firmware dans l'Arduino, mais le programme Python tourne sur le PC qui envoie des commandes via la liaison série. C'est lent, mais ça peut suffire pour faire des tests.

    Pour loger un interpréteur Python dans le micro, on peut se tourner vers les ESP. Voir ici ou .

  3. #3
    Membre chevronné
    Homme Profil pro
    Inscrit en
    octobre 2011
    Messages
    1 801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : octobre 2011
    Messages : 1 801
    Points : 2 231
    Points
    2 231

    Par défaut

    Citation Envoyé par f-leb Voir le message
    Il y a bien le protocole firmata. On téléverse un firmware dans l'Arduino, mais le programme Python tourne sur le PC qui envoie des commandes via la liaison série. C'est lent, mais ça peut suffire pour faire des tests.
    Merci. Oui je crois que c'est une des deux manières que j'ai vues... Et c'est moins performant si j'ai bien compris, je m'en doutais un peu à vrai dire...


    Citation Envoyé par f-leb Voir le message
    Pour loger un interpréteur Python dans le micro, on peut se tourner vers les ESP. Voir ici ou .
    Merci je vais regarder mais je crois que ce sera trop compliqué --->ce n'est pas seulement pour moi, c'est lié au nouveau programme scolaire, on doit utiliser l'arduino avec python...

  4. #4
    Rédacteur/Modérateur

    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    janvier 2009
    Messages
    10 537
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : janvier 2009
    Messages : 10 537
    Points : 45 573
    Points
    45 573
    Billets dans le blog
    9

    Par défaut

    Citation Envoyé par Beginner. Voir le message
    ce n'est pas seulement pour moi, c'est lié au nouveau programme scolaire, on doit utiliser l'arduino avec python...
    Je vois bien de quoi tu parles collègue, c'est pour quel niveau ? Seconde ?

  5. #5
    Membre chevronné
    Homme Profil pro
    Inscrit en
    octobre 2011
    Messages
    1 801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : octobre 2011
    Messages : 1 801
    Points : 2 231
    Points
    2 231

    Par défaut

    Ah ben en fait nous on doit donner une initiation aux étudiants (futurs enseignants)... Je suppose donc qu'ils devront en savoir un peu plus que les élèves de lycée puisqu'ils devront l'enseigner...

    Ah oui j'ai retrouvé le lien où j'avais vu ce dont tu m'a parlé : http://ww2.ac-poitiers.fr/sc_phys/si...age_python.pdf

  6. #6
    Rédacteur/Modérateur

    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    janvier 2009
    Messages
    10 537
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : janvier 2009
    Messages : 10 537
    Points : 45 573
    Points
    45 573
    Billets dans le blog
    9

    Par défaut

    Citation Envoyé par Beginner. Voir le message
    Je suppose donc qu'ils devront en savoir un peu plus que les élèves de lycée puisqu'ils devront l'enseigner...
    voui, je suppose que c'est mieux, mais si c'est pour des profs de physique, je suppose aussi que l'objectif n'est pas d'apprendre la programmation, mais l'arduino est un moyen de faire des expérimentations avec des capteurs. La solution firmata est sans doute suffisante dans ce cas (faut voir du côté vitesse d'échantillonnage par contre).

    Par contre c'est dommage d'imposer l'Arduino. Un kit à base d'ESP32 avec un firmware micropython et un EDI Python très simple comme Thonny côté PC n'est pas plus compliqué à prendre en main il me semble avec le côté connecté WiFi ou Bluetooth en prime...

    Mais il y a peut-être des versions d'Arduino avec des micro 32 bits et suffisamment de mémoire qui peuvent implémenter micropython maintenant, à voir...

  7. #7
    Modérateur

    Homme Profil pro
    Ingénieur électricien
    Inscrit en
    septembre 2008
    Messages
    809
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur électricien

    Informations forums :
    Inscription : septembre 2008
    Messages : 809
    Points : 2 566
    Points
    2 566

    Par défaut

    Bonsoir à tous

    Je trouve que enseigner de la sorte est particulièrement maladroit.
    On veut faire de l'embarqué, mais on doit y adjoindre un PC pour faire le boulot et on est limité entre 1/10ème et 1/100ème de ce que la puce est capable de faire.

    Au final dans ce cas d’utilisation l'Arduino n'est plus qu'un simple RTU. Car quand à faire de l'enseignement, autant dire clairement ce que l'on fait.

    Bonne suite

    Delias

  8. #8
    Membre chevronné
    Homme Profil pro
    Inscrit en
    octobre 2011
    Messages
    1 801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : octobre 2011
    Messages : 1 801
    Points : 2 231
    Points
    2 231

    Par défaut

    Oui c'est bien ça c'est pour des futurs enseignants en physique et effectivement l'informatique n'est pas leur priorité...

    Citation Envoyé par f-leb Voir le message
    Par contre c'est dommage d'imposer l'Arduino. Un kit à base d'ESP32 avec un firmware micropython et un EDI Python très simple comme Thonny côté PC n'est pas plus compliqué à prendre en main il me semble avec le côté connecté WiFi ou Bluetooth en prime...
    Ben en fait ce choix n'est pas le mien mais je suppose que l’Arduino a été choisi car il est populaire, répandu... On ne prend pas de risque...

  9. #9
    Rédacteur/Modérateur

    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    janvier 2009
    Messages
    10 537
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : janvier 2009
    Messages : 10 537
    Points : 45 573
    Points
    45 573
    Billets dans le blog
    9

    Par défaut

    AVERTISSEMENT : Cette configuration ne permet pas une utilisation à fréquence d’échantillonnage élevée de la carte Arduino : les manipulations type « générer un signal sonore » ou « mesurer une distance par ultrasons » ne sont donc pas possibles.
    C'est quand même très embêtant pour des physiciens

  10. #10
    Rédacteur/Modérateur

    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    janvier 2009
    Messages
    10 537
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : janvier 2009
    Messages : 10 537
    Points : 45 573
    Points
    45 573
    Billets dans le blog
    9

    Par défaut

    Citation Envoyé par Delias Voir le message
    Au final dans ce cas d’utilisation l'Arduino n'est plus qu'un simple RTU.
    Ah merci, je cherchais le bon terme.

  11. #11
    Membre chevronné
    Homme Profil pro
    Inscrit en
    octobre 2011
    Messages
    1 801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : octobre 2011
    Messages : 1 801
    Points : 2 231
    Points
    2 231

    Par défaut

    Citation Envoyé par Delias Voir le message
    Je trouve que enseigner de la sorte est particulièrement maladroit.
    On veut faire de l'embarqué, mais on doit y adjoindre un PC pour faire le boulot et on est limité entre 1/10ème et 1/100ème de ce que la puce est capable de faire.

    Au final dans ce cas d’utilisation l'Arduino n'est plus qu'un simple RTU. Car quand à faire de l'enseignement, autant dire clairement ce que l'on fait.
    Oui c'est vrai que cela peut paraitre étrange, j'avais aussi réagi comme cela, je m'étais dit dés le début qu'à priori Python n'était pas le meilleur langage pour programmer un microcontrôleur... Mais Python a la cote et figure au programme alors je suppose que c'est pour cela qu'il a été choisi... Apprendre un autre langage comme le C++ ça fait peut-être beaucoup pour des étudiants en physique pour qui l'informatique n'est pas la matière principale... En plus certains ont déjà du mal avec Python...

    C'est la première année alors il n'y a pas encore de retour...

  12. #12
    Membre chevronné
    Homme Profil pro
    Inscrit en
    octobre 2011
    Messages
    1 801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : octobre 2011
    Messages : 1 801
    Points : 2 231
    Points
    2 231

    Par défaut

    Citation Envoyé par f-leb Voir le message
    C'est quand même très embêtant pour des physiciens
    Oui nous sommes d'accord c'est bien dommage... Je pense que ce sera juste pour faire découvrir après je suppose que ceux qui seront vraiment intéressés se spécialiseront...

    PS : Je ne sais pas ce qu'est un RTU (le lien est-il bien correct ?) mais c'est vrai que lorsque j'ai expliqué cela j'avais dit que de cette manière on ne "fait pas vraiment de l'Arduino", le dispositif électronique pourrait très bien être autre chose (un multimètre ou un oscilloscope avec sortie série).

    Ceci dit en physique on utilise bien des cartes d'acquisition avec le logiciel qui va avec (une sorte d’oscilloscope numérique sur pc...).

  13. #13
    Membre chevronné
    Homme Profil pro
    Inscrit en
    octobre 2011
    Messages
    1 801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : octobre 2011
    Messages : 1 801
    Points : 2 231
    Points
    2 231

    Par défaut

    Je reviens sur ce point :
    AVERTISSEMENT : Cette configuration ne permet pas une utilisation à fréquence d’échantillonnage élevée de la carte Arduino : les manipulations type « générer un signal sonore » ou « mesurer une distance par ultrasons » ne sont donc pas possibles.
    Je pense que c'est lent car on installe un firmware pour pouvoir ensuite programmer (d'une manière générale) l'Arduino en Python mais si on voulait que ce soit plus rapide ne pourrait-on pas charger un code C++ plus spécifique, un code qui ferait les mesures rapidement et les transmettrait via le port série pour être traiter (comme par exemple afficher la courbe) avec un code Python ?

    Cela reviendrait à faire ce que l'on fait déjà en physique : utiliser une carte d'acquisition avec le logiciel qui va avec (une sorte d’oscilloscope numérique sur pc...).

  14. #14
    Modérateur

    Homme Profil pro
    Ingénieur électricien
    Inscrit en
    septembre 2008
    Messages
    809
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur électricien

    Informations forums :
    Inscription : septembre 2008
    Messages : 809
    Points : 2 566
    Points
    2 566

    Par défaut

    Bonsoir

    Voilà le lien est corrigé (problème au copier). En français cela doit être module d'entrée/sortie déporté, sans en être certain.

    Cela me rappel cette discussion: Créer un son d'une fréquence déterminée avec un programme Python et Arduino. J'explique quoi faire pour aller plus loin!

    En gros on est capable de commander en statique les sorties (allumer, éteindre ou valeur PWM pour celles qui le peuvent) de lire l'état (haut, bas ou valeur en analogique) et c'est tout!
    Pas de fréquence, pas de référence temps un minimum précis donc pas de mesure de fréquence d'un signal de capteur, pas d'utilisation des bus de donnée.

    Si je compare avec mes études (génie électrique) cela ne couvre même pas ce que l'on a fait au premier labo d'embarqué (en sachant que l'on a deux cours de 7 respectivement 14 labos, le premier en ASM sur AVR le deuxième en C sur DSP, c'était en 2002-2007). Avec nous il y avait également des futures ingénieur en génie mécanique et en matériaux, il ne faut pas me dire qu'ils ont de la facilité en informatique.

    Et un autre point, être confronté dès le début à plusieurs langages force à séparer la logique (l’algorithme) de la syntaxe, c'est extrêmement formateur!

    Delias

  15. #15
    Membre chevronné
    Homme Profil pro
    Inscrit en
    octobre 2011
    Messages
    1 801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : octobre 2011
    Messages : 1 801
    Points : 2 231
    Points
    2 231

    Par défaut

    Merci pour la correction du lien et aussi pour le lien de la discussion, je vais regarder cela...

    Sinon peut-être que le responsable de la formation changera d'avis sur la manière d'enseigner ce module...

  16. #16
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    avril 2004
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 7 171
    Points : 10 019
    Points
    10 019

    Par défaut

    Je trouve dommage d'utiliser Python pour programmer un Arduino. Autant utiliser les outils développés pour ce genre de carte et adaptés au microcontrôleur.

    Citation Envoyé par Beginner. Voir le message
    J'ai vu un cas où on programme l'arduino en c++ pour envoyer régulièrement la tension sur le port série et alors on peut se servir d'un code en python pour lire le port série et traiter les données...
    Oui, tu peux utiliser Python pour communiquer avec un Arduino. Le programme tournera sur ton PC. Il faudra veiller à régler les contrôles de flux (rts, cts) correctement en fonction de l'Arduino choisi.

  17. #17
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Ancien développeur matériel électronique (Hard/Soft)
    Inscrit en
    avril 2002
    Messages
    2 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ancien développeur matériel électronique (Hard/Soft)
    Secteur : Service public

    Informations forums :
    Inscription : avril 2002
    Messages : 2 454
    Points : 8 344
    Points
    8 344

    Par défaut

    @Delias, sous couvert de Beginner et f-leb qui sont dans l'enseignement,
    L'éducation nationale en France a décidé t'introduire une langage de programmation à partir du lycée (Secondaire II en Suisse ?) afin de familiariser les futurs étudiants aux notions d'informatique/algorithmie et je crois que c'est une sorte d'initiation à la recherche si j'ai bien compris la circulaire que j'ai lu sur le site du ministère de l'éducation. La nuance c'est qu'il ne faut pas que ça se transforme en cours d'informatique car ce n'est pas le but, il faut que ce soit vu comme un outil d'apprentissage. Je crois comprendre que c'est le professeur de Physique qui est désigné pour apporter cet outil aux étudiants ? La question qu'est ce que le prof de Physique va bien pouvoir faire avec ses étudiants en Python ?

    C'est sans doute pour cette raison que l'approche te semble bizarre.


    @Beginner,
    Faire du Python ou microPython sur un microcontrôleur (http://micropython.org/stm32/) est à mon avis une mauvaise solution car ça va amener un double problème; il faut apprendre le python + le microcontrôleur sans pour autant que le cours de Physique ne se transforme en cours d'électronique et d'informatique. A mons avis ça irait directement dans le mur

    En revanche
    Citation Envoyé par Beginner
    ne pourrait-on pas charger un code C++ plus spécifique, un code qui ferait les mesures rapidement et les transmettrait via le port série pour être traiter (comme par exemple afficher la courbe) avec un code Python ?

    Cela reviendrait à faire ce que l'on fait déjà en physique : utiliser une carte d'acquisition avec le logiciel qui va avec (une sorte d’oscilloscope numérique sur pc...).
    C'est exactement l'approche qui a été choisi pour le module Scilab-Arduino de SciLab pour les classes prépas http://www.demosciences.fr/projets/scilab-arduino. Le pas d'échantillonnage est géré ! Quasi tout le boulot est fait côté Arduino, il faut "juste" mettre Python à la place de Scilab.




    Citation Envoyé par f-leb
    AVERTISSEMENT : Cette configuration ne permet pas une utilisation à fréquence d’échantillonnage élevée de la carte Arduino : les manipulations type « générer un signal sonore » ou « mesurer une distance par ultrasons » ne sont donc pas possibles.
    C'est quand même très embêtant pour des physiciens
    C'est même catastrophique...
    Avec un pas d'échantillonnage le prof de Physique peu apprendre a ses élèves comment faire l'intégrale approchée d'un signal par la méthode des rectangles, puis des trapèzes, puis par la méthode de simpson, il va pouvoir leur faire faire des dérivées approchées du signal, ... et démarrer l'analyses numériques.
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  18. #18
    Membre chevronné
    Homme Profil pro
    Inscrit en
    octobre 2011
    Messages
    1 801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : octobre 2011
    Messages : 1 801
    Points : 2 231
    Points
    2 231

    Par défaut

    Citation Envoyé par Auteur Voir le message
    Je trouve dommage d'utiliser Python pour programmer un Arduino. Autant utiliser les outils développés pour ce genre de carte et adaptés au microcontrôleur.
    Tout-à-fait nous sommes d’accord...

    Ah petite question : le langage dit "Arduino" c'est une sorte de C++ simplifié, non ?
    Je me demandais aussi si dans le code C++ on pouvait mettre une portion de code en assembleur ?

    Citation Envoyé par Auteur Voir le message
    Oui, tu peux utiliser Python pour communiquer avec un Arduino. Le programme tournera sur ton PC. Il faudra veiller à régler les contrôles de flux (rts, cts) correctement en fonction de l'Arduino choisi.
    Ok merci c'est donc une piste à creuser...


    Citation Envoyé par Vincent PETIT Voir le message
    @Beginner,
    Faire du Python ou microPython sur un microcontrôleur (http://micropython.org/stm32/) est à mon avis une mauvaise solution car ça va amener un double problème; il faut apprendre le python + le microcontrôleur sans pour autant que le cours de Physique ne se transforme en cours d'électronique et d'informatique. A mons avis ça irait directement dans le mur
    Oui j'ai pensé la même chose et d'ailleurs je l'ai dit au responsable de la formation... En fait comme c'est la première année il n'y a pas encore de recul même si certains soupçonnent déjà que cela ne pas fonctionner...


    Citation Envoyé par Vincent PETIT Voir le message
    En revanche

    C'est exactement l'approche qui a été choisi pour le module Scilab-Arduino de SciLab pour les classes prépas http://www.demosciences.fr/projets/scilab-arduino. Le pas d'échantillonnage est géré ! Quasi tout le boulot est fait côté Arduino, il faut "juste" mettre Python à la place de Scilab.
    Ok donc c'est une piste à creuser... Merci pour le lien.

  19. #19
    Rédacteur/Modérateur

    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    janvier 2009
    Messages
    10 537
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : janvier 2009
    Messages : 10 537
    Points : 45 573
    Points
    45 573
    Billets dans le blog
    9

    Par défaut

    Il y a du monde par ici

    Citation Envoyé par Vincent PETIT Voir le message
    L'éducation nationale en France a décidé t'introduire une langage de programmation à partir du lycée (Secondaire II en Suisse ?) afin de familiariser les futurs étudiants aux notions d'informatique/algorithmie et je crois que c'est une sorte d'initiation à la recherche si j'ai bien compris la circulaire que j'ai lu sur le site du ministère de l'éducation. La nuance c'est qu'il ne faut pas que ça se transforme en cours d'informatique car ce n'est pas le but, il faut que ce soit vu comme un outil d'apprentissage.
    En Maths on y apprend l'algorithmie, en Physique/chimie/Sciences et Vie de la Terre il y a des besoins d'expérimentation/mesures avec des capteurs, il y a maintenant des spécialités informatiques, etc., bref plusieurs disciplines. Je pense qu'il était judicieux de choisir un langage commun, avant que chacun ne parte de son côté avec son petit langage de prédilection. Et comme Python est adapté pour tout, même l'embarqué

    Fixer un cadre était nécessaire, mais du coup, l'Ed Nat aurait pu (dû) s'autoriser cette petite entorse en programmant l'Arduino avec le langage du même nom qui est tout autant adapté au monde éducatif. Je ne connais pas les textes officiels en Physique, mais il y a des textes officiels qui en général n'imposent pas de langage ou de matériel particulier, et des personnes haut-placées qui interprètent les textes pour imposer leur point de vue

  20. #20
    Modérateur

    Homme Profil pro
    Ingénieur électricien
    Inscrit en
    septembre 2008
    Messages
    809
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur électricien

    Informations forums :
    Inscription : septembre 2008
    Messages : 809
    Points : 2 566
    Points
    2 566

    Par défaut

    Bonsoir à tous

    Secondaire, c'est l'avant-dernière année avant le bac?
    Moi j'étais dans l'apprentissage de l'ASM d'un micro Siemens 8 bits. Après avoir fait du pseudo Turbo Pascal sur Delphi 1 au moyen de l'unité WinCRT l'année d'avant. (mais bon c'était un CFC, pardon un CAP, d'électronicien.)

    Mais là c'est 1ère prépra, donc l'équivalent de la première du cycle Bachelor. Pour des futurs physiciens il y a quand-même des bases à avoir. À ses débuts, l'informatique fut développée par les physiciens avant de devenir une branche à part (du moins à mon école).

    Citation Envoyé par f-leb Voir le message
    Et comme Python est adapté pour tout, même l'embarqué
    Ouai bon je n'ai pas voulu réagir, mais c'est n'importe quoi. Comment un langage incapable de fonctionner sur plus de 50% des modèles de puces concernées peut être classé premier? Ou alors l'embarqué ce n'est plus que les micro-ordi avec OS et je passe pour un dinosaure?

    Sur Arduino Uno, il est possible de faire de l'ASM (spécifique AVR), C et C++. On évitera pour autant de faire de la gestion mémoire dynamique (toutes les variables sont définie dans le code et reçoive une adresse par le compilateur, pas de malloc, free, etc.) et du polymorphisme (méthode virtuelle) car bien que admit par le compilateur il n'y a pas les protections de dépassement (pour la mémoire) et cela plombe les perfs.
    Le langage Arduino c'est du C++ avec une bonne couche de bibliothèques et un code de base (le main() qui appel le setup() et le loop() et qui gère certains périphériques comme les timers).
    L'ASM est intégrable dans le code mais le mélange avec le C/C++ est "difficile" (dans le sens qu'il faut avoir la doc sous les yeux et faire super gaffe) car l'architecture a 32 registres d'usage général, pas A et B comme sur x86. Il y a une application sheet d'Atmel là dessus (principalement c'est comment le compilateur C/C++ gère ces 32 registres pour interfacer proprement les données entre les parties et ne pas effacer quelque chose qu'il ne faut pas) voir ici également. C'est copieux. Pour des débutants c'est soit ASM soit C/C++, mais inutile de vouloir les mélanger. De plus on peut accéder à 100% des fonctionnalité de la puce en C/C++, inutile de faire de l'ASM sauf à vouloir gratter des pour mille de performance. Par contre faire en C ou en C++ au lieu de Arduino c'est minima 25% de perfs en plus.

    Vous voulez faire de l'embarqué, alors faîtes de l'embarqué dans son langage. Arduino reste simple à comprendre.

    La solution python c'est plus du genre "acquisition de signal" et là LabView c'est 1'000'000 fois mieux. Tout le traitement du signal peut être fait rapidement sans pour autant mettre les mains dans le cambouis. Et à mon avis la solution Python est plus compliquée et plus décourageante que l'Arduino ou LabView. (Mais LabView ce n'est pas pour la 1ère prépra, c'est pour plus tard).

    Bonne suite

    Delias

Discussions similaires

  1. Problèmes pour utiliser Python.h
    Par micheldup dans le forum Interfaçage autre langage
    Réponses: 7
    Dernier message: 29/09/2008, 18h08
  2. utiliser python pour utiliser XSLT
    Par DrDam dans le forum Général Python
    Réponses: 1
    Dernier message: 25/05/2008, 16h26
  3. Utiliser python comme PHP.
    Par iflypunk dans le forum Réseau/Web
    Réponses: 5
    Dernier message: 19/12/2007, 13h21
  4. Comment utiliser Python avec un RAD
    Par marjal dans le forum EDI/RAD
    Réponses: 3
    Dernier message: 10/03/2007, 19h07
  5. Utiliser Python et PostGresql pour créer un site Web
    Par rvweb dans le forum Réseau/Web
    Réponses: 8
    Dernier message: 22/10/2006, 20h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo