Modifications

Sauter à la navigation Sauter à la recherche
aucun résumé de modification
Ligne 1 : Ligne 1 :  
{{FEATHER-CHARGER-FICHIER-MICROPYTHON-NAV}}
 
{{FEATHER-CHARGER-FICHIER-MICROPYTHON-NAV}}
   −
{{traduction}}
+
== Les fichiers principaux ==
 +
Il y a deux fichiers important dans le système de fichier MicroPython. Ils se trouvent tout deux dans le répertoire racine du système de fichier.
    +
Ces fichiers contiennent du code MicroPython qui sera exécuté lorsque la carte est mise sous-tension ou réinitialisée (en pressant le bouton "reset"). Ces fichiers sont:
 +
* {{fname|/boot.py}}: Ce fichier est le {{underline|premier}} à être exécuté lorsque la carte est mise sous-tension (ou réinitialisée). Il doit contenir du code de bas niveau qui sera exécuté pour achever la séquence de boot/démarrage de la carte. Il n'est habituellement pas nécessaire de modifier {{fname|boot.py}} à mois d'avoir besoin de personnaliser ou modifier MicroPython. Il est intéressant de prendre connaissance du contenu de ce fichier pour en apprendre plus sur la séquence de boot d'une carte. Vous pouvez utiliser la commande {{fname|get}} de ampy pour voir facilement le contenu de ce fichier!
 +
* {{fname|/main.py}}: Si ce fichier existe, sont contenu est exécuté {{underline|après}} le fichier boot.py . Ce fichier devrait contenir votre script principal (celui à exécuter automatiquement au démarrage de la carte).
 +
 +
Vous pouvez éditer le contenu du fichier {{fname|main.py}} et {{fname|boot.py}} en utilisant [[FEATHER-CHARGER-FICHIER-MICROPYTHON-FILEOP|les opérations sur fichier proposés par ampy]].
 +
 +
== main.py ==
 +
Ce fichier devrait contenir votre script principal (celui à exécuter automatiquement au démarrage de la carte). Exactement comme pour un croquis Arduino qui est exécuté automatiquement lorsque la carte est mise sous tension.
 +
 +
Ecrivez un fichier {{fname|main.py}} sur une carte MicroPython et son contenu sera automatiquement exécuté à la mise sous tension.
 +
 +
Par exemple, nous allons créer un fichier {{fname|test.py}} sur notre ordinateur et copier le contenu suivant à l'intérieur:
 +
 +
<syntaxhighlight lang="python">
 +
###########################################################################
 +
# Setup code goes below, this is called once at the start of the program: #
 +
###########################################################################
 +
import time
 +
print('Hello world! I can count:')
 +
i = 1
 +
 +
while True:
 +
    ###################################################################
 +
    # Loop code goes inside the loop here, this is called repeatedly: #
 +
    ###################################################################
 +
    print(i)
 +
    i += 1
 +
    time.sleep(1.0)  # Delay for 1 second.
 +
</syntaxhighlight>
 +
 +
Nous allons ensuite copier le contenu de test.py dans le fichier {{fname|/main.py}} de notre carte MicroPython avec la commande {{fname|put}} de ampy:
 +
 +
<nowiki>ampy --port /port/serie put test.py /main.py</nowiki>
 +
 +
Réinitialisez la carte (en pressant le bouton "Reset") ou débranchez/rebranchez là, puis connectez vous en REPL série sur la carte.
 +
 +
Vous pourrez contacter l'affichage du compteur toutes les secondes! Le fichier {{fname|main.py}} est bien démarré dès que la carte à terminé sa séquence de démarrage.
 +
 +
En rassemblant toutes les informations de ce guide, vous pouvez constater qu'il est possible de développer vos projets MicroPython en suivant un workflow de développement similaire aux croquis/sketch Arduino:
 +
* Ecrire du code Python sur votre ordinateur en utilisant votre éditeur de texte favoris. Structurez le code en plaçant le code d'initialisation en tête de script, suivit d'une bouche infine {{fname|while True:}} pour exécuter le corps du programme.
 +
* Utiliser la commande '''run''' d'ampy avec l'option '''--no-output''' pour tester le script sur la carte MicroPython.
 +
* Modifier et exécuter le script autant que nécessaire pour aboutir au résultat souhaité.
 +
* Lorsque vous voulez démarrer automatiquement le code au démarrage: vous copiez le contenu de votre script dans le fichier '''/main.py''' de la carte MicroPython (en utilisant la commande {{fname|put}} de l'utilitaire Ampy.
 +
 +
Voilà, c'est tout en ce qui concerne le chargement et l'exécution de code sur une carte MicroPython!
 +
 +
== boot.py sur ESP8266 ==
 +
Comme précisé plus haut, le fichier {{fname|boot.py}} est utilisé pour finaliser la séquence de démarrage/boot de la carte MicroPython. {{fname|boot.py}} contient du code MicroPython mais les instructions varie d'une plateforme à l'autre.
 +
 +
Dans le cas d'un ESP8266, le fichier {{fname|boot.py}} est utilisé pour initialiser la connexion sur le réseau WiFi domestique. Bien qu'un ESP8266 se souvienne de la dernière information de connexion il n'est pas inutile de pallier à tous les cas de figure.
 +
 +
Voici le contenu modèle d'un fichier {{fname|boot.py pour ESP8266}} où vous pouvez placer l'identifiant du réseau WiFi (le SSID) et le mot de passe correspondant.
 +
 +
<syntaxhighlight lang="python">
 +
def do_connect():
 +
    import network
 +
    wlan = network.WLAN(network.STA_IF)
 +
    wlan.active(True)
 +
    if not wlan.isconnected():
 +
        print('connecting to network...')
 +
        wlan.connect("MY_WIFI_SSID", "MY_PASSWORD")
 +
        while not wlan.isconnected():
 +
            pass
 +
    print('network config:', wlan.ifconfig())
 +
 +
do_connect()
 +
 +
import gc
 +
import webrepl
 +
webrepl.start()
 +
gc.collect()
 +
</syntaxhighlight>
 +
 +
Vous pouvez également télécharger le [https://github.com/mchobby/esp8266-upy/blob/master/boot.py contenu du fichier boot.py directement depuis le GitHub de MC Hobby]. 
 
{{FEATHER-CHARGER-FICHIER-MICROPYTHON-TRAILER}}
 
{{FEATHER-CHARGER-FICHIER-MICROPYTHON-TRAILER}}
29 917

modifications

Menu de navigation