Modifications

Sauter à la navigation Sauter à la recherche
13 octets ajoutés ,  1 février 2015 à 12:10
aucun résumé de modification
Ligne 2 : Ligne 2 :  
== Introduction ==
 
== Introduction ==
 
{{bloc-etroit|text=
 
{{bloc-etroit|text=
'''MicroPython''' est une version rapide, optimisée et allégée du langage de programmation Python 3 ([http://python.org Python.org]) '''pour système embarqué'''.
+
'''Micro Python''' est une version rapide, optimisée et allégée du langage de programmation Python 3 ([http://python.org Python.org]) '''pour système embarqué'''.
   −
'''PyBoard, la carte MicroPython''' est une petite carte électronique qui exécute MicroPython en ''[http://en.wikipedia.org/wiki/Bare_machine bare metal]'' et vous offre un système d'exploitation Python bas niveau permettant de contrôler toute sorte de projets électroniques.
+
'''PyBoard, la carte Micro Python''' est une petite carte électronique qui exécute Micro Python en ''[http://en.wikipedia.org/wiki/Bare_machine bare metal]'' et vous offre un système d'exploitation Python bas niveau permettant de contrôler toute sorte de projets électroniques.
   −
Grâce au lancement de [https://www.kickstarter.com/projects/214379695/micro-python-python-for-microcontrollers MicroPython en KickStarter], il a été possible de concevoir la carte en y incluant:
+
Grâce au lancement de [https://www.kickstarter.com/projects/214379695/micro-python-python-for-microcontrollers Micro Python en KickStarter], il a été possible de concevoir la carte en y incluant:
 
* Le support de connexion Wi-Fi à l'aide du module CC3000.  Micro Python incluera une bibliothèque permettant vous permettant de vous connecter via Wi-Fi. Il est donc possible d'ajouter un module CC3000. Ce module se connecte via les broches du bus SPI sur la carte Micro Python.
 
* Le support de connexion Wi-Fi à l'aide du module CC3000.  Micro Python incluera une bibliothèque permettant vous permettant de vous connecter via Wi-Fi. Il est donc possible d'ajouter un module CC3000. Ce module se connecte via les broches du bus SPI sur la carte Micro Python.
 
* Le support Ethernet à l'aide d'un module WIZ820io module. Similaire au module CC3000, le module WIZ820io se branche également sur la carte micro Python via le module le bus SPI et une bibliothèque développée dans ce but.
 
* Le support Ethernet à l'aide d'un module WIZ820io module. Similaire au module CC3000, le module WIZ820io se branche également sur la carte micro Python via le module le bus SPI et une bibliothèque développée dans ce but.
 
* Le support de communication sans-fil basse consommation avec le NRF24L01+ (et une bibliothèque adéquate).  
 
* Le support de communication sans-fil basse consommation avec le NRF24L01+ (et une bibliothèque adéquate).  
   −
MicroPython est un projet logiciel open-source (sous licence MIT) que vous pouvez utiliser dans vos propres projets. }}
+
Micro Python est un projet logiciel open-source (sous licence MIT) que vous pouvez utiliser dans vos propres projets. }}
    
{{MPImage|upython-with-micro.jpg|640px}}
 
{{MPImage|upython-with-micro.jpg|640px}}
   −
Python est une langage de scripting vraiment très facile à apprendre, très expressif, vraiment {{underline|très}} puissant et disposant d'une gigantesque communauté. En fonctionnant sur un microcontroleur, MicroPython permet de faire clignoter des LEDs sans aucun effort, lire des tensions, faire bouger des moteurs et servo moteurs, jouer du son, écrire/lire des données sur la carte micro SD, établir des communications sans fils (avec un module complémentaire) et devenir ce cerveau que votre robot attend désespérément. Il y a tant d'autres d'opportunité accessible à PyBoard et MicroPyhton.... c'est un choix parfait pour votre prochain projet!
+
Python est une langage de scripting vraiment très facile à apprendre, très expressif, vraiment {{underline|très}} puissant et disposant d'une gigantesque communauté. En fonctionnant sur un microcontroleur, Micro Python permet de faire clignoter des LEDs sans aucun effort, lire des tensions, faire bouger des moteurs et servo moteurs, jouer du son, écrire/lire des données sur la carte micro SD, établir des communications sans fils (avec un module complémentaire) et devenir ce cerveau que votre robot attend désespérément. Il y a tant d'autres d'opportunité accessible à PyBoard et MicroPyhton.... c'est un choix parfait pour votre prochain projet!
    
Lors de la conception d'un projet électronique, tel qu'un détecteur d'intrusion or a robot intelligent, le microcontroleur est utilisé en tant que "cerveau" et prend toutes les décisions d'action et de vérifications. Un microcontroleur a typiquement besoin de faire deux choses: (1) il doit être capable d'agir au niveau matériel (dit "''low level''") pour commander des lumières, écran LCD, moteurs, être très réactif, etc, (2) ainsi que des opération de haut niveau (dit "''high level''") comme comme lire et écrire des données, images, communiquer sans fil ou disposer d'une "intelligence artificiel".
 
Lors de la conception d'un projet électronique, tel qu'un détecteur d'intrusion or a robot intelligent, le microcontroleur est utilisé en tant que "cerveau" et prend toutes les décisions d'action et de vérifications. Un microcontroleur a typiquement besoin de faire deux choses: (1) il doit être capable d'agir au niveau matériel (dit "''low level''") pour commander des lumières, écran LCD, moteurs, être très réactif, etc, (2) ainsi que des opération de haut niveau (dit "''high level''") comme comme lire et écrire des données, images, communiquer sans fil ou disposer d'une "intelligence artificiel".
Ligne 49 : Ligne 49 :  
Vous avez à votre disposition un langage de programmation Python complet. Vous pouvez écrire des fonctions et des classes, faire créer des listes et dictionnaires, faire du traitement de chaine de caractère (les ''string''), lire et écrire des fichiers (sur la carte SD ou la flash de stockage interne). Micro Python dispose même de fonctionnalités avancées tels que les générateurs, les [http://www.programiz.com/python-programming/closure closures] <small>(programiz.com)</small>, les [http://fgallaire.flext.net/comprehension-de-liste-en-python-map-filter/ comprehension list] <small>(fgallaire.flext.net)</small> et gestion d'exception. Les possibilités de programmation sont infinies!
 
Vous avez à votre disposition un langage de programmation Python complet. Vous pouvez écrire des fonctions et des classes, faire créer des listes et dictionnaires, faire du traitement de chaine de caractère (les ''string''), lire et écrire des fichiers (sur la carte SD ou la flash de stockage interne). Micro Python dispose même de fonctionnalités avancées tels que les générateurs, les [http://www.programiz.com/python-programming/closure closures] <small>(programiz.com)</small>, les [http://fgallaire.flext.net/comprehension-de-liste-en-python-map-filter/ comprehension list] <small>(fgallaire.flext.net)</small> et gestion d'exception. Les possibilités de programmation sont infinies!
   −
La carte dispose de nombreuses broches d'entrées/sorties que vous pouvez connecter sur d'autres circuits et vous pouvez y souder des fils pour inclure MicroPython dans vos propres projets.  
+
La carte dispose de nombreuses broches d'entrées/sorties que vous pouvez connecter sur d'autres circuits et vous pouvez y souder des fils pour inclure Micro Python dans vos propres projets.  
      Ligne 72 : Ligne 72 :  
D'autre part, Python est un langage de très haut niveau, ce qui signifie que Python est plus simple, nécessite moins de code pour réaliser des tâches identique à celle programmée en C.
 
D'autre part, Python est un langage de très haut niveau, ce qui signifie que Python est plus simple, nécessite moins de code pour réaliser des tâches identique à celle programmée en C.
   −
== Logiciel MicroPython ==
+
== Logiciel Micro Python ==
 
Micro Python est évidemment une ré-écriture complète (en partant de rien) du langage de programmation Python. Il est écrit en C ANSI, proprement et inclus un parser complet, compilateur byte-code Python, une machine virtuelle, un environnement d'exécution, un ''garbage collector'' (dit 'ramasse miette' en France) et support de bibliothèque... le tout fonctionnant sur le microcontrolleur.  Le compilateur peu générer du ''byte code'' ou du code machine natif (configurable par fonction en utilisant un décorateur Python). Micro Python supporte également l'''inline assembler''.  Toutes les taches de compilations sont effectuées sur le microcontroleur... pas besoin de logiciel sur le PC.
 
Micro Python est évidemment une ré-écriture complète (en partant de rien) du langage de programmation Python. Il est écrit en C ANSI, proprement et inclus un parser complet, compilateur byte-code Python, une machine virtuelle, un environnement d'exécution, un ''garbage collector'' (dit 'ramasse miette' en France) et support de bibliothèque... le tout fonctionnant sur le microcontrolleur.  Le compilateur peu générer du ''byte code'' ou du code machine natif (configurable par fonction en utilisant un décorateur Python). Micro Python supporte également l'''inline assembler''.  Toutes les taches de compilations sont effectuées sur le microcontroleur... pas besoin de logiciel sur le PC.
   Ligne 88 : Ligne 88 :  
* La mémoire est gérée en utilisant un garbage collector (''ramasse miette'') simple et rapide (''fast mark-sweep''). Une collecte complete nécessite moins de 4ms. De nombreuses fonction peuvent être écrites pour ne pas utiliser de mémoire sur la heap (le ''tas'') et permettant ainsi d'éviter l'usage du Garbage Collector.
 
* La mémoire est gérée en utilisant un garbage collector (''ramasse miette'') simple et rapide (''fast mark-sweep''). Une collecte complete nécessite moins de 4ms. De nombreuses fonction peuvent être écrites pour ne pas utiliser de mémoire sur la heap (le ''tas'') et permettant ainsi d'éviter l'usage du Garbage Collector.
   −
== PyBoard, la carte MicroPython ==
+
== PyBoard, la carte Micro Python ==
 
La carte Micro Python (PyBoard pour les intimes) est une carte de développement électronique basée sur un microcontroleur STM32F405 qui exécute Micro Python. Ce microcontroleur est un des plus puissant disponible sur le marché et à été spécialement sélectionné parce qu'il permettrait à Micro Python de fonctionner à son plein potentiel.  
 
La carte Micro Python (PyBoard pour les intimes) est une carte de développement électronique basée sur un microcontroleur STM32F405 qui exécute Micro Python. Ce microcontroleur est un des plus puissant disponible sur le marché et à été spécialement sélectionné parce qu'il permettrait à Micro Python de fonctionner à son plein potentiel.  
   Ligne 150 : Ligne 150 :  
{{MPImage|pybv10-pinout.jpg|640px}}
 
{{MPImage|pybv10-pinout.jpg|640px}}
   −
=== L'interpréteur MicroPython ===
+
=== L'interpréteur Micro Python ===
 
Micro Python est une ré-écriture complète d'un interpréteur Python spécialement, ré-écriture conduite pour fonctionner sur des systèmes MicroControleur ayant une mémoire RAM et Flash limitée. Lorsque des décisions de conceptions se présentait, la première priorité était celles permettant de minimiser l'utilisation de la RAM, puis minimisation de la taille du code, et finalement celle permettant d'augmenter la vitesse d'exécution.
 
Micro Python est une ré-écriture complète d'un interpréteur Python spécialement, ré-écriture conduite pour fonctionner sur des systèmes MicroControleur ayant une mémoire RAM et Flash limitée. Lorsque des décisions de conceptions se présentait, la première priorité était celles permettant de minimiser l'utilisation de la RAM, puis minimisation de la taille du code, et finalement celle permettant d'augmenter la vitesse d'exécution.
   Ligne 177 : Ligne 177 :  
* Une fonction (byte code, native ou assembleur inline) peut être appelé sur une interruption pour autant qu'il n'alloue pas de mémoire sur la heap (le ''Tas'', étant donné qu'une interruption ne peut pas être appelée durant une phase de collecte garbage collecteur). Dans la pratique, cela ne représente pas une grande restriction étant donné qu'il est possible beaucoup de choses uniquement en utilisant la mémoire accessible sur la stack (la ''pile'').  Par exemple, vous pouvez faire des boucles avec while/for, réaliser des opérations arithmétiques entière et manipulations booléennes (mais pas des grands nombres), appeler d'autres fonctions, accéder et écraser des éléments d'une collection tels que bytearrays (mais pas en créer un nouveau).
 
* Une fonction (byte code, native ou assembleur inline) peut être appelé sur une interruption pour autant qu'il n'alloue pas de mémoire sur la heap (le ''Tas'', étant donné qu'une interruption ne peut pas être appelée durant une phase de collecte garbage collecteur). Dans la pratique, cela ne représente pas une grande restriction étant donné qu'il est possible beaucoup de choses uniquement en utilisant la mémoire accessible sur la stack (la ''pile'').  Par exemple, vous pouvez faire des boucles avec while/for, réaliser des opérations arithmétiques entière et manipulations booléennes (mais pas des grands nombres), appeler d'autres fonctions, accéder et écraser des éléments d'une collection tels que bytearrays (mais pas en créer un nouveau).
   −
=== MicroPython sur PC ===
+
=== Micro Python sur PC ===
 
Le langage Micro Python peut aussi être exécuté sur un PC (il a été développé sous Linux avec une machine 64-bit) et peut être utilisé comme une version légère de Python où l'économie de mémoire est important.  La version PC de Micro Python (compilant du byte code) fonctionne plus rapidement que CPython  dans différents benchmarks testé par Damien George, et l'option de compilation native rend Micro Python significativement plus rapide que CPython.
 
Le langage Micro Python peut aussi être exécuté sur un PC (il a été développé sous Linux avec une machine 64-bit) et peut être utilisé comme une version légère de Python où l'économie de mémoire est important.  La version PC de Micro Python (compilant du byte code) fonctionne plus rapidement que CPython  dans différents benchmarks testé par Damien George, et l'option de compilation native rend Micro Python significativement plus rapide que CPython.
   −
Vous trouverez cette version PC sur le [https://github.com/micropython/micropython GitHub de MicroPython].
+
Vous trouverez cette version PC sur le [https://github.com/micropython/micropython GitHub de Micro Python].
    
=== Séquence de Boot Micro Python ===
 
=== Séquence de Boot Micro Python ===
Ligne 221 : Ligne 221 :     
== Où Acheter ==
 
== Où Acheter ==
Vous pouvez vous procurer {{cl|56|une carte MicroPython PyBoard}} chez MCHobby (vendus uniquement sur stock)!
+
Vous pouvez vous procurer {{cl|56|une carte Micro Python PyBoard}} chez MCHobby (vendus uniquement sur stock)!
    
{{MicroPython.présentation-TRAILER}}
 
{{MicroPython.présentation-TRAILER}}
29 917

modifications

Menu de navigation