Mini-PC : Pyduino : Structure de la librairie Pyduino Ce qu`on va

publicité
Mini-PC : Pyduino : Structure de la librairie Pyduino
Par X. HINAULT – Novembre 2014 – www.mon-club-elec.fr
Ce qu'on va faire ici...
Je vous présente ici la structure interne de la librairie Pyduino telle que je l'ai mise en place et comment s'articulent les différents fichiers Python de la librairie.
Concepts généraux
La librairie Pyduino est une librairie Python, écrite en langage Python, langage très polyvalent et puissant, tout en restant simple.
Implémenter les fonctions Arduino sur mini-PC
La première idée fondamentale de la librairie Pyduino est la suivante : pouvoir utiliser un mini-PC aussi simplement qu'une carte Arduino, système de
développement low-cost dont le succès n'est plus à démontrer. Les mini-PC viennent en effet bousculer les possibilités du développement DIY (« Do It Yoursel »)
et les utiliser n'est pas si simple, notamment pour l'accès aux GPIO. On retrouvera donc l'implémentation de la plupart des fonctions Arduino sur le mini-PC grâce
à la librairie Pyduino. Après installation (15-20 minutes), on est mesure de faire clignoter une LED, etc... comme avec Arduino !
Accéder à toutes les fonctionnalités du mini-PC au sein d'un même code
L'autre objectif fondamental de la librairie Pyduino est de pouvoir utiliser au sein d'un même code aussi bien une LED, un bouton poussoir (GPIO) qu'enregistrer
des données dans un fichier ou créer un serveur (fonctionnalités « système ») et même capturer une image webcam ou générer un message en synthèse vocale
(fonctionnalités multimédias) ! Toutes ces fonctions sont implémentées en natif avec la librairie Pyduino et vous n'avez besoin quasiment d'aucun shield
complémentaire pour vous lancer dans des projets évolués.
Ne pas limiter les possibilités de développement
La librairie Pyduino est une librairie Python comme une autre ce qui veut dire que l'on pourra utiliser au besoin n'importe quelle librairie Python existante (plus de
20 000) au sein d'un code Pyduino ! Et l'on pourra aussi utiliser Pyduino au sein de n'importe quel autre code Python (interface PyQt par exemple...!)
Mini-PC : Pyduino : Structure de la librairie Pyduino - Par X. HINAULT – Novembre 2014 – www.mon-club-elec.fr – p. 1 / 5
Le répertoire de la librairie Pyduino
L'ensemble des fichiers de la librairie Pyduino tiennent dans un répertoire :
Mini-PC : Pyduino : Structure de la librairie Pyduino - Par X. HINAULT – Novembre 2014 – www.mon-club-elec.fr – p. 2 / 5
Structure fonctionnelle de la librairie Pyduino
La librairie est organisée en plusieurs fichiers Python afin d'en faciliter la maintenance :
pyduinoCoreCommon.py : fichier contenant les variables communes à l'ensemble des fichiers de la librairie
pyduinoCoreBase : fichier contenant les fonctions communes Arduino (temps, bits, rescale, random..)
pyduinoCoreLibs : fichier contenant les fonctions des « librairies » Arduino (LCD, Servo, à venir I2C, SPI, Stepper, etc...)
pyduinoCoreSystem : fichier contenant les fonctions dites « système », à savoir Ethernet, Mail, Serial, Fichiers et répertoires (équiv. SD) et ligne de commande
pyduino_multimedia_[platform] : série de fichier contenant les fonctions multimédia, adaptées aux différentes plateformes utilisées
pyduino_[platform] : fichier contenant les déclarations spécifiques à une plateforme donnée, ainsi que les import de lancement
pyduino_hardware_[platform] : fichier contenant les fonctions Arduino de type « hardware » propres à une plateforme donnée (analogRead/write, digital
Read/Write, etc..)
A noter quelques fichiers particuliers :
pyduino_light : version de Pyduino sans le support « hardware » pouvant être utilisé sur n'importe quel système Gnu/Linux.
Mini-PC : Pyduino : Structure de la librairie Pyduino - Par X. HINAULT – Novembre 2014 – www.mon-club-elec.fr – p. 3 / 5
Séquence de lancement
La librairie est insérée dans un code Python par l'import du fichier pyduino_[platform] correspondant à la plateforme concernée :
from pyduino_pcduino import * # importe les fonctions Arduino pour Python - version pcduino
# from pyduino_rpi import * # importe les fonctions Arduino pour Python - version raspberryPi
# from pyduino_arduino_pc import * # importe les fonctions Arduino pour Python - version desktop + arduino
# from pyduino_light import * # importe les fonctions Arduino pour Python - version desktop sans hardware
Noter que dans le cas d'un code *.yno dans l'IDE Pyduino, cet import est effectué automatiquement par l'IDE en fonction de la plateforme courante sélectionnée.
L'import initial assure l'import des autres éléments *.py utilisés, à savoir :
• pyduinoCoreCommon.py
• pyduinoCoreBase
•
•
pyduino_hardware_[platform]
pyduinoCoreSystem
•
pyduinoCoreLibs
Ressources en lignes
La librairie Pyduino dispose d'un site dédié : http://www.mon-club-elec.fr/pmwiki_reference_pyduino/pmwiki.php
L'ensemble des instructions est documentée façon Référence Arduino : http://www.mon-club-elec.fr/pmwiki_reference_pyduino/pmwiki.php?
n=Main.ReferenceEtendue
Nombreux exemples ici : http://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.PCDUINO#toc9
Tutos didactiques ici : http://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.ATELIERSPYDUINO
Mini-PC : Pyduino : Structure de la librairie Pyduino - Par X. HINAULT – Novembre 2014 – www.mon-club-elec.fr – p. 4 / 5
Développement de pyduino
La librairie Pyduino est développée par X. HINAULT depuis Mai 2013. Il s'agit d'un projet amateur : l'objectif fondamental est d'utiliser le potentiel des cartes
mini-PC tout en gardant la simplicité de l'utilisation d'une carte Arduino... et bien plus encore !
Ce projet est sans prétention particulière, amateur, opensource, dans le but de permettre des développements facilités sur mini-PC, et notamment sur la plateforme
pcduino qui est celle qui offre les meilleures caractéristiques pour l'objectif recherché. L'arrivée du pcduino v3 nano à moins de 40$ (sept 2014) pour une carte
dual core vient définitivement confirmer ce choix.
Quelques bonnes volontés se sont manifestées pour aider au développement de Pyduino et sont les bienvenues (décembre 2014).
Mini-PC : Pyduino : Structure de la librairie Pyduino - Par X. HINAULT – Novembre 2014 – www.mon-club-elec.fr – p. 5 / 5
Téléchargement