Main

Questions fréquentes


1.  FAQ Générale

1.1  Qu'est-ce que le système Arduino ? Qu'est-ce que Pyduino ?

Heureux que vous vous posiez la question ! Nous avons une bonne page d'introduction sur Pyduino : à lire ici.

1.2  Où puis-je trouver un comparatif détaillé des possibilités du langage Arduino et de la librairie Pyduino ?

  • La première chose à dire c'est qu'avec Pyduino, vous allez pouvoir coder quasiment à l'identique de ce que vous faîtes avec Arduino.
  • Mais dans le même temps, le simple fait de passer sur une plateforme "mini-PC", çà change beaucoup de choses techniquement parlant : les possibilités de Pyduino, qui sont celles du langage Python, sont tout simplement très intéressantes voire impressionnantes. Sur cette page ( non exhaustive...), j'ai tenté de rassembler quelques points notables qui permettront de se faire une idée assez précise des différences entre les deux solutions : Analyse technique comparative entre Pyduino sur mini-PC et le langage Arduino sur carte Arduino

1.3  Quelle version de Python utilise la librairie Pyduino ?

La librairie Pyduino utilise Python 2.7, essentiellement pour des raisons de compatibilité avec les dépendances utilisées. Ceci étant, il est prévu à moyen terme de migrer Pyduino en Python 3, ce qui en soit n'est pas une chose très compliquée à faire.

