Différences entre versions de « Hack-wipy-generalite »

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
Ligne 111 : Ligne 111 :
 
{{traduction}}
 
{{traduction}}
  
You can override this boot sequence by pulling {{fname|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.
+
Vous pouvez altérer cette séquence de démarrage en plaçant la broche {{fname|GP28}} au niveau haut (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 {{fname|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, {{fname|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:
 
After reset, if {{fname|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, {{fname|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:

Version du 23 mai 2016 à 11:53


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.

Téléversez le fichier mcuimg.bin dans le répertoire /flash/sys/mcuimg.bin (ce qui prendra environ 6 secondes). Vous ne verrez pas le fichier stocké à l'intérieur du répertoire /flash/sys/ parce que stockage bypass le système de fichier (il se comporte donc comme un système de fichier interne caché). Assurez-vous que le fichier soit correctement transféré et qu'il à bien été signé avec le checksum MD5 (pour vérifier son intégrité).

Maintenant, réinitialisez votre WiPy à l'aide du bouton Reset de la carte ou en tapant les commandes suivantes:

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

Les mises à jour logicielle peuvent être trouvée sur https://github.com/wipy/wipy/releases (Binaries.zip). Il est toujours recommandé de faire une mise-à-jour à la dernière version logicielle, prenez néanmoins le temps de lire les "release notes" avant de procéder à la mise à jour.

Pour vérifier la version logicielle, faites:

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

Si le numéro de version est inférieur à celui de la dernière release trouvé sur releases alors vous pouvez réaliser une mise-à-jour de votre WiPy!

Boot Modes et Safe boot

Si vous alimentez votre WiPy normalement (ou pressez le bouton Reset) alors le WiPy démarre en mode Standard; le fichier boot.py est exécuté en premier puis le fichier main.py sera exécuté.

Vous pouvez altérer cette séquence de démarrage en plaçant la broche GP28 au niveau haut (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.