Hack-wipy-generalite

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.

Pas de support en virgule flottante

Pour des raisons d'espace mémoire, il n'y a pas de support pour les opérations en virgule flottante (floating point) ni de module math sur le WiPy.

Cela signifie qu'il n'est pas possible d'utiliser des nombres à virgule flottante dans le code. Toutes les divisions doivent dont être réalisée avec ‘//’ (division entière) à la place de ‘/’. Par exemple:

>>> r = 4 // 2  # fonctionnera parfaitement
>>> r = 4 / 2   # NE fonctionnera PAS

Avant de mettre sous tension

Config réseau (WLAN) par défaut

Lorsque le WiPy boot avec la configuration d'usine par défaut il est démarre en mode point d'accès (Access Point mode en anglais). Ce point d'accès dispose d'un ssid commençant avec wipy-wlan et la clé est www.wipy.io .

Connectez vous sur ce réseau et le WiPy est accessible à l'adresse 192.168.1.1 . Pour obtenir un accès à la ligne de commande interactive, ouvrez une session telnet sur cette adresse IP (utilisez 23 comme le port par défaut).

Le WiPy vous demandera de vous authentifier. Utilisez:

  • login: micro
  • Mot de passe: python

REPL Telnet

Le programme "telnet" disponible sur Linux fonctionnera comme un charme (aussi sous OSX) mais d'autres outils tels que putty fonctionnera également très bien.

Le authentification par défaut est:

  • Utilisateur: micro
  • Mot de passe: python

Voyez l'info sur network.server (micropython.org) pour obtenir plus d'information sur la façon de modifier cette configuration par défaut.

Par exemple, sur un shell Linux, vous pourriez utiliser la commande suivante (lorsque vous êtes connecté sur le WiPy en mode Access Point):

$ telnet 192.168.1.1

Système de fichier et accès FTP

Il y a un petit système de fichier interne sur le WiPy, un lecteur qui s'appelle /flash et qui est stocké dans la mémoire flash externe du WiPy. Si une carte microSD est raccordée et montée, elle sera également disponible.

Lorsque le WiPy démarre, il exécute toujours le fichier boot.py localisé dans le système de fichier /flash .

Le système de fichier est accessible par l'intermédiaire du serveur FTP natif fonctionnant sur le WiPy. Ouvrez le client FTP de votre choix et connectez vous sur:

Voyez network.server (micropython.org) pour plus d'information sur la façon de modifier ces valeurs par défaut.

Nous recommandons d'utiliser les clients FTP suivants:

  • Utilitaire FTP en ligne de commande (Linux, aussi disponible sur OSX)
  • Filezilla
  • FireFTP.

Par exemple, en ligne de commande Linux, vous pourriez utiliser:

$ ftp 192.168.1.1

Le serveur FTP de WiPy ne supporte pas le mode actif, il faut donc uniquement utiliser le mode passif (voyez l'article "FTP actif versus FTP Passif" sur le site de nicolargo). Si vous utilisez le client ftp sous linux, alors vous devez saisir la commande suivante juste après votre login ftp:

ftp> passive

Après cette commande, le serveur FTP acceptera uniquement une seule connexion à la fois. Vérifiez le paramétrage de FileZilla dans la section suivante pour plus d'information.

Configuration FileZilla

N'utilisez pas le bouton de "connexion rapide" (Quick Connect) de FileZilla. A la place, ouvrez le "Gestionnaire de sites" (site manager) et créez une nouvelle configuration.

Dans le volet Général, vérifiez que l'encryption est fixée sur Connexion FTP simple (non sécurisée) (Only use plain FTP (insecure)).

Hack-wipy-FileZilla-00.jpg

Dans le volet "Paramètres de transfert" (Transfer Settings) limitez le nombre de connexion simultanées à maximum 1 (sinon FileZilla essayera d'ouvrir une seconde connexion de commande pendant la réception et sauvegarde des fichiers). Pour simplifier le code (et la taille) sur WiPy, une seule connexion de commande et une seule connexion de donnée sont possibles.

Hack-wipy-FileZilla-01.jpg

Les autres clients FTP doivent être configurés de façon similaire.

Mise-à-jour du FirmWare

Il est possible de réaliser une mise-à-jour du Firmware "Over The Air" (OTA, mise-à-jour via une connexion WiFi) par l'intermédiaire du serveur FTP.

Upload the mcuimg.bin file to: /flash/sys/mcuimg.bin it will take around 6s. You won’t see the file being stored inside /flash/sys/ because it’s actually saved bypassing the user file system, so it ends up inside the internal hidden file system, but rest assured that it was successfully transferred, and it has been signed with a MD5 checksum to verify its integrity. Now, reset the WiPy by pressing the switch on the board, or by typing:

>>> import machine
>>> machine.reset()</nowiki>

Software updates can be found in: https://github.com/wipy/wipy/releases (Binaries.zip). It’s always recommended to update to the latest software, but make sure to read the release notes before.

In order to check your software version, do:

>>> import os
>>> os.uname().release</nowiki>

If the version number is lower than the latest release found in the releases, go ahead and update your WiPy!

Boot Modes et Safe boot

If you power up normally, or press the reset button, the WiPy will boot into standard mode; the boot.py file will be executed first, then main.py will run.

You can override this boot sequence by pulling GP28 up (connect it to the 3v3 output pin) during reset. This procedure also allows going back in time to old firmware versions. The WiPy can hold up to 3 different firmware versions, which are: the factory firmware plus 2 user updates.

After reset, if GP28 is held high, the heartbeat LED will start flashing slowly, if after 3 seconds the pin is still being held high, the LED will start blinking a bit faster and the WiPy will select the previous user update to boot. If the previous user update is the desired firmware image, GP28 must be released before 3 more seconds elapse. If 3 seconds later the pin is still high, the factory firmware will be selected, the LED will flash quickly for 1.5 seconds and the WiPy will proceed to boot. The firmware selection mechanism is as follows:

Safe Boot Pin GP28 realeased during:

  • 1st 3 secs window - Safe boot, latest firmware is selected
  • 2nd 3 secs window - Safe boot, previous user update selected
  • Final 1.5 secs window - 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.

La LED heartbeat

By default the heartbeat LED flashes once every 4s to signal that the system is alive. This can be overridden through the wipy module:

>>> import wipy
>>> wipy.heartbeat(False)</nowiki>

There are currently 2 kinds of errors that you might see:

  1. If the heartbeat LED flashes quickly, then a Python script (eg main.py) has an error. Use the REPL to debug it.
  2. If the heartbeat LED stays on, then there was a hard fault, you cannot recover from this, the only way out is to press the reset switch.


Détails sur les modes de mise en veille (sleep):

  • machine.idle() : Power consumption: ~12mA (in WLAN STA mode). Wake sources: any hardware interrupt (including systick with period of 1ms), no special configuration required.
  • machine.sleep() : 950uA (in WLAN STA mode). Wake sources are Pin, RTC and WLAN
  • machine.deepsleep() : ~5uA. Wake sources are Pin and RTC.

Tutoriel WiPy tutorials and examples & general information about WiPy 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 également avec l'accord de Daniel Compara (créateur de WiPy).

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.