Modifications

Sauter à la navigation Sauter à la recherche
750 octets ajoutés ,  22 novembre 2018 à 21:51
Ligne 1 : Ligne 1 :  +
{{MicroPython.presentation-NAV}}
 
== 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}}
   −
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 48 : 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 71 : 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 87 : 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.  
    
Le microcontroleur est cadencé à 168MHz (fréquence d'horloge), dispose de 1Mb de Flash et de 192Kb de RAM, un très large espace mémoire pour écrire de complexes scripts Python. La carte mesure 33x40 mm comme présenté sur l'image ci-dessous.
 
Le microcontroleur est cadencé à 168MHz (fréquence d'horloge), dispose de 1Mb de Flash et de 192Kb de RAM, un très large espace mémoire pour écrire de complexes scripts Python. La carte mesure 33x40 mm comme présenté sur l'image ci-dessous.
   −
{{MPImage|MicroPython.présentation-00.jpg}}
+
{{MPImage|MicroPython-presentation-00.jpg|800px}}
    
La carte intègre une interface USB qui se présente comme un périphérique série (CDC VCP) ainsi que comme un périphérique de stockage USB amovible (MSC, l'équivalent de votre clé USB). Lorsque PyBoard est connecté sur un PC, vous pouvez ouvrir un programme de communication série (terminal telnet/minicom ou [http://www.putty.org/ Putty]) et interagir la carte par l'intermédiaire d'une ligne de commande Python. Vous pouvez également afficher des message (fonction ''print'') et saisir des entrées puisque le périphérique série agit en tant que stdin et stdout (entrée et sortie console, standard simple hérité du monde Unix). La carte se comporte également comme un périphérique de stockage (un lecteur Flash USB) vous permettant de facilement copier vos scripts sur le système de fichier de la carte ou de la carte SD. Ces fichiers peuvent être exécutés indépendamment du PC.
 
La carte intègre une interface USB qui se présente comme un périphérique série (CDC VCP) ainsi que comme un périphérique de stockage USB amovible (MSC, l'équivalent de votre clé USB). Lorsque PyBoard est connecté sur un PC, vous pouvez ouvrir un programme de communication série (terminal telnet/minicom ou [http://www.putty.org/ Putty]) et interagir la carte par l'intermédiaire d'une ligne de commande Python. Vous pouvez également afficher des message (fonction ''print'') et saisir des entrées puisque le périphérique série agit en tant que stdin et stdout (entrée et sortie console, standard simple hérité du monde Unix). La carte se comporte également comme un périphérique de stockage (un lecteur Flash USB) vous permettant de facilement copier vos scripts sur le système de fichier de la carte ou de la carte SD. Ces fichiers peuvent être exécutés indépendamment du PC.
Ligne 99 : Ligne 100 :  
Alimenté par une pile/accu, la carte est capable de compiler et exécuter des scripts Python sans besoin d'une connexion PC. Il y a un connecteur carte Micro SD pour stocker de grandes quantités de donnée, 4 LEDs, des boutons poussoirs, une horloge temps réel, un accéléromètre et 30 broches d'entrée/sortie (dite ''GPIO'' ou 'I/O'.  Les broche d'I/O inclus: 5 USART (pour Port Série), 2 bus SPI, 2 bus I2C, 14 broches ADC (convertisseur Analogique->digital), 2 broches DAC (convertisseur Digital->Analogique) ainsi que 4 port pour Servo Moteurs (avec alimentation).
 
Alimenté par une pile/accu, la carte est capable de compiler et exécuter des scripts Python sans besoin d'une connexion PC. Il y a un connecteur carte Micro SD pour stocker de grandes quantités de donnée, 4 LEDs, des boutons poussoirs, une horloge temps réel, un accéléromètre et 30 broches d'entrée/sortie (dite ''GPIO'' ou 'I/O'.  Les broche d'I/O inclus: 5 USART (pour Port Série), 2 bus SPI, 2 bus I2C, 14 broches ADC (convertisseur Analogique->digital), 2 broches DAC (convertisseur Digital->Analogique) ainsi que 4 port pour Servo Moteurs (avec alimentation).
    +
[[Fichier:MicroPython-presentation-01.jpg|800px]]
    
Il y a une broche spéciale BOOT0, qui est utilisée pour reprogrammer le microcontroleur. En connectant BOOT0 sur 3.3V (la broche juste à côté) et en réinitialisant (''reset'') la carte, vous placez la carte en mode DFU "''device firmware upgrade''". C'est le mode USB standard qui vous permet de faire une mise-à-jour de Micro Python sur le microcontroleur en utilisant des logiciel librement disponible pour Windows, Mac et Linux). Elle vous permet également de téléverser votre propre version de Micro Python si vous désirez la modifier, voire téléverser vos propres programmes écrit directement en C.
 
Il y a une broche spéciale BOOT0, qui est utilisée pour reprogrammer le microcontroleur. En connectant BOOT0 sur 3.3V (la broche juste à côté) et en réinitialisant (''reset'') la carte, vous placez la carte en mode DFU "''device firmware upgrade''". C'est le mode USB standard qui vous permet de faire une mise-à-jour de Micro Python sur le microcontroleur en utilisant des logiciel librement disponible pour Windows, Mac et Linux). Elle vous permet également de téléverser votre propre version de Micro Python si vous désirez la modifier, voire téléverser vos propres programmes écrit directement en C.
Ligne 109 : Ligne 111 :  
* '''30 GPIO''' - Broches d'entrées/sorties pouvant servir à de nombreuses applications. Avec un GPIO, vous pouvez commander des LEDs, des relais (via transistor ou UNL2803), des moteurs (via L293). Lire l'état de boutons et senseurs. Commander des périphériques tels que des écrans LCD, afficheurs graphiques, des cartes d'extension, etc.
 
* '''30 GPIO''' - Broches d'entrées/sorties pouvant servir à de nombreuses applications. Avec un GPIO, vous pouvez commander des LEDs, des relais (via transistor ou UNL2803), des moteurs (via L293). Lire l'état de boutons et senseurs. Commander des périphériques tels que des écrans LCD, afficheurs graphiques, des cartes d'extension, etc.
 
* '''2 bus I2C''' - Pour commander des périphériques à l'aide de 3 fils.
 
* '''2 bus I2C''' - Pour commander des périphériques à l'aide de 3 fils.
 +
* '''2 bus SPI'''
 +
* '''2 bus CAN'''
 
* '''5 UARTs''' - Un port série c'est un outil de communication très utile... en avoir 5 c'est absolument génial.
 
* '''5 UARTs''' - Un port série c'est un outil de communication très utile... en avoir 5 c'est absolument génial.
 
* '''20 PWMs''' - Permettant de produire des signaux permettant de contrôler des servo-moteurs ou la puissance d'une LED (voyez "[AdaFruit_PWM_Driver#C.27est_quoi_PWM c'est quoi PWM]" dans cet autre tutoriel)
 
* '''20 PWMs''' - Permettant de produire des signaux permettant de contrôler des servo-moteurs ou la puissance d'une LED (voyez "[AdaFruit_PWM_Driver#C.27est_quoi_PWM c'est quoi PWM]" dans cet autre tutoriel)
Ligne 120 : Ligne 124 :     
== Pour les friands de détails ==
 
== Pour les friands de détails ==
=== L'interpréteur MicroPython ===
+
=== PyBoard sous le capot ===
 +
 
 +
* Microcontroleur STM32F405RG ([http://www.st.com/web/en/resource/technical/document/datasheet/DM00037051.pdf fiche technique])
 +
* CPU Cortex-M4 cadencé 168 MHz avec unité de calcul flottant à 32-bit.
 +
* 1 Mb de mémoire Flash pour le stockage, 192 Kb de RAM.
 +
* Connecteur USB microB avec support logiciel USB Série, périphérique de stockage de masse USB, et USB HID (souris, clavier).
 +
* connecteur pour carte micro SD.
 +
* Accéléromètre 3-axes MMA7660 FreeScale ([http://www.freescale.com.cn/files/sensors/doc/data_sheet/MMA7660FC.pdf?fpsp=1 fiche technique]). Jusqu'à 64 échantillonnages 6-bit par seconde par axe.
 +
* 4 LEDs, 1 bouton Reset, un bouton utilisateur.
 +
* Un régulateur 3.3V LDO (à faible perte) de 300mA. Alimenté depuis le connecteur USB ou alimentation externe entre 3.6V et 10V.
 +
* Horloge Temps Réel (RTC) avec date et heure.
 +
* 30 broches d'entrée/sortie GPIO, 28 sont tolérantes 5V (excepté en mode ADC / Analogique->Digital).
 +
* Communication:
 +
** 2 bus SPI,
 +
** 2 bus CAN,
 +
** 2 bus I2C,
 +
** 5 USART (port série).
 +
* 14x entrées analogiques avec résolution 12-bit, Valeur entre 0 et 4095 (ADC, Analogic to Digital Converter).
 +
* 2x sorties analogiques (DAC, Digital to Analogic Converter).
 +
* Dimension de la carte: 33 x 40mm.
 +
* Poids de la carte: 6 grammes.
 +
* Connexion sur la carte: 46 trous avec empattement standard de 2.54mm.
 +
 
 +
=== Brochage ===
 +
{{MPImage|pybv10-pinout.jpg|640px}}
 +
 
 +
=== 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 147 : 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].
   −
=== Mini système d'exploitation Python ===
+
=== Séquence de Boot Micro Python ===
 
Vous pouvez voir Micro Python comme un "mini système d'exploitation Python" et le processus de démarrage fonctionne comme suit:
 
Vous pouvez voir Micro Python comme un "mini système d'exploitation Python" et le processus de démarrage fonctionne comme suit:
 
* Mise sous tension ou Reset (réinitialisation matérielle).
 
* Mise sous tension ou Reset (réinitialisation matérielle).
Ligne 161 : Ligne 191 :  
* Vérifie la présence d'un système de fichier dans la mémoire Flash.
 
* Vérifie la présence d'un système de fichier dans la mémoire Flash.
 
** SI non existante ou corrompue ALORS crée un nouveau système de fichier est créé.
 
** SI non existante ou corrompue ALORS crée un nouveau système de fichier est créé.
* Vérifie la présence de /boot.py.  
+
* Vérifie la présence de {{fname|/boot.py}}.  
** SI non existant ALORS un tout nouveau fichier est boot.py est créé.
+
** SI non existant ALORS un tout nouveau fichier est {{fname|boot.py}} est créé.
* Exécute /boot.py pour configuration USB et autres paramètres de bas-niveau qui ne peuvent pas être modifiés sans un Reset.
+
* Exécute {{fname|/boot.py}} pour configuration USB et autres paramètres de bas-niveau qui ne peuvent pas être modifiés sans un Reset.
* Initialise l'interface USB, en fonction de la configuration de boot.py.  Par défaut, c'est un CDC VCP (virtual communications port, pour rediriger stdio) et MSD (mass storage device, périphérique de stockage de masse pour la Flash et carte SD).<br />Le MSD permet à un PC Linux/Mac/Windows d'accéder au système de fichier de la Flash et de la carte SD comme s'il s'agissait d'un lecteur USB. De cette façon, vous pouvez facilement copier des scripts Python sur la carte... ou placer et récupérer des fichiers.
+
* Initialise l'interface USB, en fonction de la configuration de {{fname|boot.py}}.  Par défaut, c'est un CDC VCP (virtual communications port, pour rediriger stdio) et MSD (mass storage device, périphérique de stockage de masse pour la Flash et carte SD).<br />Le MSD permet à un PC Linux/Mac/Windows d'accéder au système de fichier de la Flash et de la carte SD comme s'il s'agissait d'un lecteur USB. De cette façon, vous pouvez facilement copier des scripts Python sur la carte... ou placer et récupérer des fichiers.
 
* La séquence de Boot terminée avec succès, la LED boot s’éteint.
 
* La séquence de Boot terminée avec succès, la LED boot s’éteint.
   Ligne 170 : Ligne 200 :  
* Le script Python principal (nommé "''main''" en anglais) est exécuté s'il existe.<br />Par défaut, c'est le fichier {{fname|/src/main.py}}. Il s'agit de votre programme Python principal et il peut faire tout ce que vous voulez!
 
* Le script Python principal (nommé "''main''" en anglais) est exécuté s'il existe.<br />Par défaut, c'est le fichier {{fname|/src/main.py}}. Il s'agit de votre programme Python principal et il peut faire tout ce que vous voulez!
 
* SI le script principal n'existe pas (ou s'il est terminé)<br />ALORS la carte rentre en mode REPL (read-evaluate-print-loop, boucle-lecture-evaluation-affichage). Cela vous offre un Interpréteur Python Standard via la connexion USB série.<br />Sortir de ce mode exécutera une reset logiciel (''soft-reset'') de la carte.
 
* SI le script principal n'existe pas (ou s'il est terminé)<br />ALORS la carte rentre en mode REPL (read-evaluate-print-loop, boucle-lecture-evaluation-affichage). Cela vous offre un Interpréteur Python Standard via la connexion USB série.<br />Sortir de ce mode exécutera une reset logiciel (''soft-reset'') de la carte.
  −
=== PyBoard sous le capot ===
  −
  −
* STM32F405RG microcontroller.
  −
* 168 MHz Cortex-M4 CPU with 32-bit hardware floating point.
  −
* 1 MiB flash storage, 192 KiB RAM.
  −
* Micro-B USB connector, with software support for USB serial, USB mass storage, and USB HID (mouse, keyboard).
  −
* Micro SD slot.
  −
* MMA7660 3-axis accelerometer, up to 64 6-bit samples per second per axis.
  −
* 4 LEDs, 1 reset switch, 1 user switch.
  −
* 3.3V LDO regulator at 300mA, power from USB or external voltage source between 3.6V and 10V.
  −
* Real-time clock with date and time.
  −
* 30 general purpose I/O lines, 28 are 5V tolerant (unless in ADC mode).
  −
* Communication: 2x SPI, 2x CAN, 2x I2C, 5x USART.
  −
* 14x 12-bit ADC pins (analog signal in).
  −
* 2x DAC pins (analog signal out).
  −
* Board dimensions: 33mm by 40mm.
  −
* Board weight: 6 grams.
  −
* Board I/O connectors: 46 holes, standard 0.1 inch separation.
  −
  −
=== Brochage ===
  −
{{MPImage|pybv10-pinout.jpg|640px}}
      
== Licence Micro Python ==
 
== Licence Micro Python ==
Ligne 213 : Ligne 221 :     
== Où Acheter ==
 
== Où Acheter ==
Vous pouvez vous procurer {{cl|56|une carte MicroPython}} 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