Coder Social home page Coder Social logo

pyduino's Introduction

La librairie pyDuino

La librairie Pyduino apporte une couche d'abstraction au langage Python afin de pouvoir utiliser les broches E/S de mini-PC tels que RaspberryPi ou le pcDuino avec des instructions identiques au langage Arduino.

Versions disponibles

La librairie existe en plusieurs versions :

  • en version standard qui implémente :

    • les fonctions Arduino standards
    • les fonctions système (console, ligne de commande)
    • les fonctions de gestion des fichiers et données texte (équivalent librairie SD)
    • les fonctions de gestion du réseau (équivalent de la librairie Ethernet)
    • les fonctions UART
    • les fonctions gestion de servomoteurs (équivalent librairie Servo)
    • les fonctions de gestion d'un afficheur LCD (équivalent librairie LiquiCrystal)
    • à venir : les fonctions SPI, I2C
    • à venir : les motorisations : moteurs CC, pas à pas
  • en version multimédia qui implémente en plus :

    • la capture d'image, l'inscrustation de texte dans image
    • la lecture de fichier sons (bruitages, etc...) à partir de fichiers aux formats standards
    • la capture audio
    • la synthèse vocale
    • la reconnaissance vocale en mode connecté
    • à venir : reconnaissance de lettres dans image, détection objet coloré dans image..

Installation

Pour installer pyDuino il suffit d'executer :

python setup.py install

dans un terminal (shell).

Exemples

Les codes d'exemple sont rassemblés ici

Structure de pyDuino

* core
    * common.py : les variables communes à l'ensemble des fichiers de la librairie.
    * base.py : les fonctions communes Arduino (temps, bits, rescale, random..).
    * libs.py : les fonctions des «librairies» Arduino (LCD, Servo, à venir I2C, SPI, Stepper, etc...).
    * system.py : les fonctions dites «système», à savoir Ethernet, Mail, Serial, Fichiers et répertoires * (équiv. SD) et ligne de commande.
* multimedia

* pcduino.py : version adaptée à la plateforme pcDuino.
* rpi.py : version adaptée à la plateforme RaspberryPi B.
* light.py : version sans le support «hardware» pouvant être utilisé sur n'importe quel système Gnu/Linux.
* arduino_pc.py : version permetant de controler une carte Arduino avec Python via la liaison serie d'un PC. Il faut préalablement flasher le programme arduino_live.ino (qui est un interpréteur de commande) sur l'Arduino.

Happy coding !!!

pyduino's People

Contributors

sensor56 avatar vayel avatar

Watchers

 avatar poztit avatar

pyduino's Issues

Debug

Je propose d'enlever tous les messages de debug, dont les fonctions debug et set_debug.

PEP-08

Il nous faut respecter la PEP-08. Pour cela, je propose d'utiliser PyLint. Se pose la question des formats des noms : conserve-t-on la norme Arduino (camelCase) ou transforme-t-on tout cela en Python (snake_case) ?

Setup.py

On ne devrait pas plutôt utiliser Distutils ?

Anglais

Pendant qu'on revoit le code pour satisfaire la PEP-08, on pourrait le traduire en anglais, non ?

Un dossier par carte électronique

Les fichiers pcduino.py et rpi.py sont longs. Il serait peut-être plus clair de les diviser en plusieurs fichiers et de stocker ces derniers dans des dossiers pcduino/ et rpi/.

Afin de pouvoir importer les principales fonctionnalités simplement (via pyduino.pcduino.x), il suffira de les importer dans le fichier __init__.py.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.