1.4  Quelles sont les cartes supportées par Pyduino ?

  • Pyduino peut s'exécuter potentiellement :
    • sur n'importe quelle plateforme mini-PC ayant des connecteurs E/S numérique et analogique, SPI, I2C, PWM, etc...
    • tournant sous Gnu/Linux
    • disposant du langage Python installé (ce qui est le cas de la plupart des plateformes)
  • Cependant, la librairie existe en version spécifique pour chaque matériel utilisé, afin de s'adapter au mieux aux caractéristiques matérielles d'un système donné. Le code Pyduino par contre est exécutable indépendamment de la plateforme utilisée.
  • A ce jour Pyduino est portée sur :
    • le pcDuino 1 et 2, notre préféré à ce jour, ce dernier possédant un brochage "Arduino-like", avec notamment 6 broches analogiques intégrées et 6 voies PWM.
    • le raspberryPi (mais pas de broches analogiques, brochage des E/S assez "ésotérique" n'ayant rien à voir avec Arduino, 1 seule broche PWM hardware...)
  • Il est prévu de porter très prochainement Pyduino sur :
    • la cubieBoard
    • etc...

Potentiellement, la librairie peut assez facilement être adaptée à une plateforme donnée. Plus de détails ici : Materiel: Vue d'ensemble des cartes mini-PC compatibles avec Pyduino

1.5  Comment puis-je me procurer une carte mini PC ?

Les cartes mini-PC ( pcDuino, RaspberryPi, cubiboard, etc..) sont disponibles en France chez www.gotronic.fr

1.6  Quelle carte conseillez-vous ?

A ce jour (Novembre 2014) , nous conseillons d'utiliser pyDuino avec la carte pcDuino : cette carte est en effet plus puissante que le raspberryPi, dispose d'une mémoire NAND qui permet une exécution du système vraiment plus rapide (x3 à x4 comparativement au RaspberyPi , dispose d'un port d'E/S "Arduino like''' et surtout de broches analogiques !! La différence de prix n'est pas si grande que çà (surtout depuis la sortie du pcduino v3 nano à 40$ !) si on prend en compte la nécessité d'une carte SD pour le RaspberryPi...

Voici un comparatif intéressant pour vous aider à faire votre choix en connaissance de cause : Comparatif pcDuino versus RaspberryPi

1.7  En cherchant sur internet, j'ai trouvé une librairie Pyduino pour Arduino utilisant firmata : avez-vous un lien avec ce projet ?

Nous n'avons aucun lien avec cette librairie qui implémente en fait une communication entre une carte Arduino et un code Python via le protocole Firmata. D'autre part, ce projet n'a pas été actualisé depuis 2009 et ne semble pas avoir une grande activité. Par conséquent, nous avons pris la liberté de nommer notre projet également Pyduino, ce nom étant le plus adapté selon nous.

1.8  Avez-vous des liens avec le projet Arduino ou l'équipe Arduino ?

Le projet a été initié de façon autonome et sans lien direct avec le projet Arduino. Par contre, c'est parce que nous apprécions fortement le langage Arduino que nous utilisons depuis plusieurs années que nous avons voulu le porter en Python sur les cartes mini-PC : nous aimons particulièrement sa simplicité de mise en oeuvre, la couche d'abstraction qu'il apporte au micro-contrôleur des cartes Arduino. C'est tout cet esprit que nous voulons garder.

Nous nous retrouvons également dans les valeurs de l'open-source et du libre promues par le projet Arduino. Pour la petite histoire, le projet Arduino est lui-même bâti à partir de 2 autres projets open-source : le langage Wiring et l'interface graphique Processing. Ainsi va la vie dans le monde de l'open-source et du logiciel libre : des projets existants donnent naissance à de nouveaux projets...

Par contre en terme de programmation interne des fonctions Pyduino, nous nous inspirons assez peu du codage du langage Arduino en C, car l'implémentation en Python des fonctions "Arduino" se fait de façon assez différente, et souvent de façon beaucoup plus simple qu'en C/C++.

Au final, nous voyons Pyduino comme un projet assez naturellement complémentaire du projet Arduino pour pouvoir s'adapter aux nouvelles cartes existantes. Débuter avec Arduino garde alors tout son sens : tout ce que l'on aura appris pourra ensuite être utilisé assez simplement sur les cartes mini-PC avec Pyduino. L'inverse est vrai aussi : en apprenant Pyduino, vous apprenez du même coup les instructions Arduino !

1.9  Est-ce que je peux utiliser Pyduino pour programmer une carte Arduino Uno ?

Non : Pyduino "recrée" les fonctions Arduino pour un miniPC et fait en sorte que le code Python fasse la même chose que fait le code Arduino équivalent, mais les istructions sont exécutées directement sur le mini-PC. Le logiciel Arduino, quant à lui, "compile" (=traduit en 0 et 1) le code Arduino pour ensuite le programmer dans la carte Arduino : c'est complètement différent. Par contre, si vous le souhaitez, Pyduino pourra servir à contrôler une carte Arduino : en programmant la carte Arduino avec un code spécifique, il est tout à fait possible de contrôler la carte Arduino avec la librairie Pyduino à partir d'un PC, notamment depuis l'interpréteur. Nous proposerons prochainement un exemple de démonstration. Une telle solution peut être très intéressante pour apprendre Arduino notamment.

1.10  Je veux créer ma propre carte, que dois-je faire ?

A la différence des cartes Arduino à micro-contrôleur, les carte mini-PC ne sont pas réalisables facilement soi-même car beaucoup trop complexes.

1.11  Puis-je construire un produit commercial basé sur Pyduino ?

Oui, en respectant les conditions suivantes :

  • L'utilisation de la librairie pyDuino et des librairies dans votre logiciel pour un produit commercial ne vous oblige pas à produire le code source de votre logiciel. La license GPL, cependant, vous oblige à rendre disponible à vos utilisateurs l'intégralité des codes de la librairie Pyduino. Toute modification des fichiers constituant la librairie Pyduino doivent être produites sous licence GPLv3.
  • Le code source de la librairie Pyduino est couvert par la licence GPLv3, qui oblige que toute modification soit disponible en open-source sous la même licence. Cela n'empêche pas de vendre des logiciels dérivés ou de l'inclure dans des produits commerciaux, à conditions de laisser clairement apparente la licence libre de la librairie Pyduino et l'indication de son utilisation.

Dans tous les cas, les exigences exactes sont celles déterminées dans la licence applicable.

1.12  Quel IDE puis-je utiliser pour programmer avec la librairie pyDuino sur le mini-PC ?

  • Si vous voulez garder l'esprit Arduino, c'est à dire coder d'emblée à l'ouverture du logiciel et à exécuter via un clic sur un bouton, je vous conseille d'utiliser l'IDE Pyduino. Cet IDE intègre la coloration syntaxique Pyduino ainsi que la visualisation de l'indentation des lignes de codes. Il est possible d'écrire plusieurs centaines de lignes de code sans problème dans l'IDE Pyduino.
  • Si vous préférez coder dans un "vrai IDE" en écrivant un vrai code Python utilisant Pyduino, c'est possible. Je vous conseille pour çà d'utiliser Geany : arborescence des fonctions, console système, coloration syntaxique PythonA vous de voir, mais Geany offre un très bon compromis performances / fluidité d'exécution. Il existe de nombreuses autres possibilités, mais certaines sont beaucoup plus gourmandes en ressources ou plus complexes à installer/paramétrer.

1.13  Qui est l'auteur de la librairie Pyduino ?

  • L'auteur de la librairie Pyduino est Xavier HINAULT, travaillant dans le domaine de la santé, amateur passionné d'électronique numérique et embarquée, devenu par la force des choses un codeur "multi-langage" autodidacte (C/C++, Java, Python, Javascript...).
  • L'auteur de la librairie Pyduino est également :
    • l'auteur de la traduction de la référence du langage Arduino en français ( dès 2010) (site perso : www.mon-club-elec.fr)
    • le webmaster du site www.mon-club-elec.fr et de l'ensemble de ses contenus, notamment les "ateliers Arduino", plus de 1500 pages de support didactique détaillé dédié à Arduino
    • l'auteur de la librairie JavacvPro qui implémente OpenCV sous Processing (projet obsolète - actuellement en cours de portage en Python)

1.14  Dépannage

Voir la page "Dépannage"

1.15  Commentaires utilisateurs

Aucun commentaire


Page d'accueil de la référence Pyduino en français

Corrections, suggestions et nouvelle documentation peuvent être postées à l'adresse suivante : support_at_mon-club-elec_point_fr

Cette page a été réalisée par Xavier HINAULT (2013) (www.mon-club-elec.fr) et est sous licence Creative Commons Attribution-ShareAlike 3.0.