Hack-pycom-lopy-toolbox

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.

ESP32 et Modules Pycom

Voici les caractéristiques principales des plateformes ESP_32 de Pycom.io et les modules disponibles.

  • 512 Kb disponible pour le stockage interne utilisateur (support carte SD externe disponible)
  • Jusqu'à 96 Kb de RAM disponible pour le code python.
  • Support matériel de la virgule flottante
  • Jusqu'à 24 broches GPIO
  • 2x UARTs (port série)
  • SPIs
  • Timers
  • RTC
  • PWM
  • ADC
  • DAC
  • I2C
  • SD
  • WiFi
  • Bluetooth
  • LoRa (uniquement disponible sur LoPy)
  • hashlib algorithme de hachage (hash) MD5, SHA1, SHA256, SHA384 et SHA512
  • Encryptage AES
  • Support SSL/TLS (.ussl)`

Cliquez sur les liens de la liste ci-dessus pour avoir plus de détail sur la fonctionnalité. Pour tous les modules et bibliothèques disponibles, vous pouvez vous référer Référence API du Firmware (pycom.io).

Fiches Techniques

Si vous désirez plus d'information sur les connexion entre les éléments, visitez la section fiche technique (Pycom.io). Vous y trouverez les fiches techniques de tous les produits Pycom.

REPL via Telnet et port série

REPL signifie Read Evaluate Print Loop (boucle de lecture-évaluation-affichage), c'est le nom donné à la ligne de commande interactive de MicroPython qui vous offre un accès en ligne de commande sur votre plateforme MicroPython (PyBoard, WiPy, WiPy2, LoPy).

Nous avons traité ce point en détail dans notre "Telnet et FTP" pour WiPy2 et LoPy.

Boot Mode et Safe Boot

Mode de démarrage et mode "sans échec"...

Si vous démarrer normalement votre carte, ou si vous pressez le bouton "Reset", le Lopy/WiPy2 démarre en mode standard; le fichier boot.py sera exécuté en premier, ensuite le fichier main.py sera exécuté.

Il est possible de modifier la séquence de démarrage en plaçant la broche P12 (G28) au niveau haut (connectez la sur le broche 3V3) durant la phase de réinitialisation. Cette procédure permet également de revenir à une ancienne version du Firmware. Le LoPy/WiPy2 peut maintenir 3 versions différents du Firmware qui sont:

  • Le firmware d'usine
  • L'image précédente du Firmware
  • L'image actuelle du Firmware (celle exécutée au démarrage du WiPy2/Lopy)

Après le "Reset", si la broche P12 est maintenue au niveau haut, la LED heartbeat commence à clignoter lentement en orange. Si la broche est toujours maintenue au niveau haut après 3 secondes Alors la LED commence à clignoter un peu plus rapidement et le LoPy/WiPy2 sélectionnera la précédente image pour booter. Si c'est cette image que vous voulez utiliser alors relâchez la broche P12 avant que 3 autres secondes ne s'écoulent. Si après ce nouveau délai de 3 secondes la broche P12 est toujours au niveau haut Alors c'est le firmware d'usine qui est sélectionné (la LED clignote rapidement pendant une seconde et demi puis le WiPy2/Lopy procède au démarrage).

Le mécanisme de sélection du firmware est le suivant:

Broche "Safe Boot" P12 relâchée durant:

  • Les 3 premières secondes - Safe boot, dernier firmware sélectionné
  • Les 3 secondes suivantes - Safe boot, la mise-à-jour utilisateur précédente
  • La dernière seconde et demi - Safe boot, le firmware d'usine est sélectionné

Pour les trois scénarios ci-dessus, le mode "sans échec" (safe boot) est activé, ce qui signifie que l'exécution des deux fichiers boot.py et main.py sont suspendu. C'est pratique pour se sortie d'une situation bloquante/crash causée par un script utilisateur. La sélection faite durant le mode "Sans Echec" (safe boot) n'est pas persistant. Par conséquent, le dernier firmware est de nouveau exécuté après un redémarrage/Reset de la carte.

Il est possible de reformater la mémoire flash interne si vous rencontrez des problèmes avec le système de fichier.

Reset / Réinitialisation

La carte est équipé d'une méthode de réinitialisation matérielle (bouton "Reset") et réinitialisation logicielle (Soft Reset).

La réinitialisation logicielle efface tous les états de la machine virtuelle MicroPython MAIS laisse l'état matériel des périphériques non affecté. Pour faire une réinitialisation logicielle, pressez simplement la combinaison de touche Ctrl+D dans l'invite de commande REPL -OU- exécutez le code suivant:

>>> import sys
>>> sys.exit()

Un reset matériel revient à faire un faire un cycle d'alimentation (débrancher/rebrancher) de la carte. Pour faire un Reset matériel sur le LoPy ou WiPy2, presser le bouton "Reset" de la carte ou saisissez le code suivant:

>>> import machine
>>> machine.reset()

Réinitialisation du système de fichier

If you device’s filesystem gets corrupted (very unlikely, but possible), you can format it very easily by doing:

>>> import os
>>> os.mkfs('/flash')

Resetting the flash filesystem deletes all files inside the internal LoPy storage (not the SD card), and restores the files boot.py and main.py back to their original states after the next reset.

Gestion des interruptions

In Pycom’s ESP32 MicroPython port there are no restrictions on what you can do within an interrupt handler. For example, other ports don’t allow you to allocate memory inside the handler or use sockets.

These limitations were raised by handling the interrupt events differently. When an interrupt happens, a message is posted into a queue, notifying a separate thread that the appropriate callback handler should be called. Such handler would receive an argument. By default it is the object associated with the event.

The programmer can do whatever is needed inside the callback, such as creating new variables, or even sending network packets. Just keep in mind that interrupts are processed sequentially, so try to keep the handlers as quick as possible in order to attend them all in a short time.

Currently there are 2 classes supporting interrupts, there the [1] class and the Pin. Both classes provide the .callback() method that enables the interrupt and registers the given handler. More details about the usage along with examples can be found in their respective sections.

Tutoriels Pycom

Vous trouverez tous les tutoriels PyCom sur cette page:


Tutoriel PyCom Getting started (ESP_32) sous copyright de Damien George et contributeurs en ce qui concerne MicroPython et/ou PyCom en ce qui concerne les informations relatives a WiPy et LoPy.

Tutoriel traduit par Meurisse D. pour MCHobby.be

Traduit avec l'autorisation de micropython.org - Translated with the authorisation of micropython.org

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.