FEATHER-CHARGER-FICHIER-MICROPYTHON-BOOT

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche


MCHobby investit du temps et de l'argent dans la réalisation de traduction et/ou documentation. C'est un travail long et fastidieux réalisé dans l'esprit Open-Source... donc gratuit et librement accessible.
SI vous aimez nos traductions et documentations ALORS aidez nous à en produire plus en achetant vos produits chez MCHobby.

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:

  • /boot.py: Ce fichier est le 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 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 get de ampy pour voir facilement le contenu de ce fichier!
  • /main.py: Si ce fichier existe, sont contenu est exécuté 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 main.py et boot.py en utilisant 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 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 test.py sur notre ordinateur et copier le contenu suivant à l'intérieur:

###########################################################################
# 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.

Nous allons ensuite copier le contenu de test.py dans le fichier /main.py de notre carte MicroPython avec la commande put de ampy:

ampy --port /port/serie put test.py /main.py

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 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 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 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 boot.py est utilisé pour finaliser la séquence de démarrage/boot de la carte MicroPython. boot.py contient du code MicroPython mais les instructions varie d'une plateforme à l'autre.

Dans le cas d'un ESP8266, le fichier 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 boot.py pour ESP8266 où vous pouvez placer l'identifiant du réseau WiFi (le SSID) et le mot de passe correspondant.

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()

Vous pouvez également télécharger le contenu du fichier boot.py directement depuis le GitHub de MC Hobby.


Source: MicroPython Basics: Load Files & Run Code
Créé par Tony DiCola pour AdaFruit Industries.

Traduit par Meurisse D. pour MCHobby

Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : «  Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.

L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.

Traduit avec l'autorisation d'AdaFruit Industries - Translated with the permission from Adafruit Industries - www.adafruit.com