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:

Safe Boot Pin P12 released during:

  • Les 3 premières secondes - Safe boot, latest firmware is selected
  • Les 3 secondes suivantes - Safe boot, previous user update selected
  • La dernière seconde et demi - Safe boot, the factory firmware is selected

On all of the above 3 scenarios, safe boot mode is entered, meaning that the execution of both boot.py and main.py is skipped. This is useful to recover from crash situations caused by the user scripts. The selection made during safe boot is not persistent, therefore after the next normal reset the latest firmware will run again.

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

There are soft resets and hard resets. A soft reset simply clears the state of the MicroPython virtual machine, but leaves hardware peripherals unaffected. To do a soft reset, simply press Ctrl+D on the REPL, or within a script do:

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

A hard reset is the same as performing a power cycle to the board. In order to hard reset the LoPy, press the switch on the board or:

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