Ligne 1 : |
Ligne 1 : |
− | {{traduction}}
| + | = Préambule = |
| + | [[Fichier:RShell-logo.jpg|480x]] |
| | | |
− | = Préambule =
| + | Voici une traduction libre de la documentation de l'outil RShell écrit par Dave Hylands. |
− | Voici une traduction libre de la documentation de l'outil RShell écrit par Daniel Hylands. | |
| | | |
| C'est un outil très intéressant pour réaliser des développements MicroPython, RShell fonctionne avec de nombreuses cartes MicroPython dont PyBoard, ESP8266, Teensy et toutes carte MicroPython ayant une invite REPL sur un port série. | | C'est un outil très intéressant pour réaliser des développements MicroPython, RShell fonctionne avec de nombreuses cartes MicroPython dont PyBoard, ESP8266, Teensy et toutes carte MicroPython ayant une invite REPL sur un port série. |
Ligne 8 : |
Ligne 8 : |
| C'est tellement génial que cela fonctionne même via une [[MicroPython-bluetooth|connexion Bluetooth série]]. | | C'est tellement génial que cela fonctionne même via une [[MicroPython-bluetooth|connexion Bluetooth série]]. |
| | | |
− | Il est aussi beaucoup plus complet que [[FEATHER-CHARGER-FICHIER-MICROPYTHON|Ampy]] (Adafruit), il faudra donc investir un peu plus de temps pour le maîtriser.
| + | RShell est aussi beaucoup plus complet que [[FEATHER-CHARGER-FICHIER-MICROPYTHON|Ampy]] (Adafruit), il faudra donc investir un peu plus de temps pour le maîtriser. Ses fonctionnalités avancées sauront se faire apprécier. |
| | | |
| Vous trouverez [https://github.com/dhylands/rshell RShell ici sur GitHub] | | Vous trouverez [https://github.com/dhylands/rshell RShell ici sur GitHub] |
| | | |
− | = RShell sur ESP8266 = | + | == Source & version == |
| + | Source: [https://github.com/dhylands/rshell RShell ici sur GitHub] |
| + | * Dec 13, 2016 - Traduction jusqu'à révision 480945c du Apr 30, 2016 |
| + | |
| + | == RShell sur ESP8266 == |
| | | |
| {{ambox-stop|text=Il est impératif de réduire la taille du buffer à 128 octets sur un ESP8266 sinon vous risquez d'écraser le système de fichier votre ESP8266... auquel cas il faudra reflasher votre carte}} | | {{ambox-stop|text=Il est impératif de réduire la taille du buffer à 128 octets sur un ESP8266 sinon vous risquez d'écraser le système de fichier votre ESP8266... auquel cas il faudra reflasher votre carte}} |
Ligne 18 : |
Ligne 22 : |
| <nowiki>rshell --port /dev/ttyUSB0 --baud 115200 --buffer-size 128 --editor nano</nowiki> | | <nowiki>rshell --port /dev/ttyUSB0 --baud 115200 --buffer-size 128 --editor nano</nowiki> |
| | | |
− | Nous avons également un petit script shell [https://github.com/mchobby/esp8266-upy/blob/master/rshell-esp8266.sh rsheel-esp8266.sh] pour faciliter faciliter le démarrage de rshell pour un esp8266. | + | Nous avons également un petit script shell [https://github.com/mchobby/esp8266-upy/blob/master/rshell-esp8266.sh rsheel-esp8266.sh] pour faciliter faciliter le démarrage de rshell pour un esp8266. |
| | | |
− | = RShell: Remote Shell for MicroPython = | + | == RShell sur ESP32 (M5Stack) == |
| | | |
| + | L'outil RShell ne détecte pas automatiquement le port série associé au M5Stack. Il sera donc nécessaire de le stipuler au lancement de RShell. |
| + | |
| + | <nowiki>rshell --port /dev/ttyUSB0 --editor nano</nowiki> |
| + | |
| + | Sur un système Linux, il est facile d'identifier le port série dans les messages envoyés par le noyaux Linux lors de la connexion de l'ESP32 sur un port USB. |
| + | |
| + | Brancher l'ESP32 / M5-Core puis exécuter la commande {{fname|dmesg}} dans un terminal pour collecter les messages de débogage. |
| + | |
| + | <nowiki>[441990.881362] usb 2-3.2: new full-speed USB device number 16 using xhci_hcd |
| + | [441990.983365] usb 2-3.2: New USB device found, idVendor=10c4, idProduct=ea60 |
| + | [441990.983368] usb 2-3.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 |
| + | [441990.983370] usb 2-3.2: Product: CP2104 USB to UART Bridge Controller |
| + | [441990.983371] usb 2-3.2: Manufacturer: Silicon Labs |
| + | [441990.983373] usb 2-3.2: SerialNumber: 01DB6B96 |
| + | [441990.984594] cp210x 2-3.2:1.0: cp210x converter detected |
| + | [441990.985755] usb 2-3.2: cp210x converter now attached to ttyUSB0</nowiki> |
| + | |
| + | il s'agit ici du port '''ttyUSB0''' et donc du périphérique '''/dev/ttyUSB0''' |
| + | |
| + | == RShell sur WiPy/WiPy2 == |
| + | Nous recommandons vivement de modifier le mot de passe et utilisateur par défaut de votre WiPy/WiPy 2. |
| + | |
| + | Voici des exemples concernant les plateformes WiPy et WiPy2. |
| + | |
| + | Exemple avec WiPy et WiPy 2: |
| + | <nowiki>rshell --port 192.168.2.200 --user micro --password python --editor nano</nowiki> |
| + | |
| + | = RShell: Shell distant pour MicroPython = |
| == Qu'est ce que RSHell? == | | == Qu'est ce que RSHell? == |
| Le shell distant (en ''remote'') pour MicroPython | | Le shell distant (en ''remote'') pour MicroPython |
Ligne 40 : |
Ligne 72 : |
| Le grand bénéfice de cette approche est de permettre le transfert de fichier et REPL par l'intermédiaire d'une simple connexion série (filaire, USB et '''Port-Série via Bluetooth''' [[MicroPython-bluetooth|comme décrit ici]]). | | Le grand bénéfice de cette approche est de permettre le transfert de fichier et REPL par l'intermédiaire d'une simple connexion série (filaire, USB et '''Port-Série via Bluetooth''' [[MicroPython-bluetooth|comme décrit ici]]). |
| | | |
− | == PC ou /flash ou /sdcard == | + | == PC ou /flash ou /sdcard ou /pyboard == |
| {{ambox|text=RShell utilise une notation particulière pour les échanges de fichiers.}} | | {{ambox|text=RShell utilise une notation particulière pour les échanges de fichiers.}} |
| | | |
− | Lorsque vous utilisez des commandes RShell, les répertoires {{fname|/flash}} et {{fname|/sdcard}} (si vous utilisez une carte SD) sont considérés comme étant sur la carte MicroPython. | + | Lorsque vous utilisez des commandes RShell, les répertoires {{fname|/flash}} et {{fname|/sdcard}} (si vous utilisez une carte SD) sont considérés comme étant sur la carte MicroPython. |
| + | |
| + | Dans certains cas, comme pour l'ESP8266, c'est le répertoire {{fname|/pyboard}} qu'il faut utiliser à la place de {{fname|/flash}}. En cas de doute, l'utilisation de la commande {{fname|boards}} permet de lister les cartes connectées (et répertoires distants associés). |
| | | |
| Tous les autres répertoires sont réputés être sur l'hôte (votre Ordinateur). | | Tous les autres répertoires sont réputés être sur l'hôte (votre Ordinateur). |
Ligne 184 : |
Ligne 218 : |
| Pour les débutants, nous recommandons l'usage de l'éditeur {{fname|nano}} plus abordable que 'vi'.</small> | | Pour les débutants, nous recommandons l'usage de l'éditeur {{fname|nano}} plus abordable que 'vi'.</small> |
| | | |
− | === Fichier de commandes RSheel === | + | === Fichier de commandes RShell === |
| -f NOM_FICHIER, --file NOM_FICHIER | | -f NOM_FICHIER, --file NOM_FICHIER |
| | | |
Ligne 249 : |
Ligne 283 : |
| rshell repl ~ pyb.bootloader() ~ | | rshell repl ~ pyb.bootloader() ~ |
| | | |
− | == Système de fichier de RShell == | + | == Le système de fichier de RShell == |
− | {{traduction}} | + | RShell est capable de se connecter sur plusieurs cartes en même temps. Il utilise des noms différents pour identifier chaque carte PyBoard. |
| + | |
| + | Si la carte embarque un module board (un fichier nommé {{fname|board.py}} comme sur la carte PyBoard) et qu'il contient un attribut appelé {{fname|name}} alors la carte utilisera ce nom! |
| + | |
| + | Si le module {{fname|board}} ne peut pas être importé alors la carte sera nommée "pyboard" ou "wipy". Le nom sera accompagné de -1 (ou un autre nombre) de façon à avoir un nom unique pour chaque carte. |
| | | |
− | rshell can be connected to multiple pyboards simultaneously. If the
| + | Vous pouvez avoir accès à la mémoire flash interne de la première carte connectée en utilisant le {{fname|/flash}} et à la carte SD de la première carte connectée en utilisant {{fname|/sd}}. |
− | board module exists on the pyboard (i.e. a file named board.py somewhere
| |
− | in the module search path) and it contains an attribute called name then
| |
− | the pyboard will use that name. If the board module can't be imported
| |
− | then the board will be named, pyboard or wipy. Names will have -1 (or
| |
− | some other number) to make the board name unique.
| |
| | | |
− | You can access the internal flash on the first board connected using
| + | Pour toutes les autres cartes connectées sur RShell, vous pouvez utiliser {{fname|/nom-de-carte/flash}} ou {{fname|/nom-de-carte/sd}} |
− | /flash and the sd card on the first board connected can be accessed | |
− | using /sd.
| |
| | | |
− | For all other connected pyboards, you can use /board-name/flash or
| + | Vous pouvez utiliser la commande {{fname|boards}} pour identifier tous les cartes connectées et leur ''nom-de-carte''. |
− | /board-name/sd (you can see the board names using the boards command).
| |
| | | |
− | The boards command will show all of the connected pyboards, along with all of
| + | La commande {{fname|boards}} présente toutes les carte connectés avec le répertoire d'accès (port série) correspondant à la carte. |
− | the directories which map onto that pyboard.
| |
| | | |
| == Commandes == | | == Commandes == |
| + | Voici une liste des commandes que vous pouvez utiliser dans RShell. |
| | | |
| === args === | | === args === |
| args [arguments...] | | args [arguments...] |
| | | |
− | Debug function for verifying argument parsing. This function just prints
| + | Fonction de débogage utilisé pour pour vérifier le ''parsing'' des arguments dans l'interpréteur RShell. Cette fonction affiche chacun des arguments reçu par la commande. |
− | out each argument that it receives.
| |
| | | |
| === boards === | | === boards === |
| boards | | boards |
| | | |
− | Lists all of the boards that rshell is currently connected to, their
| + | Liste/affiche toutes les cartes actuellement connectés sur RSHell, leurs nomst et point de connexion. |
− | names, and the connection.
| + | |
| + | Voici un exemple de résultat (avec un carte Feather Huzzah ESP8266 sous MicroPython): |
| + | |
| + | [[Fichier:MicroPython-Hack-RShell-boards.png]] |
| | | |
| === cat === | | === cat === |
| cat FILENAME... | | cat FILENAME... |
| | | |
− | Concatinates files and sends to stdout.
| + | Concatène les fichier et envoi le contenu sur stdout. |
| + | |
| + | <small>{{underline|Note de MCHobby:}}<br /> |
| + | A l'identique de la commande {{fname|cat}} sur Linux, elle permet d'afficher le contenu d'un fichier sur l'écran (la sortie standard aussi dite ''stdout'').</small> |
| | | |
| === cd === | | === cd === |
− | cd DIRECTORY | + | cd REPERTOIRE |
| | | |
− | Changes the current directory. ~ expansion is supported, and cd - goes
| + | Chanqe le répertoire courant de RShell. L'extension ~ est supportée et {{fname|cd -}} permet de revenir au répertoire précédent. |
− | to the previous directory.
| |
| | | |
| === connect === | | === connect === |
| connect TYPE TYPE_PARAMS | | connect TYPE TYPE_PARAMS |
− | connect serial port [baud] | + | connect serial port-serie [baud] |
− | connect telnet ip-address-or-name | + | connect telnet adresse-ip-OU-nom |
| | | |
− | Connects a pyboard to rshell. rshell can be connected to multiple
| + | Connecte une carte sur RShell. rshell est capable de se connecter sur plusieurs PyBoard simultanément. |
− | pyboards simultaneously.
| |
| | | |
| === cp === | | === cp === |
− | cp SOURCE DEST | + | cp SOURCE DESTINATION |
− | cp SOURCE... DIRECTORY | + | cp SOURCE... REPERTOIRE |
| | | |
− | Copies the SOURCE file to DEST. DEST may be a filename or a directory
| + | Copie le fichier SOURCE vers la DESTINATION. |
− | name. If more than one source file is specified, then the destination
| + | |
− | should be a directory.
| + | DESTINATION peut-être le nom d'un fichier ou le nom d'un répertoire. Si plus d'une SOURCE est spécifiée alors la DESTINATION devrait être un répertoire. |
| + | |
| + | <small>{{underline|Note de MCHobby:}}<br /> |
| + | C'est la commande {{fname|cp}} vous permettra de transférer des fichiers entre votre ordinateur et votre/vos carte(s) MicroPython.</small> |
| | | |
| === echo === | | === echo === |
− | echo TEXT... | + | echo TEXTE... |
| | | |
− | Display a line of text.
| + | Affiche une ligne de texte. |
| | | |
| === edit === | | === edit === |
− | edit filename | + | edit nom-du-fichier |
| + | |
| + | Permet d'éditer un fichier dans l'éditeur configuré dans RShell. |
| | | |
− | If the file is on a pyboard, it copies the file to host, invokes an
| + | Si le fichier est sur une carte MicroPython ALORS: |
− | editor and if any changes were made to the file, it copies it back to
| + | # Le fichier est copié sur l'hôte, |
− | the pyboard.
| + | # L'éditeur est invoqué, |
| + | # Et si le fichier à été modifié |
| + | ## le fichier modifié est renvoyé vers la carte MicroPython. |
| | | |
− | The editor which is used defaults to vi, but can be overridem using
| + | L'éditeur par défaut est '''vi''' mais peut être mais peut être modifié en utilisant l'option --editor en ligne de commande. Vous pouvez également modifier l'éditeur par défaut en utilisant l'une des variables d'environnement suivantes RSHELL_EDITOR, VISUAL ou EDITOR (ces variables sont testées dans l'ordre indiqué). |
− | either the --editor command line option when rshell.py is invoked, or by
| |
− | using the RSHELL\_EDITOR, VISUAL or EDITOR environment variables (they
| |
− | are tried in the order listed).
| |
| | | |
| === filesize === | | === filesize === |
| filesize FILE | | filesize FILE |
| | | |
− | Prints the size of the file, in bytes. This function is primarily
| + | Affiche la taille du fichier (en bytes/octets). ''Cette commande est en cours d'évaluatation''. |
− | testing.
| |
| | | |
| === filetype === | | === filetype === |
− | filetype FILE | + | filetype FICHIER |
| | | |
− | Prints the type of file (dir or file). This function is primarily for
| + | Affiche le type de fichier: '''dir''' pour répertoire ou '''file''' pour fichier. ''Cette commande est en cours d'évaluation''. |
− | testing.
| |
| | | |
| === help === | | === help === |
− | help [COMMAND] | + | help [COMMANDE] |
| | | |
− | List available commands with no arguments, or detailed help when a
| + | Affiche une liste des commandes disponible (sans argument), ou affiche une aide détaillée su un COMMANDE est spécifiée en paramètre. |
− | command is provided.
| |
| | | |
| === ls === | | === ls === |
− | Utilisation:
| + | ls [-a] [-l] FICHIER... |
− | | |
− | ls [-a] [-l] FILE... | |
| | | |
− | List directory contents.
| + | Affiche le contenu d'un répertoire. |
| | | |
− | positional arguments:
| + | Arguments positionnels: |
− | FILE Files or directories to list
| + | * '''FICHIER''' : Fichiers ou répertoires à lister |
| | | |
− | optional arguments:
| + | Arguments optionnels: |
− | -h, --help show this help message and exit
| + | * '''-h, --help''' : Affiche ce message d'aide puis rend la main. |
− | -a, --all do not ignore hidden files
| + | * '''-a, --all''' : Affiche tous les fichiers (y compris les fichiers cachés) |
− | -l, --long use a long listing format
| + | * '''-l, --long''' : Utilise le format long de type "listing" |
| | | |
| === mkdir === | | === mkdir === |
− | mkdir DIRECTORY... | + | mkdir REPERTOIRE... |
| | | |
− | Creates one or more directories.
| + | Crée un ou plusieurs répertoires. |
| | | |
| === repl === | | === repl === |
− | repl [board-name] [~ line][ ~] | + | repl [nom-de-la-carte] [~ ligne][ ~] |
| | | |
− | Enters into the regular REPL with the MicroPython board. Use Control-X
| + | Entre en mode REPL standard avec la carte MicroPython. |
− | to exit REPL mode and return the shell. It may take a second or two
| |
− | before the REPL exits.
| |
| | | |
− | If you provide a board-name then rshell will connect to that board,
| + | Utilisez Control-X pour sortir du mode REPL et revenir au shell. La carte MicroPython peut avoir besoin d'une seconde ou deux pour sortie du mode REPL. |
− | otherwise it will connect to the default board (first connected board).
| |
| | | |
− | If you provide a tilde followed by a space (~ ) then anything after the
| + | Si ''nom-de-la-carte'' est fournit en argument alors RShell essaye de se connecter sur cette carte. A défaut, RShell se connecte sur la la première carte connectée. |
− | tilde will be entered as if you typed it on the command line.
| |
| | | |
− | If you want the repl to exit, end the line with the ~ character.
| + | Si la ligne de commande contient un caractère tilde suivit d'un espace (~ ) alors tout ce qui se trouve après le tilde est envoyé vers REPL comme si vous l'aviez saisit au clavier dans la session REPL. |
| | | |
− | For example, you could use:
| + | Si vous voulez sortir de REPL alors terminé votre ligne par le caractère tilde (~). |
| + | |
| + | Par exemple, vous pouvez saissir: |
| | | |
| rshell.py repl ~ pyb.bootloader()~ | | rshell.py repl ~ pyb.bootloader()~ |
| | | |
− | and it will boot the pyboard into DFU.
| + | Ce qui aura pour effet de démarrer la carte en mode DFU (''Device Firmware Update''). |
| | | |
| === rm === | | === rm === |
− | Removes files or directories (directories must be empty).
| + | rm [-r|--recursive][-f|--force] FICHIER... |
− | | |
− | rm [-r|--recursive][-f|--force] FILE... | |
| | | |
| + | Efface un fichier ou un répertoire du système de fichier (les répertoires doivents être vides). |
| | | |
− | positional arguments:
| + | Argument positionnel: |
− | FILE File to remove
| + | * '''FICHIER''' : Fichier ou répertoire à effacer |
| | | |
− | optional arguments:
| + | Arguments optionnels: |
− | -h, --help show this help message and exit
| + | * '''-h, --help''' : Affiche le message d'aide (en anglais) et termine l'exécution |
− | -r, --recursive remove directories and their contents recursively
| + | * '''-r, --recursive''' : Efface récursivement les répertoires et leurs contenus |
− | -f, --force ignore nonexistant files and arguments
| + | * '''-f, --force''' : Ignore les fichier existant (et arguments inexistants) |
| | | |
| === shell === | | === shell === |
− | The shell command can also be abbreviated using the exclamation point.
| + | shell commande-shell |
| + | !commande-shell |
| | | |
− | shell some-command
| + | Ceci invoke une commande dans le shell de votre système d'exploitation puis rend la main à RShell. |
− | !some-command
| |
| | | |
− | This will invoke a command, and return back to rshell. Example:
| + | La commande {{fname|shell}} peut être remplacée par son abréviation {{fname|!}}. |
| | | |
| + | Exemple: |
| !make deploy | | !make deploy |
| | | |
− | will flash the pyboard.
| + | Dans l'exemple ci-dessus, l'utilitaire {{fname|make}} est appelé avec l'argument ''deploy'' dans le shell du système d'exploitation. Cela permet, en autre, de pouvoir flasher une carte PyBoard. |